Matlab ANN人工神经网络 validation checks
生活随笔
收集整理的這篇文章主要介紹了
Matlab ANN人工神经网络 validation checks
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?bp網絡設置如下:
%創建網絡 % logsig:對數S形轉移函數,單極性;tansig: 雙極性S形轉移函數;purelin:線性函數 % traingdx :梯度下降自適應學習率訓練函數,traingdm,trainlm, trainscg 這些是權值的學習算法 % traingdm是帶動量的梯度下降法,trainlm是指L-M優化算法,trainscg是指量化共軛梯度法 net=newff(minmax(p1),[8, 15, 12, 1],{'tansig', 'tansig','tansig','purelin'},'trainlm'); %設置訓練次數 net.trainParam.epochs = 600; %設置收斂誤差 net.trainParam.goal=0.0001; %設置學習率 net.trainParam.lr = 0.003 ; %設置動量因子,避免局部最優和過擬合 net.trainParam.mc=0.9; %最小確認失敗次數 net.trainParam.max_fail=6; %設置訓練數據 比例:訓練:驗證:測試 net.divideFcn = 'divideblock' ; net.divideParam.trainRatio = 0.7; net.divideParam.valRatio = 0.15; net.divideParam.testRatio = 0.15;?? 對上述bp神經網絡進行訓練的時候,訓練結果還沒有達到目標的精度,就由于validation checks的值達到了6而停止了進一步的訓練,如下圖:
? ? 神經網絡的樣本默認情況下會將樣本隨即分為3類:訓練樣本,確認樣本和測試樣本。
? ? 確認檢查值默認是6,它的意思是指隨著網絡利用訓練樣本進行訓練的過程中,確認樣本的誤差曲線連續6次迭代不再下降。這時訓練終止(這只是訓練終止條件之一,滿足任一終止條件,訓練過程都將終止)。
? ? 深層含義你可以這樣理解,如果隨著網絡的訓練,確認樣本的誤差已經基本不在減小,甚至增大,那么就沒有必要再去訓練網絡了,因為繼續訓練下去的話,在利用測試樣本進行測試網絡的話,測試樣本的誤差將同樣不會有所改善,甚至會出現過度擬合的現象。
? ? 根據《matlab人工神經網絡參數》的提示,可以通過下面的設置來改變Validation Checks的值
net.trainParam.max_fail=100; % 最小確認失敗次數?
參考資料
[1]請教:Matlab 7.8 BP網絡訓練時validation checks 6 退出訓練問題
[2]求助:有人懂validation check嗎
總結
以上是生活随笔為你收集整理的Matlab ANN人工神经网络 validation checks的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CNN 卷积神经网络(卷积、池化)长度、
- 下一篇: Docker挂载主机目录Docker访问