trainscg
스케일링된 켤레 기울기 역전파
설명
net.trainFcn = 'trainscg'
는 신경망의 trainFcn
속성을 설정합니다.
[
은 trainedNet
,tr
] = train(net
,...)trainscg
를 사용하여 신경망을 훈련시킵니다.
trainscg
는 스케일링된 켤레 기울기법에 따라 가중치와 편향 값을 업데이트하는 신경망 훈련 함수입니다.
아래에 디폴트 값과 함께 표시된 다음의 trainscg
훈련 파라미터에 따라 훈련이 이루어집니다.
net.trainParam.epochs
— 훈련할 최대 Epoch 횟수. 디폴트 값은 1000입니다.net.trainParam.show
— 다음 표시까지 진행할 Epoch 횟수(표시하지 않으려면NaN
). 디폴트 값은 25입니다.net.trainParam.showCommandLine
— 명령줄 출력값 생성. 디폴트 값은false
입니다.net.trainParam.showWindow
— 훈련 GUI 표시. 디폴트 값은true
입니다.net.trainParam.goal
— 성능 목표. 디폴트 값은 0입니다.net.trainParam.time
— 훈련을 진행할 최대 시간(단위: 초). 디폴트 값은inf
입니다.net.trainParam.min_grad
— 최소 성능 기울기. 디폴트 값은1e-6
입니다.net.trainParam.max_fail
— 최대 검증 실패 횟수. 디폴트 값은6
입니다.net.trainParam.mu
— Marquardt 조정 파라미터. 디폴트 값은 0.005입니다.net.trainParam.sigma
— 2계 도함수 근사에 대한 가중치 변경 판별. 디폴트 값은5.0e-5
입니다.net.trainParam.lambda
— 헤세 행렬의 부정부호 여부를 규정하는 파라미터. 디폴트 값은5.0e-7
입니다.
예제
입력 인수
출력 인수
세부 정보
알고리즘
trainscg
는 신경망의 가중치, 순 입력값, 전달 함수가 도함수를 갖는 한 어떤 신경망도 훈련시킬 수 있습니다. 역전파는 가중치와 편향 변수 X
에 대한 성능 perf
의 도함수를 계산하기 위해 사용됩니다.
스케일링된 켤레 기울기 알고리즘은 traincgp
, traincgf
, traincgb
에서와 마찬가지로 켤레 방향을 기반으로 하지만, 각 반복에서 직선 탐색을 수행하지 않습니다. 스케일링된 켤레 기울기 알고리즘에 대한 자세한 내용은 Moller(Neural Networks, Vol. 6, 1993, pp. 525–533)를 참조하십시오.
다음 조건 중 하나라도 충족되면 훈련이 중지됩니다.
epochs
(반복)의 최대 횟수에 도달함.time
의 최대 값이 초과됨.성능이
goal
로 최소화됨.성능 기울기가
min_grad
아래로 떨어짐.(검증을 사용하는 경우) 검증 성능(검증 오류)이 마지막으로 감소한 이후로
max_fail
배 넘게 증가함.
참고 문헌
[1] Moller. Neural Networks, Vol. 6, 1993, pp. 525–533
버전 내역
R2006a 이전에 개발됨