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 함수를 사용합니다.