Main Content

신경망 시계열

동적 신경망을 사용하여 비선형 시계열 문제 풀기

설명

신경망 시계열 앱을 사용하면 동적 신경망을 만들고 시각화하고 훈련시켜 3가지 종류의 비선형 시계열 문제를 풀 수 있습니다.

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

  • 3가지 유형의 신경망, 즉 NARX 신경망, NAR 신경망, 비선형 입력-출력 신경망 만들기.

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

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

  • 신경망 정의 및 훈련.

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

  • 자기상관 플롯 또는 오차의 히스토그램과 같은 시각화 플롯을 사용하여 결과 분석.

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

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

참고

딥러닝 신경망을 대화형 방식으로 구축하고 시각화하고 훈련시키려면 심층 신경망 디자이너 앱을 사용하십시오. 자세한 내용은 심층 신경망 디자이너 시작하기 항목을 참조하십시오.

Neural Net Time Series app

신경망 시계열 앱 열기

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

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

알고리즘

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

훈련 알고리즘설명
Levenberg-Marquardt

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

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

베이즈 정규화

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

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

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

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

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