導航:首頁 > 使用方法 > 過擬合抑制的常用方法

過擬合抑制的常用方法

發布時間:2023-06-10 08:13:21

A. 機器學習 matlab 過擬合 怎麼

抑制過擬合的方法通常包括:
(1)減少演算法迭代輪數
(2)增加L1正則和L2正則
(3)增加訓練樣本數目
(4)減少模型的參數個數

B. 怎麼解決cnn matlab小樣本過擬合的問題

抑制過擬合的方法通常包括:
(1)減少演算法迭代輪數。
(2)增加L1正則和L2正則。
(3)增加訓練樣本數目。
(4)減少模型的參數個數。

C. 深度學習為什麼不過擬合

深度學習:過擬合

為了得到一致假設而使假設變得過度復雜稱為過擬合。想像某種學習演算法產生了一個過擬合的分類器,這個分類器能夠百分之百的正確分類樣本數據(即再拿樣本中的文檔來給它,它絕對不會分錯),但也就為了能夠對樣本完全正確的分類,使得它的構造如此精細復雜,規則如此嚴格,以至於任何與樣本數據稍有不同的文檔它全都認為不屬於這個類別。
標準定義:給定一個假設空間H,一個假設h屬於H,如果存在其他的假設h』屬於H,使得在訓練樣例上h的錯誤率比h』小,但在整個實例分布上h』比h的錯誤率小,那麼就說假設h過度擬合訓練數據。 —-《Machine Learning》Tom M.Mitchell

假設我們用深度學習來判斷西瓜,過擬合會使得你判斷西瓜更加嚴厲,導致在某些西瓜數據上與你准備的數據有些出入(差別並不會太大),從而結果判定不是西瓜。。。

-----------------
深度學習防止過擬合的方法

過擬合即在訓練誤差很小,而泛化誤差很大,因為模型可能過於的復雜,使其」記住」了訓練樣本,然而其泛化誤差卻很高,在傳統的機器學習方法中有很大防止過擬合的方法,同樣這些方法很多也適合用於深度學習中,同時深度學習中又有一些獨特的防止過擬合的方法,下面對其進行簡單的梳理.
1. 參數范數懲罰
范數正則化是一種非常普遍的方法,也是最常用的方法,假如優化:

minObj(θ)=L(y,f(x))+αG(θ)

其中L為經驗風險,其為在訓練樣本上的誤差,而G為對參數的懲罰,也叫結構風險.α是平衡兩者,如果太大則對應的懲罰越大,如過太小,甚至接近與0,則沒有懲罰.
最常用的范數懲罰為L1,L2正則化,L1又被成為Lasso:

||w||1=|w1|+|w2|+...

即絕對值相加,其趨向於是一些參數為0.可以起到特徵選擇的作用.
L2正則化為:

||w||2=w12+w22+...−−−−−−−−−−−−√

其趨向與,使權重很小.其又成為ridge.
關於更多可以參考:機器學習中的范數規則化之(一)L0、L1與L2范數

2. 數據增強
讓模型泛化的能力更好的最好辦法就是使用更多的訓練數據進行訓練,但是在實踐中,我們擁有的數據是有限的,解決這一問題可以人為的創造一些假數據添加到訓練集中.
一個具體的例子:
在AlexNet中,將256*256圖像隨機的截取224*224大小,增加了許多的訓練樣本,同時可以對圖像進行左右翻轉,增加樣本的個數,實驗的結果可以可降低1%的誤差.
在神經網路中輸入雜訊也可以看做是數據增強的一種方式.
3. 提前終止
如下圖所示(圖片來源deep learning),當隨著模型的能力提升,訓練集的誤差會先減小再增大,這樣可以提前終止演算法減緩過擬合現象.關於演算法的具體流程參考deep learning.

提前終止是一種很常用的緩解過擬合的方法,如在決策樹的先剪枝的演算法,提前終止演算法,使得樹的深度降低,防止其過擬合.
4. 參數綁定與參數共享
在卷積神經網路CNN中(計算機視覺與卷積神經網路 ),卷積層就是其中權值共享的方式,一個卷積核通過在圖像上滑動從而實現共享參數,大幅度減少參數的個數,用卷積的形式是合理的,因為對於一副貓的圖片來說,右移一個像素同樣還是貓,其具有局部的特徵.這是一種很好的緩解過擬合現象的方法.
同樣在RNN中用到的參數共享,在其整條時間鏈上可以進行參數的共享,這樣才使得其能夠被訓練.
5. bagging 和其他集成方法
其實bagging的方法是可以起到正則化的作用,因為正則化就是要減少泛化誤差,而bagging的方法可以組合多個模型起到減少泛化誤差的作用.
在深度學習中同樣可以使用此方法,但是其會增加計算和存儲的成本.
6. Dropout
Dropout提供了一種廉價的Bagging集成近似,能夠訓練和評估指數級數量的神經網路。dropout可以隨機的讓一部分神經元失活,這樣彷彿是bagging的采樣過程,因此可以看做是bagging的廉價的實現.
但是它們訓練不太一樣,因為bagging,所有的模型都是獨立的,而dropout下所有模型的參數是共享的.
通常可以這樣理解dropout:假設我們要判別一隻貓,有一個神經元說看到有毛就是貓,但是如果我讓這個神經元失活,它還能判斷出來是貓的話,這樣就比較具有泛化的能力,減輕了過擬合的風險.
7. 輔助分類節點(auxiliary classifiers)
在Google Inception V1中,採用了輔助分類節點的策略,即將中間某一層的輸出用作分類,並按一個較小的權重加到最終的分類結果中,這樣相當於做了模型的融合,同時給網路增加了反向傳播的梯度信號,提供了額外的正則化的思想.
8. Batch Normalization
在Google Inception V2中所採用,是一種非常有用的正則化方法,可以讓大型的卷積網路訓練速度加快很多倍,同事收斂後分類的准確率也可以大幅度的提高.
BN在訓練某層時,會對每一個mini-batch數據進行標准化(normalization)處理,使輸出規范到N(0,1)的正太分布,減少了Internal convariate shift(內部神經元分布的改變),傳統的深度神經網路在訓練是,每一層的輸入的分布都在改變,因此訓練困難,只能選擇用一個很小的學習速率,但是每一層用了BN後,可以有效的解決這個問題,學習速率可以增大很多倍.
未完待續…
參考資料:
deep learning
tensorflow實戰
機器學習中的范數規則化之(一)L0、L1與L2范數

閱讀全文

與過擬合抑制的常用方法相關的資料

熱點內容
0點1到5點的簡便運算方法 瀏覽:651
擊劍訓練方法中文 瀏覽:328
塗料的檢驗方法常用的有 瀏覽:17
隧道施工方法視頻 瀏覽:287
可食用澱粉製作方法 瀏覽:651
白帶如何治療方法 瀏覽:631
黃粉的正確使用方法圖片 瀏覽:180
小豬怎麼折的方法視頻 瀏覽:616
解除失智老年人便秘的常用方法 瀏覽:7
白刺食用方法 瀏覽:921
質控的方法有哪些 瀏覽:223
滑板吊球訓練方法 瀏覽:239
蘆筍根的種植方法 瀏覽:609
魚餌餅使用方法 瀏覽:799
數學時間的簡單方法 瀏覽:427
中葯葯理學研究方法及進展 瀏覽:553
新一代智能玻璃門鎖安裝方法 瀏覽:53
計算器可以固定計算方法么 瀏覽:364
測電儀器使用方法圖片 瀏覽:296
現代更換車身電腦匹配方法 瀏覽:376