narnet
비선형 자기회귀 신경망
설명
narnet(
은 다음과 같은 인수를 받습니다.feedbackDelays
,hiddenSizes
,feedbackMode
,trainFcn
)
증가하는 0 또는 양의 피드백 지연으로 구성된 행 벡터
feedbackDelays
하나 이상의 은닉 계층 크기로 구성된 행 벡터
hiddenSizes
피드백 유형
feedbackMode
훈련 함수
trainFcn
NAR 신경망을 반환합니다.
NAR(비선형 자기회귀) 신경망은 시계열의 과거 값으로부터 그 시계열을 예측하도록 훈련시킬 수 있습니다.
예제
NAR 신경망을 훈련시키고 새 데이터에 대해 예측하기
NAR(비선형 자기회귀) 신경망을 훈련시키고 새 시계열 데이터에 대해 예측을 수행합니다. 시계열의 값 시퀀스를 예측하는 것을 다중 스텝 예측이라고도 합니다. 폐루프 신경망은 다중 스텝 예측을 수행할 수 있습니다. 폐루프 신경망은 외부 피드백이 없을 때 내부 피드백을 사용하여 계속해서 예측을 수행할 수 있습니다. NAR 예측에서 미래의 시계열 값은 그 시계열의 과거 값만 사용해 예측됩니다.
간단한 시계열 예측 데이터를 불러옵니다.
T = simplenar_dataset;
NAR 신경망을 만듭니다. 피드백 지연과 은닉 계층의 크기를 정의합니다.
net = narnet(1:2,10);
preparets
를 사용하여 시계열 데이터를 준비합니다. 이 함수는 입력 시계열 및 목표 시계열을 필요한 스텝 개수만큼 자동으로 이동하여 초기 입력 및 계층 지연 상태를 채웁니다.
[Xs,Xi,Ai,Ts] = preparets(net,{},{},T);
개루프에서 신경망을 완전히 생성한 다음, 향후 다중 스텝 사전 예측을 위한 폐루프로 변환하는 것이 좋습니다. 그러면 폐루프 신경망에서 원하는 만큼의 많은 미래 값을 예측할 수 있습니다. 폐루프 모드에서만 신경망을 시뮬레이션하면 신경망은 입력 시계열의 시간 스텝 수만큼 예측을 수행할 수 있습니다.
NAR 신경망을 훈련시킵니다. train
함수는 검증 및 테스트 단계를 포함해 개루프(직렬-병렬 아키텍처)에서 신경망을 훈련시킵니다.
net = train(net,Xs,Ts,Xi,Ai);
훈련된 신경망을 표시합니다.
view(net)
신경망 입력값 Xs
, 초기 입력 상태 Xi
및 초기 계층 상태 Ai
를 사용해 개루프 신경망의 신경망 출력값 Y
, 최종 입력 상태 Xf
및 최종 계층 상태 Af
를 계산합니다.
[Y,Xf,Af] = net(Xs,Xi,Ai);
신경망 성능을 계산합니다.
perf = perform(net,Ts,Y)
perf = 1.0100e-09
이후의 20개의 시간 스텝에 대한 출력값을 예측하려면 먼저 폐루프 모드에서 신경망을 시뮬레이션합니다. 개루프 신경망 net
의 마지막 입력 상태 Xf
와 계층 상태 Af
는 폐루프 신경망 netc
의 초기 입력 상태 Xic
와 계층 상태 Aic
가 됩니다.
[netc,Xic,Aic] = closeloop(net,Xf,Af);
폐루프 신경망을 표시합니다. 이 신경망에는 입력값이 하나만 있습니다. 폐루프 모드에서는 이 입력값이 출력값에 연결됩니다. 지연된 목표 입력값은 지연된 직접 출력 연결로 대체됩니다.
view(netc)
향후 20개의 시간 스텝에 대해 신경망을 시뮬레이션하려면 길이가 20인 빈 셀형 배열을 입력하십시오. 신경망에는 Xic
와 Aic
로 주어지는 초기 조건만 필요합니다.
Yc = netc(cell(0,20),Xic,Aic)
Yc=1×20 cell array
{[0.8346]} {[0.3329]} {[0.9084]} {[1.0000]} {[0.3190]} {[0.7329]} {[0.9801]} {[0.6409]} {[0.5146]} {[0.9746]} {[0.9077]} {[0.2807]} {[0.8651]} {[0.9897]} {[0.4093]} {[0.6838]} {[0.9976]} {[0.7007]} {[0.4311]} {[0.9660]}
입력 인수
feedbackDelays
— 피드백 지연
[1:2]
(디폴트 값) | 행 벡터
0 또는 양의 피드백 지연으로, 증가하는 행 벡터로 지정됩니다.
hiddenSizes
— 은닉 크기
10
(디폴트 값) | 행 벡터
은닉 계층의 크기로, 하나 이상의 요소로 구성된 행 벡터로 지정됩니다.
feedbackMode
— 피드백 모드
'open'
(디폴트 값) | 'closed'
| 'none'
피드백 유형으로, 'open'
, 'closed'
또는 'none'
으로 지정됩니다.
trainFcn
— 훈련 함수 이름
'trainlm'
(디폴트 값) | 'trainbr'
| 'trainbfg'
| 'trainrp'
| 'trainscg'
| ...
훈련 함수 이름으로, 다음 중 하나로 지정됩니다.
훈련 함수 | 알고리즘 |
---|---|
'trainlm' | Levenberg-Marquardt |
'trainbr' | 베이즈 정규화 |
'trainbfg' | BFGS 준뉴턴 |
'trainrp' | 탄력적 역전파 |
'trainscg' | 스케일링된 켤레 기울기 |
'traincgb' | Powell/Beale 재시작 알고리즘을 사용한 켤레 기울기 |
'traincgf' | Fletcher-Powell 켤레 기울기 |
'traincgp' | Polak-Ribiére 켤레 기울기 |
'trainoss' | 1스텝 할선법 |
'traingdx' | 가변 학습률 경사하강법 |
'traingdm' | 모멘텀을 사용한 경사하강법 |
'traingd' | 경사하강법 |
예: 예를 들어, 'traingdx'
와 같이 훈련 알고리즘으로 가변 학습률 경사하강법 알고리즘을 지정할 수 있습니다.
훈련 함수에 대한 자세한 내용은 얕은 다층 신경망 훈련시키고 적용하기 및 다층 신경망 훈련 함수 선택하기 항목을 참조하십시오.
데이터형: char
버전 내역
R2010b에 개발됨
참고 항목
preparets
| removedelay
| timedelaynet
| narxnet
| closeloop
| network
| train
| openloop
도움말 항목
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)