自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何防止我的模型過擬合?這篇文章給出了6大必備方法

新聞 人工智能
在機(jī)器學(xué)習(xí)中,過擬合(overfitting)會使模型的預(yù)測性能變差,通常發(fā)生在模型過于復(fù)雜的情況下,如參數(shù)過多等。本文對過擬合及其解決方法進(jìn)行了歸納闡述。

正如巴菲特所言:「近似的正確好過精確的錯誤?!?/p>

在機(jī)器學(xué)習(xí)中,過擬合(overfitting)會使模型的預(yù)測性能變差,通常發(fā)生在模型過于復(fù)雜的情況下,如參數(shù)過多等。本文對過擬合及其解決方法進(jìn)行了歸納闡述。

[[377248]]

在機(jī)器學(xué)習(xí)中,如果模型過于專注于特定的訓(xùn)練數(shù)據(jù)而錯過了要點,那么該模型就被認(rèn)為是過擬合。該模型提供的答案和正確答案相距甚遠(yuǎn),即準(zhǔn)確率降低。這類模型將無關(guān)數(shù)據(jù)中的噪聲視為信號,對準(zhǔn)確率造成負(fù)面影響。即使模型經(jīng)過很好地訓(xùn)練使損失很小,也無濟(jì)于事,它在新數(shù)據(jù)上的性能仍然很差。欠擬合是指模型未捕獲數(shù)據(jù)的邏輯。因此,欠擬合模型具備較低的準(zhǔn)確率和較高的損失。

如何防止我的模型過擬合?這篇文章給出了6大必備方法

如何確定模型是否過擬合?

構(gòu)建模型時,數(shù)據(jù)會被分為 3 類:訓(xùn)練集、驗證集和測試集。訓(xùn)練數(shù)據(jù)用來訓(xùn)練模型;驗證集用于在每一步測試構(gòu)建的模型;測試集用于最后評估模型。通常數(shù)據(jù)以 80:10:10 或 70:20:10 的比率分配。

在構(gòu)建模型的過程中,在每個 epoch 中使用驗證數(shù)據(jù)測試當(dāng)前已構(gòu)建的模型,得到模型的損失和準(zhǔn)確率,以及每個 epoch 的驗證損失和驗證準(zhǔn)確率。模型構(gòu)建完成后,使用測試數(shù)據(jù)對模型進(jìn)行測試并得到準(zhǔn)確率。如果準(zhǔn)確率和驗證準(zhǔn)確率存在較大的差異,則說明該模型是過擬合的。

如果驗證集和測試集的損失都很高,那么就說明該模型是欠擬合的。

如何防止過擬合

1.交叉驗證

交叉驗證是防止過擬合的好方法。在交叉驗證中,我們生成多個訓(xùn)練測試劃分(splits)并調(diào)整模型。K-折驗證是一種標(biāo)準(zhǔn)的交叉驗證方法,即將數(shù)據(jù)分成 k 個子集,用其中一個子集進(jìn)行驗證,其他子集用于訓(xùn)練算法。

交叉驗證允許調(diào)整超參數(shù),性能是所有值的平均值。該方法計算成本較高,但不會浪費太多數(shù)據(jù)。交叉驗證過程參見下圖:

如何防止我的模型過擬合?這篇文章給出了6大必備方法

2.用更多數(shù)據(jù)進(jìn)行訓(xùn)練

用更多相關(guān)數(shù)據(jù)訓(xùn)練模型有助于更好地識別信號,避免將噪聲作為信號。數(shù)據(jù)增強(qiáng)是增加訓(xùn)練數(shù)據(jù)的一種方式,可以通過翻轉(zhuǎn)(flipping)、平移(translation)、旋轉(zhuǎn)(rotation)、縮放(scaling)、更改亮度(changing brightness)等方法來實現(xiàn)。

3.移除特征

移除特征能夠降低模型的復(fù)雜性,并且在一定程度上避免噪聲,使模型更高效。為了降低復(fù)雜度,我們可以移除層或減少神經(jīng)元數(shù)量,使網(wǎng)絡(luò)變小。

4.早停

對模型進(jìn)行迭代訓(xùn)練時,我們可以度量每次迭代的性能。當(dāng)驗證損失開始增加時,我們應(yīng)該停止訓(xùn)練模型,這樣就能阻止過擬合。

下圖展示了停止訓(xùn)練模型的時機(jī):

如何防止我的模型過擬合?這篇文章給出了6大必備方法

5.正則化

正則化可用于降低模型的復(fù)雜性。這是通過懲罰損失函數(shù)完成的,可通過 L1 和 L2 兩種方式完成,數(shù)學(xué)方程式如下:

如何防止我的模型過擬合?這篇文章給出了6大必備方法

L1 懲罰的目的是優(yōu)化權(quán)重絕對值的總和。它生成一個簡單且可解釋的模型,且對于異常值是魯棒的。

如何防止我的模型過擬合?這篇文章給出了6大必備方法

L2 懲罰權(quán)重值的平方和。該模型能夠?qū)W習(xí)復(fù)雜的數(shù)據(jù)模式,但對于異常值不具備魯棒性。

這兩種正則化方法都有助于解決過擬合問題,讀者可以根據(jù)需要選擇使用。

6.Dropout

Dropout 是一種正則化方法,用于隨機(jī)禁用神經(jīng)網(wǎng)絡(luò)單元。它可以在任何隱藏層或輸入層上實現(xiàn),但不能在輸出層上實現(xiàn)。該方法可以免除對其他神經(jīng)元的依賴,進(jìn)而使網(wǎng)絡(luò)學(xué)習(xí)獨立的相關(guān)性。該方法能夠降低網(wǎng)絡(luò)的密度,如下圖所示:

如何防止我的模型過擬合?這篇文章給出了6大必備方法

總結(jié)

過擬合是一個需要解決的問題,因為它會讓我們無法有效地使用現(xiàn)有數(shù)據(jù)。有時我們也可以在構(gòu)建模型之前,預(yù)估到會出現(xiàn)過擬合的情況。通過查看數(shù)據(jù)、收集數(shù)據(jù)的方式、采樣方式,錯誤的假設(shè),錯誤表征能夠發(fā)現(xiàn)過擬合的預(yù)兆。為避免這種情況,請在建模之前先檢查數(shù)據(jù)。但有時在預(yù)處理過程中無法檢測到過擬合,而是在構(gòu)建模型后才能檢測出來。我們可以使用上述方法解決過擬合問題。

 

責(zé)任編輯:張燕妮 來源: 機(jī)器之心Pro
點贊
收藏

51CTO技術(shù)棧公眾號