各位小伙伴們大家好氢哮,很高興能夠和大家繼續(xù)討論機(jī)器學(xué)習(xí)方面的問(wèn)題,今天想和大家討論下關(guān)于機(jī)器學(xué)習(xí)中的監(jiān)督學(xué)習(xí)中的過(guò)擬合的問(wèn)題听盖,以及解決過(guò)擬合的一些方法。
在正式進(jìn)入正題前仓坞,我想用幾個(gè)我們生活中常見(jiàn)的幾個(gè)簡(jiǎn)單的例子來(lái)讓大家更好地理解下過(guò)擬合的概念悬蔽。其實(shí)簡(jiǎn)單的說(shuō),過(guò)擬合的現(xiàn)象其實(shí)就是機(jī)器學(xué)習(xí)過(guò)于自信已經(jīng)到了自付的階段了。至于什么是自負(fù)禾乘。我們大概都能想到在自己的小圈子里表現(xiàn)非凡虽缕,但是在現(xiàn)實(shí)這個(gè)大環(huán)境中屢屢遭受碰壁。因此我想把自負(fù)比作過(guò)擬合)(自負(fù)=過(guò)擬合)伍派。
那么這個(gè)時(shí)候就可能產(chǎn)生疑問(wèn)剩胁。那么機(jī)器學(xué)習(xí)過(guò)于自負(fù)是一種什么樣的表現(xiàn)呢昵观?
現(xiàn)在在下圖有一張圖,圖上的紅點(diǎn)可以看作為一堆數(shù)據(jù)啊犬,這個(gè)時(shí)候我們一定想到用一條線(xiàn)來(lái)把這些數(shù)據(jù)串起來(lái)觉至,整合起來(lái),所有人都希望數(shù)據(jù)可以分步在這條線(xiàn)周?chē)@個(gè)時(shí)候這條線(xiàn)和數(shù)據(jù)的總誤差可能為10.但是這個(gè)時(shí)候沃暗,機(jī)器就跟我們的學(xué)生一樣,總想考第一名嚼黔,總想拿一百分,這個(gè)時(shí)候機(jī)器就希望獲得盡可能少的誤差疫赎,來(lái)完成對(duì)著一批數(shù)據(jù)的使命碎节。但是機(jī)器這樣想后卻得到了圖中的那根紅線(xiàn),彎彎曲曲胎撇,并且經(jīng)過(guò)了所有的點(diǎn)殖氏,這樣的誤差就會(huì)盡可能的小雅采。但是誤差少真的會(huì)好么?
看起來(lái)我們的模型還是太天真了宝鼓,就跟我們的家長(zhǎng)們總以為只要孩子考試得到了滿(mǎn)分這個(gè)孩子就一定會(huì)得到最好的結(jié)果屑迂。當(dāng)這個(gè)孩子踏出社會(huì)后他的很多方面會(huì)共同決定他的發(fā)展如庭。機(jī)器學(xué)習(xí)模型也類(lèi)似。當(dāng)我們把這個(gè)模型應(yīng)用到具體的情況中的時(shí)候督弓,他的自負(fù)就表現(xiàn)出來(lái)了愚隧。這個(gè)時(shí)候假設(shè)你的公司給了你一批新的數(shù)據(jù)蒂阱,你對(duì)模型說(shuō),模型狂塘,你給我跑出來(lái)录煤。這個(gè)時(shí)候原來(lái)的那根筆直的直線(xiàn)因?yàn)閿?shù)據(jù)都分布在他的周?chē)`差很小荞胡。但是在之前誤差一直很小的模型曲線(xiàn)反而這次獲得了較大的誤差妈踊,表現(xiàn)反而很糟糕。這個(gè)時(shí)候泪漂,曲線(xiàn)就再也驕傲不起來(lái)了廊营,因?yàn)樗o(wú)法很好的符合除了測(cè)試數(shù)據(jù)之外的訓(xùn)練數(shù)據(jù)歪泳。這個(gè)現(xiàn)象就是我們所說(shuō)的過(guò)擬合。
那么在分類(lèi)問(wèn)題中露筒,過(guò)擬合的分割曲線(xiàn)可能會(huì)是下圖這樣,當(dāng)我們?cè)诩由弦恍?shù)據(jù)之后慎式,我們可以很明顯的發(fā)現(xiàn)有一些原本不屬于這個(gè)分類(lèi)的數(shù)據(jù)在這個(gè)分類(lèi)伶氢,對(duì)于這個(gè)現(xiàn)象其實(shí)就是過(guò)擬合的現(xiàn)象在作怪了。那么既然過(guò)擬合的問(wèn)題我們會(huì)時(shí)不時(shí)的遇到瘪吏,那么我們應(yīng)該怎么樣去解決過(guò)擬合的問(wèn)題呢癣防?
方法1:增加數(shù)據(jù)量
大多數(shù)的過(guò)擬合的問(wèn)題是因?yàn)樗麄兊臄?shù)據(jù)量太少了,如果我們有成千上萬(wàn)的數(shù)據(jù)量進(jìn)行訓(xùn)練掌眠。我們那根彎彎曲曲的曲線(xiàn)也會(huì)被糾正的不是那么扭曲劣砍,會(huì)逐漸被拉直,這樣模型誤差就會(huì)進(jìn)一步減少
方法2:運(yùn)用正規(guī)化
正規(guī)化這個(gè)問(wèn)題適用于大多數(shù)的機(jī)器學(xué)習(xí)以及大多數(shù)的神經(jīng)網(wǎng)絡(luò)扇救,其實(shí)他們的方法都大同小異,我們現(xiàn)在進(jìn)行簡(jiǎn)化正規(guī)化的公式為Y=WX(實(shí)際的公式比這個(gè)復(fù)雜得多)香嗓。W為機(jī)器學(xué)習(xí)所需要學(xué)習(xí)到的各種參數(shù)迅腔。在實(shí)際過(guò)程中因?yàn)橛?xùn)練數(shù)據(jù)的參差不齊,W的變化往往會(huì)非常大靠娱,為了避免這個(gè)現(xiàn)象沧烈,現(xiàn)在我們?cè)谟?jì)算誤差值上進(jìn)行一些手腳,對(duì)于誤差我們是這樣計(jì)算的cost=(wx-realy)2+abs(w)像云。預(yù)測(cè)值減去真實(shí)值的平方加上w的絕對(duì)值锌雀。既然W會(huì)越大,我們就用這個(gè)公式讓cost也變得更大迅诬,這樣讓cost作為一個(gè)懲罰機(jī)制腋逆,在加上一個(gè)abs(w),這樣的正規(guī)化就叫做L1正規(guī)化侈贷。Cost=(wx-realy)2+(w)2這樣的現(xiàn)象就叫做L2正規(guī)化惩歉。其他的L系列的方法也都是類(lèi)似的方法。通過(guò)這樣的方法我們就可以使曲線(xiàn)沒(méi)有那么的扭曲俏蛮,變得更加的筆直撑蚌,更加的符合真實(shí)的需求。
還有一種常用于神經(jīng)網(wǎng)絡(luò)的一種正規(guī)化方法:Dropout regularization搏屑。
在訓(xùn)練的時(shí)候争涌,我們隨機(jī)忽略掉一些神經(jīng)元和神經(jīng)連接,使得這個(gè)神經(jīng)網(wǎng)絡(luò)變得不完整辣恋。不完整的神經(jīng)網(wǎng)絡(luò)經(jīng)過(guò)訓(xùn)練到達(dá)第二次后亮垫,這個(gè)時(shí)候我們?cè)龠x擇忽略掉一點(diǎn)模软。讓其再變?yōu)橛忠粋€(gè)不完整的神經(jīng)網(wǎng)絡(luò)。注意每次忽略掉的前提數(shù)據(jù)必須是隨機(jī)不完整包警。其實(shí)想想有了這樣的隨機(jī)忽略drop的方法撵摆,我們其實(shí)就可以猜測(cè)出每一次的訓(xùn)練都不會(huì)太過(guò)于依賴(lài)那些特定的神經(jīng)元就跟L1,L2這樣的正規(guī)化的方法一樣害晦,每一次的訓(xùn)練都過(guò)于依賴(lài)參數(shù)W特铝。L1,L2會(huì)懲罰這些W壹瘟,而drop的方法會(huì)隨即丟失這些w.這個(gè)方法可以從根本上讓神經(jīng)網(wǎng)絡(luò)無(wú)法過(guò)于依賴(lài)W鲫剿。從而有效的緩解過(guò)擬合的問(wèn)題。
好了稻轨,這個(gè)就是這篇文章所包含的什么是過(guò)擬合以及如何解決過(guò)擬合方法的一些問(wèn)題灵莲。如果你想了解更多關(guān)于機(jī)器學(xué)習(xí)的知識(shí),歡迎關(guān)注我的簡(jiǎn)書(shū)殴俱,并且歡迎和我一起交流政冻。謝謝大家的閱讀。