機(jī)器學(xué)習(xí)中用來(lái)防止過(guò)擬合的方法有哪些?
網(wǎng)友解答: 謝邀,機(jī)器學(xué)習(xí)用來(lái)防止過(guò)擬合的方法比較多,我盡量用通俗的話解釋各種減少過(guò)擬合的方法。當(dāng)然如果有更好的可以在評(píng)論區(qū)提出來(lái),互相探討學(xué)習(xí)。獲得更多額外的訓(xùn)練數(shù)據(jù)這是解決過(guò)擬合的最
謝邀,機(jī)器學(xué)習(xí)用來(lái)防止過(guò)擬合的方法比較多,我盡量用通俗的話解釋各種減少過(guò)擬合的方法。當(dāng)然如果有更好的可以在評(píng)論區(qū)提出來(lái),互相探討學(xué)習(xí)。
獲得更多額外的訓(xùn)練數(shù)據(jù)這是解決過(guò)擬合的最有效方法,過(guò)擬合本質(zhì)上就是模型對(duì)樣本空間過(guò)度擬合后才出現(xiàn)的想象,那我們就給模型更多“意料之外”(樣本空間外)的數(shù)據(jù),這樣模型的最優(yōu)值就更接近整體樣本空間的最優(yōu)值,只要局部值不斷逼近整體最優(yōu)值,過(guò)擬合的問(wèn)題就自然而然消失了。
使用恰當(dāng)?shù)哪P?p>一般而言,過(guò)擬合主要是因?yàn)閿?shù)據(jù)太少,或者模型太復(fù)雜造成的,我們可以通過(guò)獲得更多的數(shù)據(jù)(上面有提及)或者找合適的模型結(jié)構(gòu)來(lái)防止過(guò)擬合問(wèn)題,讓模型能夠擬合真正的規(guī)則,同時(shí)又不至于擬合太多的隨機(jī)噪聲。減少神經(jīng)網(wǎng)絡(luò)層數(shù)、神經(jīng)元個(gè)數(shù)都可以限制網(wǎng)絡(luò)的擬合能力,這個(gè)跟樹模型的原理一樣;
適當(dāng)減少模型的訓(xùn)練時(shí)間,因?yàn)閷?duì)于每個(gè)神經(jīng)元而言,其激活函數(shù)在不同區(qū)間的性能是不同的,當(dāng)網(wǎng)絡(luò)權(quán)值較小時(shí),神經(jīng)元的激活函數(shù)工作在線性區(qū)域,那么該神經(jīng)元的擬合能力較弱,一般我們初始化網(wǎng)絡(luò)時(shí)權(quán)值較小,訓(xùn)練時(shí)間越長(zhǎng),部分網(wǎng)絡(luò)權(quán)值越接近非線性區(qū)甚至梯度消失區(qū),此時(shí)就會(huì)產(chǎn)生過(guò)擬合;
正則化,跟上面一樣,都是限制權(quán)值,這種方法是將權(quán)值大小加入Cost中,因?yàn)橛?xùn)練要降低Cost,所以這種方法即降低Cost也降低權(quán)值,是最經(jīng)常使用的方法之一;
在輸入中加噪聲,可能有人會(huì)有點(diǎn)不解,不是要降低噪聲么?這么說(shuō),因?yàn)樵肼晻?huì)隨著網(wǎng)絡(luò)擴(kuò)散,按照權(quán)值的平方放大,像Hinton的PPT中用高斯噪聲,在輸出中生成干擾項(xiàng),訓(xùn)練時(shí)會(huì)對(duì)干擾項(xiàng)進(jìn)行懲罰,達(dá)到減小權(quán)值的平方的目的(也是換種思路變向降低權(quán)值)
集成學(xué)習(xí),Bagging、Boosting相信很多人都很熟悉,Bagging就是將很多弱小的模型集合在一起,提高模型的學(xué)習(xí)能力,如隨機(jī)森林就是很多棵決策樹形成的模型。而Boosting是將弱模型的誤差傳遞下去,通過(guò)下一層模型來(lái)稀釋誤差,從而降低總誤差。
Dropout,這是一種很有效的方法,在訓(xùn)練時(shí)隨機(jī)忽略隱藏層的某些節(jié)點(diǎn),這樣每次訓(xùn)練時(shí)網(wǎng)絡(luò)會(huì)有不同,最后得到的誤差會(huì)比用全部節(jié)點(diǎn)訓(xùn)練要好得多,這種做法有點(diǎn)類似bagging。
如果是樹模型的話,那么減少剪枝是一種很有效的方法,通常利用限制最大深度,最大葉節(jié)點(diǎn)數(shù)來(lái)達(dá)到該目的(目的就是不想讓模型對(duì)每個(gè)隨機(jī)變量擬合,畢竟這個(gè)變量也可能是白噪聲);
如果你對(duì)學(xué)習(xí)人工智能和科技新聞感興趣,可以訂閱我的酷米號(hào),我會(huì)在這里發(fā)布所有與算法、機(jī)器學(xué)習(xí)以及深度學(xué)習(xí)有關(guān)的有趣文章。偶爾也回答有趣的問(wèn)題,有問(wèn)題可隨時(shí)在評(píng)論區(qū)回復(fù)和討論,看到即回。
(碼字不易,若文章對(duì)你幫助可點(diǎn)個(gè)贊~)
網(wǎng)友解答:以個(gè)人經(jīng)驗(yàn)來(lái)說(shuō),增大learning rate或者batch size是最有效的方法。regulation是必須的,所以不存在使用它來(lái)防止過(guò)擬合。介紹一下我采用的自動(dòng)調(diào)參方法。training后根據(jù)返回的訓(xùn)練準(zhǔn)確率和測(cè)試準(zhǔn)確率判斷擬合度以及l(fā)oss情況,如不滿意則調(diào)整learning rate和batch size重新training。learning rate 和batch size的search方法可以有多種,grid search, random search,我采用的是一種混合的方法,效果不錯(cuò)。手動(dòng)調(diào)參費(fèi)時(shí)費(fèi)力而且效果也不好。