trainbr
베이즈 정규화 역전파
설명
net.trainFcn = 'trainbr'은 신경망의 trainFcn 속성을 설정합니다.
[은 trainedNet,tr] = train(net,...)trainbr을 사용하여 신경망을 훈련시킵니다.
trainbr은 Levenberg-Marquardt 최적화 알고리즘에 따라 가중치와 편향 값을 업데이트하는 신경망 훈련 함수입니다. 이 함수는 제곱 오차, 가중치, 편향의 결합을 최소화한 다음 일반화가 잘 되는 신경망을 생성하는 올바른 결합을 결정합니다. 이 과정을 베이즈 정규화라고 부릅니다.
아래에 디폴트 값과 함께 표시된 다음의 trainbr 훈련 파라미터에 따라 훈련이 이루어집니다.
net.trainParam.epochs— 훈련할 최대 Epoch 횟수. 디폴트 값은 1000입니다.net.trainParam.goal— 성능 목표. 디폴트 값은 0입니다.net.trainParam.mu— Marquardt 조정 파라미터. 디폴트 값은 0.005입니다.net.trainParam.mu_dec—mu의 감소 인자. 디폴트 값은 0.1입니다.net.trainParam.mu_inc—mu의 증가 인자. 디폴트 값은 10입니다.net.trainParam.mu_max— mu의 최댓값. 디폴트 값은1e10입니다.net.trainParam.max_fail— 최대 검증 실패 횟수. 디폴트 값은0입니다.net.trainParam.min_grad— 최소 성능 기울기. 디폴트 값은1e-7입니다.net.trainParam.show— 다음 표시까지 진행할 Epoch 횟수(표시하지 않으려면NaN). 디폴트 값은 25입니다.net.trainParam.showCommandLine— 명령줄 출력값 생성. 디폴트 값은false입니다.net.trainParam.showWindow— 훈련 GUI 표시. 디폴트 값은true입니다.net.trainParam.time— 훈련을 진행할 최대 시간(단위: 초). 디폴트 값은inf입니다.
검증 중지 파라미터는 최적의 오차 및 가중치 결합을 찾을 때까지 훈련이 진행되도록 기본적으로 비활성화되어 있습니다(max_fail = 0). 그러나 max_fail을 6 또는 그 밖의 순양수 값으로 설정하여 검증을 활성화하면 비교적 짧은 훈련 시간에도 어느 정도의 가중치/편향 최소화를 달성할 수 있습니다.
예제
입력 인수
출력 인수
제한 사항
이 함수는 성능을 평균제곱오차 또는 오차제곱합이라고 가정하는 야코비 행렬을 계산에 사용합니다. 따라서 이 함수를 사용하여 훈련된 신경망은 mse 또는 sse 성능 함수를 사용해야 합니다.
세부 정보
알고리즘
trainbr은 신경망의 가중치, 순 입력값, 전달 함수가 도함수를 갖는 한 어떤 신경망도 훈련시킬 수 있습니다.
베이즈 정규화는 제곱 오차와 가중치의 선형 결합을 최소화합니다. 또한, 훈련을 마쳤을 때 결과로 나오는 신경망이 양질의 일반화 특성을 갖도록 선형 결합을 수정합니다. 베이즈 정규화에 대한 자세한 내용은 MacKay(Neural Computation, Vol. 4, No. 3, 1992, pp. 415 to 447)와 Foresee and Hagan(Proceedings of the International Joint Conference on Neural Networks, June, 1997)을 참조하십시오.
이 베이즈 정규화는 Levenberg-Marquardt 알고리즘 내에서 이루어집니다. 역전파는 가중치와 편향 변수 X에 대한 성능 perf의 야코비 행렬 jX을 계산하기 위해 사용됩니다. 각 변수는 Levenberg-Marquardt 알고리즘에 따라 조정됩니다.
jj = jX * jX je = jX * E dX = -(jj+I*mu) \ je
여기서 E는 모든 오차이고 I는 단위 행렬입니다.
위에서 보여진 변경의 결과로 성능 값이 감소될 때까지 조정 값 mu는 mu_inc만큼 증가합니다. 그런 다음 변경이 신경망에 적용되고, mu가 mu_dec만큼 감소됩니다.
다음 조건 중 하나라도 충족되면 훈련이 중지됩니다.
epochs(반복)의 최대 횟수에 도달함.time의 최대 값이 초과됨.성능이
goal로 최소화됨.성능 기울기가
min_grad아래로 떨어짐.mu가mu_max를 초과함.
참고 문헌
[1] MacKay, David J. C. "Bayesian interpolation." Neural computation. Vol. 4, No. 3, 1992, pp. 415–447.
[2] Foresee, F. Dan, and Martin T. Hagan. "Gauss-Newton approximation to Bayesian learning." Proceedings of the International Joint Conference on Neural Networks, June, 1997.
버전 내역
R2006a 이전에 개발됨