深度學習原理15 欠擬合和過擬合

2021-10-12 05:27:40 字數 1393 閱讀 2002

欠擬合:

就是神經網路還沒有學習好資料,不能很好識別。

過擬合:

就是對訓練資料擬合的太好了,幾乎完全擬合了,再給個稍微不一樣的就不認識了。

(1)擴大網路規模,如新增隱藏層或者神經元數量

(2)尋找合適的網路架構,使用更大的網路結構,如alexnet

(3)訓練時間更長一些

(4)減小正則化係數。

(1)獲取更多的資料,使得訓練能夠包含所有可能出現的情況

(2)正則化(regularization)

(3)尋找合適的網路架構,降低網路複雜度

(4)整合學習

(5)深度學習時訓練時提前停止

(6)batch normalization

首先,新增正則化是在損失函式中新增

其次,新增正則化以後,網路每次更新的值比不加正則化減小的更快

最後,權重就會比之前減小,那一部分原來比0大的值就趨近於0,相當於抵消了一些權重的影響。

也可以換個理解方式,就是你不加正則項,它就會擬合的特別好,你加了以後權重值改變了,擬合的就沒有那麼好了。

droupout是隨機的對神經網路每一層進行丟棄部分神經元操作。

訓練的時候只有佔比為p 的隱藏層單元參與訓練,那麼在**的時候,如果所有的隱藏層單元都需要參與進來,則得到的結果相比訓練時平均要大1/p ,為了避免這種情況,我們可以在訓練的時候直接將dropout後留下的權重擴大1/p 倍,這樣就可以使結果的scale保持不變,而在**的時候也不用做額外的操作了,更方便一些。

在mnist資料集中的測試,錯誤率因為增加dropout會有相應提高

隨機的選擇dropout可以增加隱層神經元的健壯性。

過擬合參考資料

深度學習(七) 過擬合欠擬合

整體 從標準正態分佈中隨機抽取資料組成張量,形狀由sizes定義 函式原型 torch.randn sizes,out none 應用 features torch.randn n train n test,1 生成200 1的張量在給定維度上對輸入的張量序列seq進行連線操作。0為行,1為列。對輸...

過擬合和欠擬合

嘗試不同的模型 既然有一種可靠的方法來測量模型精度,那麼可以嘗試使用其他模型,並檢視哪種模型可以提供最佳 但是對模型有什麼選擇?可以在scikit learn的文件中看到決策樹模型有很多選項 比您長期想要或需要的更多 最重要的選項決定了樹的深度。回想一下這個微課程的第一課,樹的深度是衡量它在進行 之...

欠擬合和過擬合

解決欠擬合問題,可以從以下三個方面入手 1 增加特徵項 在大多數情況下出現過擬合是因為沒有準確把握資料的主要特徵,可以嘗試在模型中加入更多的和原始資料有重要相關性的特徵來尋連搭建的模型,著牙嗎嗯得到的模型可能會有更好的泛化能力。2 構造複雜的多項式 3 減少正則化引數 解決過擬合問題 1 增大訓練的...