在談論改善模型之前,首先一點是要考慮資料問題。
在資料ok的情況下,我們按照吳恩達老師的建議來改善模型。
如果誤差過高,我們首先可以考慮把我們現有的神經網路深度加深,以及新增更多的神經元,或許能夠改善學習效果。我們也可以考慮迭代更多的epoch,我們也可以對學習率做出調整,往往更小的學習率能有更好的效果。如果這些策略都不行,那我們可能需要考慮換乙個深度學習方法了。
如果驗證集誤差比較高,我們可以考慮多增加一些正則化項。l2正則化,dropout等等。我們是否使用了資料增強?通常使用資料增強可以一定程度改善學習效果,增加泛化能力。
也有可能是你的模型訓練資料不夠,沒能夠學習到潛在的模式,導致出現了比較嚴重的過擬合現象。如果可以的話,採集更多的資料,增加訓練資料永遠都不會是一件糟糕的事情。如果上面的策略都不行,那麼可能只剩一條路可以走了:換乙個網路模型。
當這個情況發生的時候,很有可能是訓練集和驗證集發生了過擬合。我們可能需要給驗證集更多的資料,來測試發現什麼時候發生了過擬合現象。
神經網路訓練
學習了bp神經網路演算法,剛開始最終要的一點不明白的就是前一層和後一層 這裡指的只有三層,輸入層,隱藏層,輸出層 的權重,其實神經網路演算法中,前一層的每乙個節點和後一層的每乙個節點都有連線權重,初始權重是隨機的。而更新權重是通過輸出層的值來反向更新的。基本過程如下 1.輸入第乙個訓練樣本 對應的就...
神經網路訓練技巧
1 學習速率。首先設學習速率為乙個較大的值,確保training cost在不斷下降。當accuracyy在n個epoch內不再增加時,使得學習速率減小一半。重複迭代,直到學習速率變成原來的1 1024。2 學習速率要根據訓練cost調。但是網路層數和神經元數目,mini batch size要根據...
神經網路的訓練
既然我們希望網路的輸出盡可能的接近真正想要 的值。那麼就可以通過比較當前網路的 值和我們真正想要的目標值,再根據兩者的差異情況來更新每一層的權重矩陣 比如,如果網路的 值高了,就調整權重讓它 低一些,不斷調整,直到能夠 出目標值 因此就需要先定義 如何比較 值和目標值的差異 這便是損失函式或目標函式...