模型評(píng)估

Debugging

當(dāng)我們實(shí)現(xiàn)了一個(gè)機(jī)器學(xué)習(xí)算法后舵盈,通常需要分析并解決一些性能問(wèn)題鄙才,比如我們?cè)陬A(yù)測(cè)新的測(cè)試樣本時(shí)產(chǎn)生很大的誤差庵朝,我們需要怎么做呢阱洪?通常有以下幾種做法:

  • 獲取更多數(shù)據(jù)
    解決高方差問(wèn)題
  • 減少特征
    解決高方差問(wèn)題
  • 增加特征
    解決高偏差問(wèn)題
  • 增加多項(xiàng)式
    解決高偏差問(wèn)題
  • 增大正則項(xiàng)系數(shù) \lambda
    解決高方差問(wèn)題
  • 減小正則項(xiàng)系數(shù) \lambda
    解決高偏差問(wèn)題

交叉驗(yàn)證

將原始訓(xùn)練樣本隨機(jī)抽取 30% 作為測(cè)試集芬迄,剩下 70% 作為訓(xùn)練集问顷。然后在訓(xùn)練集進(jìn)行訓(xùn)練并得到最小誤差參數(shù) \theta,最后計(jì)算模型在測(cè)試集中的誤差作為模型評(píng)估標(biāo)準(zhǔn),線性回歸通常采用平方誤差:
J(\theta)=\frac{1}{2m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2

在邏輯回歸中可以使用對(duì)數(shù)代價(jià)函數(shù)計(jì)算誤差:
J(\theta)=-\frac{1}{m}\sum_{i=1}^my^{(i)}logh_\theta(x^{(i)})+(1-y^{(i)})logh_\theta(x^{(i)})

或者使用 0 / 1 誤差杜窄,即預(yù)測(cè)錯(cuò)誤時(shí)誤差為 1肠骆,預(yù)測(cè)正確時(shí)誤差為 0:
Error(h_\theta(x),y)=\begin{cases}1 & y=0 , h_\theta(x)\geq 0.5 & y=1, h_\theta(x) < 0.5 \\ 0 & y=0 , h_\theta(x)< 0.5 & y=1, h_\theta(x) \geq 0.5 \end{cases}

求所有樣本的平均誤差:
AverageError=\frac{1 }{m}\sum_{i=1}^mError(h_\theta(x^{(i)}),y^{(i)})

模型選擇

d=1,h_\theta(x)=\theta_0+\theta_1x\\ d=2,h_\theta(x)=\theta_0+\theta_1x+\theta_2x^2\\ \vdots\\ d=10,h_\theta(x)=\theta_0+\theta_1x+\cdots+\theta_{10}x^{10}

首先在算法中加入?yún)?shù) d,代表模型的多項(xiàng)式階數(shù)(degree of polynomial)塞耕,然后將數(shù)據(jù)集分為訓(xùn)練集(60%)蚀腿、驗(yàn)證集(Cross Validation,20%)、測(cè)試集(20%)扫外,并分別使用不同階數(shù)的模型在訓(xùn)練集進(jìn)行訓(xùn)練莉钙,得出各自的參數(shù) \theta,在驗(yàn)證集中選擇誤差最小的模型作為最終選擇筛谚, 最后通過(guò)測(cè)試集估測(cè)模型的泛化能力磁玉。

偏差(Bias)和方差(Variance)

通常簡(jiǎn)單(低階)的模型參數(shù)較少,偏差較高驾讲,會(huì)造成欠擬合問(wèn)題蚊伞。復(fù)雜(高階)的模型參數(shù)較多,方差較高吮铭,會(huì)造成過(guò)擬合問(wèn)題时迫。所以我們通常要分析模型是高偏差還是高方差,進(jìn)而使用恰當(dāng)?shù)牟呗愿倪M(jìn)模型谓晌。

我們可以通過(guò)調(diào)節(jié)模型的多項(xiàng)式階數(shù)掠拳,記作 d,來(lái)得到合適的模型纸肉。

可以發(fā)現(xiàn)碳想,訓(xùn)練集誤差 J_{train}(\theta) 隨著多項(xiàng)式階數(shù) d 的增加持續(xù)下降,驗(yàn)證集誤差隨著多項(xiàng)式階數(shù) d 的增加先降后升毁靶。也就是說(shuō)胧奔,如果模型在訓(xùn)練集和驗(yàn)證集都產(chǎn)生很大的誤差,則是一個(gè)高偏差的模型预吆,如果在驗(yàn)證集的誤差遠(yuǎn)大于訓(xùn)練集的誤差龙填,則是一個(gè)高方差的模型,即:
\begin{cases}highbias&if,J_{cv} \approx J_{train} \\ highvariance&if,J_{cv} \gg J_{train}\end{cases}

正則化和偏差拐叉、方差

通常我們使用正則化的目的是讓參數(shù)值盡可能地小岩遗,而正則項(xiàng)系數(shù) \lambda 則是平衡參數(shù)權(quán)重和擬合程度之間的關(guān)系。通過(guò)上圖可以發(fā)現(xiàn)凤瘦,如果 \lambda 取值過(guò)大宿礁,會(huì)使得參數(shù)懲罰過(guò)重,使模型產(chǎn)生高偏差蔬芥,從而導(dǎo)致欠擬合梆靖。如果 \lambda 取值過(guò)小控汉,會(huì)使得參數(shù)權(quán)重過(guò)大,模型過(guò)于復(fù)雜返吻,使模型產(chǎn)生高方差姑子,泛化能力變差,從而導(dǎo)致過(guò)擬合测僵。所以恰當(dāng)?shù)恼齽t項(xiàng)系數(shù)對(duì)模型十分重要街佑。我們可以選取一系列待定的正則項(xiàng)系數(shù),比如 (0,0.01,0.02,\cdots,10.24)捍靠,分別代入代價(jià)函數(shù)沐旨,在訓(xùn)練集進(jìn)行擬合,然后在驗(yàn)證集中選擇誤差最小的模型作為最終選擇榨婆,最后通過(guò)測(cè)試集估測(cè)模型的泛化能力磁携。

可以發(fā)現(xiàn),訓(xùn)練集的誤差 J_{train} 隨著 \lambda 的增大而增大纲辽。驗(yàn)證集的誤差 J_{cv}\lambda 過(guò)大(underfitting)或過(guò)小(overfitting)都會(huì)很高璃搜。所以拖吼,如果當(dāng)驗(yàn)證集誤差 J_{cv} 和訓(xùn)練集誤差 J_{train} 都很大時(shí),說(shuō)明正則項(xiàng)系數(shù) \lambda 過(guò)大这吻,參數(shù)過(guò)少吊档,使模型產(chǎn)生了高偏差,從而導(dǎo)致了欠擬合唾糯。如果當(dāng)驗(yàn)證集誤差 J_{cv} 遠(yuǎn)大于訓(xùn)練集誤差 J_{train} 時(shí)怠硼,說(shuō)明正則項(xiàng)系數(shù) \lambda 過(guò)小,參數(shù)過(guò)多移怯,使模型產(chǎn)生了高方差香璃,從而導(dǎo)致了過(guò)擬合。通過(guò)觀察可以手動(dòng)或自動(dòng)得出使得驗(yàn)證集誤差 J_{cv} 最小的點(diǎn)舟误,然后選取該點(diǎn)對(duì)應(yīng)的正則項(xiàng)系數(shù) \lambda 即可葡秒。所以繪制學(xué)習(xí)曲線通常可以幫助我們分析算法是處于高偏差還是高方差嵌溢。

樣本數(shù)量和偏差眯牧、方差

可以發(fā)現(xiàn),訓(xùn)練集的誤差 J_{train} 會(huì)隨著訓(xùn)練樣本數(shù)量 m 的增加而增加赖草,驗(yàn)證集的誤差 J_{cv} 會(huì)隨著訓(xùn)練樣本數(shù)量 m 的增加而減小学少,因?yàn)殡S著樣本的增加,泛化能力逐漸增強(qiáng)秧骑,所以數(shù)據(jù)越多版确,越能擬合出合適的模型扣囊。

在高偏差的情況下,訓(xùn)練集誤差 J_{train} 會(huì)隨著樣本 m 的增加而增加阀坏,驗(yàn)證集的誤差 J_{cv} 隨著樣本的增加而減少如暖,但 m 增加到一定程度后 J_{cv} 下降逐漸趨緩,最后會(huì)收斂在一個(gè)較高的水平忌堂,得到的是比較大的 J_{train}J_{cv}盒至,所以在高偏差的情況下,增加樣本并不能明顯減小驗(yàn)證集的誤差士修。

在高方差的情況下枷遂,訓(xùn)練集的誤差 J_{train} 隨著樣本的增加而增加,驗(yàn)證集的誤差 J_{cv} 隨著樣本的增加而減小棋嘲,J_{cv}J_{train} 目前可能有很大一段差距酒唉,如果持續(xù)增加樣本,J_{cv} 會(huì)持續(xù)下降沸移,從而接近 J_{train}痪伦,所以增加樣本對(duì)高方差的模型是有明顯幫助的。

神經(jīng)網(wǎng)絡(luò)

結(jié)構(gòu)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)雹锣,參數(shù)較少网沾,雖然計(jì)算量小,但容易欠擬合蕊爵。結(jié)構(gòu)復(fù)雜的神經(jīng)網(wǎng)絡(luò)辉哥,參數(shù)較多,計(jì)算量大攒射,容易過(guò)擬合醋旦。可以使用正則項(xiàng)優(yōu)化会放,也可以比較不同層數(shù)或神經(jīng)元數(shù)的模型在驗(yàn)證集的誤差饲齐,進(jìn)而選擇合適的層數(shù)或神經(jīng)元數(shù)。

參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末咧最,一起剝皮案震驚了整個(gè)濱河市箩张,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌窗市,老刑警劉巖先慷,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異咨察,居然都是意外死亡论熙,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門摄狱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)脓诡,“玉大人无午,你說(shuō)我怎么就攤上這事∽Q瑁” “怎么了宪迟?”我有些...
    開(kāi)封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)交惯。 經(jīng)常有香客問(wèn)我次泽,道長(zhǎng),這世上最難降的妖魔是什么席爽? 我笑而不...
    開(kāi)封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任意荤,我火速辦了婚禮,結(jié)果婚禮上只锻,老公的妹妹穿的比我還像新娘玖像。我一直安慰自己,他們只是感情好齐饮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布捐寥。 她就那樣靜靜地躺著,像睡著了一般祖驱。 火紅的嫁衣襯著肌膚如雪握恳。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天羹膳,我揣著相機(jī)與錄音睡互,去河邊找鬼根竿。 笑死陵像,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的寇壳。 我是一名探鬼主播醒颖,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼壳炎!你這毒婦竟也來(lái)了泞歉?” 一聲冷哼從身側(cè)響起跟衅,我...
    開(kāi)封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嫂拴,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后枪芒,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體铲球,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡挺庞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了稼病。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片选侨。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡掖鱼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出援制,到底是詐尸還是另有隱情戏挡,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布晨仑,位于F島的核電站褐墅,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏寻歧。R本人自食惡果不足惜掌栅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望码泛。 院中可真熱鬧猾封,春花似錦、人聲如沸噪珊。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)痢站。三九已至磷箕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間阵难,已是汗流浹背岳枷。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留呜叫,地道東北人空繁。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像朱庆,于是被迫代替她去往敵國(guó)和親盛泡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容