Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

신경망 피팅

2계층 피드포워드 신경망을 사용하여 피팅 문제 풀기

설명

신경망 피팅 앱을 사용하면 2계층 피드포워드 신경망을 만들고 시각화하고 훈련시켜 데이터 피팅 문제를 풀 수 있습니다.

이 앱을 사용하여 다음을 수행할 수 있습니다.

  • 파일이나 MATLAB® 작업 공간에서 데이터를 가져오거나 예제 데이터 세트 중 하나 사용.

  • 데이터를 훈련 세트, 검증 세트, 테스트 세트로 분할.

  • 신경망 정의 및 훈련.

  • 평균 제곱 오차와 회귀 분석을 사용하여 신경망 성능 평가.

  • 회귀 피팅 또는 오차의 히스토그램과 같은 시각화 플롯을 사용하여 결과 분석.

  • 결과를 다시 생성하고 훈련 과정을 사용자 지정하는 MATLAB 스크립트 생성.

  • MATLAB Compiler™MATLAB Coder™ 툴과 함께 배포하기에 적절한 함수를 생성하고, Simulink® Coder에서 사용할 수 있도록 Simulink로 내보내기.

Neural Net Fitting app

신경망 피팅 앱 열기

  • MATLAB 툴스트립: 탭의 머신러닝 및 딥러닝에서 앱 아이콘을 클릭합니다.

  • MATLAB 명령 프롬프트: nftool을 입력합니다.

알고리즘

신경망 피팅 앱은 신경망을 훈련시키는 데 사용할 수 있는 기본 제공 훈련 알고리즘을 제공합니다.

훈련 알고리즘설명
Levenberg-Marquardt

Levenberg-Marquardt 최적화 알고리즘에 따라 가중치와 편향 값을 업데이트합니다. Levenberg-Marquardt 훈련은 다른 기법보다 더 많은 메모리가 필요하지만, 가장 빠른 훈련 알고리즘인 경우가 많습니다.

이 알고리즘을 구현하기 위해 신경망 피팅 앱은 trainlm 함수를 사용합니다.

베이즈 정규화

베이즈 정규화는 Levenberg-Marquardt 최적화 알고리즘에 따라 가중치와 편향 값을 업데이트합니다. 그런 다음 제곱 오차와 가중치의 결합을 최소화하고 일반화가 잘 되는 신경망을 생성하는 올바른 결합을 결정합니다. 이 알고리즘은 일반적으로 더 오래 걸리지만, 잡음이나 작은 데이터 세트에 대해 일반화하는 데 좋습니다.

이 알고리즘을 구현하기 위해 신경망 피팅 앱은 trainbr 함수를 사용합니다.

스케일링된 켤레 기울기 역전파

스케일링된 켤레 기울기 역전파는 스케일링된 켤레 기울기법에 따라 가중치와 편향 값을 업데이트합니다. 규모가 큰 문제의 경우, Levenberg-Marquardt 또는 베이즈 정규화에서 사용하는 야코비 행렬 계산보다 메모리 효율이 높은 기울기 계산을 사용한다는 점에서 스케일링된 켤레 기울기(Scaled Conjugate Gradient)를 사용하는 것이 좋습니다.

이 알고리즘을 구현하기 위해 신경망 피팅 앱은 trainscg 함수를 사용합니다.