神經網路中的過擬合

2022-05-24 18:33:09 字數 1229 閱讀 4334

先說下一般對原始資料的劃分為什麼分為訓練集、驗證集、測試集三個部分?

train data的作用是訓練模型,validation data的作用是對模型的超引數進行調節,為什麼不直接在test data上對引數進行調節?因為如果在test data上來調節引數,那麼隨著訓練的進行,我們的網路實際上就是在一點一點地向我們的test data過度擬合,導致最後得到的test data的指標參考意義下降。

首先明確我們訓練神經網路模型的目標是使得其在未知資料上也有很好的擬合能力(一般測試集充當未知資料的角色),所以如何直觀的判斷模型是否過擬合了?如果模型在訓練集上有良好的表現,但是在測試集上表現卻沒那麼好,很可能就是過擬合了。

那麼在神經網路中該如何解決過擬合問題?

根據問題解決問題

(一)資料方面導致的過擬合

1.訓練資料集過小導致過擬合

如果資料集過小,由於神經網路中的引數過多,這時很容易就導致過擬合,此時應該增大訓練資料,或者選用別的更合適的模型。

2.訓練資料不均衡導致過擬合

如果訓練資料不均衡,顯然模型會趨向於擬合資料較多的一類,因為它提供的資訊更多,這種情況應該首先考慮的是均衡資料、資料增強等,具體可以參照如何處理資料不均衡問題。

(二)由模型導致的過擬合

如果資料相對均衡且訓練資料足夠仍出現過擬合,應該從模型角度著手

1.簡化模型

簡化模型最直接的手段是減少模型層數或者減小模型中隱層節點的個數。

l1正則化:l1正則化傾向於使得接近於0的引數變成0,這樣就相當於減少了引數,模型自然變得更簡單。

l2正則化:l2正則化加快了引數的減小速度,引數小模型能夠擬合的資料變少且擬合的剛剛好(這個法則也叫做奧卡姆剃刀),過擬合的可能性就降低。

此外引數過多使得網路能夠擬合更多的資料,且為了擬合一些資料,這些資料中特有的一些特徵可能相應的引數就很大,很容易導致過擬合,簡化模型、減小權值從而防止過擬合。

2.提取更泛化的表徵

神經網路可以理解為乙個非線性多元函式簇,訓練神經網路是為了很好的完成輸入到輸出的對映,且模型的泛化能力足夠好,這就需要提取魯棒的表徵

產生過擬合使得模型泛化性降低,說明抽取的表徵泛化性不夠強。

引入dropout,訓練時隨機使得一些網路節點失活,因為每次失活的節點不固定,因此相應的權重都不會過大,一方面使得模型更簡單了,另一方面避免提取到那些特有組合下才起作用的表徵,從而促使模型提取更泛化的表徵。

dropout優點很多,一般模型方面防止過擬合都是用dropout,具體見有對dropout詳細介紹。

神經網路中的過擬合

過擬合 overfitting 是指在模型引數擬合過程中的問題,由於訓練資料報含抽樣誤差,訓練時,複雜的模型將抽樣誤差也考慮在內,將抽樣誤差也進行了很好的擬合。具體表現就是模型在訓練集上效果好,在測試集上效果差。模型泛化能力弱。1.擬合的模型一般是用來 未知的結果,過擬合雖然在訓練集上效果好,但是在...

神經網路的過擬合問題

神經網路模型訓練會出現三種情況 模型過於簡單,模型合理,過擬合。為避免過擬合問題,常常使用正則化方法 正則化的思想是 在損失函式中加入刻畫模型複雜程度的指標。模型優化時需要優化該損失函式 j r w j r w 其中 j j 為損失函式,表示的是乙個神經網路的所有引數,包括權重w w 和偏置b ro...

神經網路的過擬合overfitting

過擬合 模型在訓練上表現越來越好,但是在未見過的資料上表現不好,缺少泛化能力。機器學習的根本問題在於優化和泛化的問題。優化指在調整模型在訓練集上得到最佳效能,泛化指的是模型在前所未見的資料上的效能好壞。1.最優方法是獲取更多的訓練資料 利用影象增強,將資料進行翻轉旋轉等操作。2.正則化 次優解決方法...