機(jī)器學(xué)習(xí)系統(tǒng)設(shè)計(jì)的算法評(píng)估與誤差分析

????????本文是coursera上吳恩達(dá)老師的machinelearning課程第六周的個(gè)人筆記,如果有幸被同好看到,可以在留言中指出我的問(wèn)題或者一起討論!

一、算法評(píng)估

1、數(shù)據(jù)集的劃分

????????評(píng)估算法過(guò)程中,我們要將數(shù)據(jù)集分成訓(xùn)練集、交叉驗(yàn)證集、測(cè)試集,習(xí)慣上應(yīng)該先將數(shù)據(jù)集隨機(jī)無(wú)規(guī)律排序后按照6:2:2的比例進(jìn)行劃分。三個(gè)集合分別計(jì)算的代價(jià)函數(shù)J記為Jtrain,Jcv,Jtest。

2、模型(多項(xiàng)式)選擇

? ? ? ? 即假設(shè)函數(shù)h的次數(shù),對(duì)于待測(cè)試的的不同次數(shù)的假設(shè)函數(shù)分別利用訓(xùn)練集訓(xùn)練,將得到的模型再利用交叉驗(yàn)證集(簡(jiǎn)稱驗(yàn)證集)計(jì)算代價(jià)函數(shù)即驗(yàn)證誤差。驗(yàn)證誤差最小的模型即位采用的模型,再利用測(cè)試集得到推廣誤差。

3、欠擬合與過(guò)擬合的診斷

? ? ? ? 此時(shí)需要繪制Jtrain和Jcv的曲線來(lái)分析擬合好壞情況。如圖所示,當(dāng)次數(shù)很小的時(shí)候,對(duì)訓(xùn)練集和驗(yàn)證集擬合效果都不好(誤差高),此時(shí)為欠擬合;當(dāng)次數(shù)過(guò)大的時(shí)候,對(duì)測(cè)試集擬合情況會(huì)非常的好,但是對(duì)未知情況(驗(yàn)證集)的預(yù)測(cè)能力會(huì)下降(誤差升高),即訓(xùn)練集誤差很小,驗(yàn)證集誤差過(guò)大,兩者相差很大,此時(shí)為過(guò)擬合。得出結(jié)論:增大多項(xiàng)式次數(shù)能改善欠擬合情況。反之則相反。

誤差與多項(xiàng)式次數(shù)的曲線

4、正則化與擬合情況的關(guān)系

? ? ? ? 此時(shí)依舊需要繪制Jtrain和Jcv的曲線,但是橫坐標(biāo)為正則化參數(shù)\lambda 。如圖所示,正則化參數(shù)越大,對(duì)擬合的“懲罰”就越大,所以會(huì)減少過(guò)擬合情況,\lambda 過(guò)大的極端條件下,即位欠擬合,過(guò)小即不做正則化處理,即為過(guò)擬合。得出結(jié)論:減小正則化參數(shù)能改善欠擬合情況。反之則相反。


誤差與正則化參數(shù)的曲線

5、學(xué)習(xí)曲線

? ? ? ? 一味的增大訓(xùn)練實(shí)例不一定能顯著提升算法的能力,這個(gè)結(jié)論從學(xué)習(xí)曲線中得到。當(dāng)Jtrain從很小增加到很大,Jcv從很大沒(méi)有顯著下降時(shí),即位欠擬合,如圖所示,即使增加m的數(shù)量,也無(wú)法改善此算法的能力。


欠擬合情況學(xué)習(xí)曲線

? ? ? ? 當(dāng)Jtrain從很小緩慢增加,Jcv從很大緩慢下降,此時(shí)在較少訓(xùn)練集下表現(xiàn)出很大的差距(large gap)時(shí),即為過(guò)擬合,如圖所示,隨著m的增大,二者距離會(huì)越來(lái)越接近,進(jìn)而達(dá)到改善算法能力的效果。


?過(guò)擬合情況學(xué)習(xí)曲線

????????綜合這兩種情況得出結(jié)論:增加訓(xùn)練實(shí)例的數(shù)量可以改善過(guò)擬合情況,沒(méi)有反之。

6、特征與神經(jīng)網(wǎng)絡(luò)

? ? ? ? 對(duì)于特征,我們可以去掉一些無(wú)關(guān)特征來(lái)改善過(guò)擬合情況;或者增加更能預(yù)測(cè)結(jié)果的一些特征來(lái)改善欠擬合。

? ? ? ? 對(duì)與網(wǎng)絡(luò)較小的神經(jīng)網(wǎng)絡(luò),參數(shù)少,容易導(dǎo)致欠擬合,但是計(jì)算量??;對(duì)于較大的神經(jīng)網(wǎng)絡(luò),參數(shù)多,容易導(dǎo)致過(guò)擬合,可加入正則化參數(shù)來(lái)改善,計(jì)算量大。較大的神經(jīng)網(wǎng)絡(luò)加正則化的效果更好。

二、誤差分析

1、Skewed Classes(分類偏移)

? ? ? ? 分類偏移是指兩個(gè)類別中其中一個(gè)類別出現(xiàn)的概率非常小,比如腫瘤預(yù)測(cè),腫瘤患者在整個(gè)數(shù)據(jù)集中往往只占0.5%,剩余的99.5%都是健康的,在這樣的情況下正常的考慮誤差的方式將不適用,因?yàn)榧词顾惴ㄓ肋h(yuǎn)預(yù)測(cè)一個(gè)人是健康的,誤差也只有0.5%。為了評(píng)估skewed classes情況的數(shù)據(jù)集,我們要引入查準(zhǔn)率(precision)和查全率(recall)。

? ? ? ? 查準(zhǔn)率:預(yù)測(cè)為1的里面,確實(shí)是1的概率。

? ? ? ? 查全率:實(shí)際是1的里面,被預(yù)測(cè)出來(lái)的概率。

? ? ? ? 查準(zhǔn)率和查全率都應(yīng)該盡可能的大。這里面的1,選取概率小的那一個(gè)類別。所以按照腫瘤的例子,如果永遠(yuǎn)預(yù)測(cè)一個(gè)人是健康的(0),那么他的查準(zhǔn)率為無(wú)窮大,但是查全率為0。

2、閾值與權(quán)衡查準(zhǔn)率和查全率

????????繪制下圖,查準(zhǔn)率查全率與閾值的關(guān)系。


查準(zhǔn)率查全率與閾值的關(guān)系

? ? ? ? 閾值是指假設(shè)函數(shù)h不一定只有在大于0.5的適合預(yù)測(cè)為1,也可以設(shè)置新的閾值,比如為了讓病人警惕性更強(qiáng)一些,可以將閾值設(shè)置為0.3,這樣可以查得更全(查全率高),也可以把閾值設(shè)置的更高比如0.9,這樣只有當(dāng)可能性非常大時(shí)才會(huì)被判斷為腫瘤,也就是查得更準(zhǔn)(查準(zhǔn)率高)。

? ? ? ? 為了權(quán)衡兩個(gè)指標(biāo)的關(guān)系,對(duì)于既定的幾個(gè)閾值,計(jì)算他們的查準(zhǔn)率P和查全率R,然后計(jì)算F1值:F1score ?=?2\frac{PR}{P+R} 。選取F1最高的閾值,即可權(quán)衡查準(zhǔn)率和查全率。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 體驗(yàn)入 前幾天和業(yè)務(wù)聯(lián)系說(shuō)感覺(jué)機(jī)子作出的值不準(zhǔn),業(yè)務(wù)了好多說(shuō)機(jī)子出問(wèn)題的可能性很小,今天業(yè)務(wù)讓技術(shù)過(guò)來(lái)看一檢測(cè)真的...
    93650345d0d1閱讀 144評(píng)論 0 4
  • 今天三個(gè)圖樣,沒(méi)想太多就開始,不想構(gòu)圖,不想搭配,就先把新學(xué)的春天變化版畫上…… 然后把今天的圖樣填上,想到什么畫...
    芯之禪繞閱讀 184評(píng)論 0 0
  • 在《西方哲學(xué)史》里面,羅素有這樣一個(gè)定義:一切可以解釋的事情是科學(xué),一切不可以解釋的事情是神學(xué),介于兩者之間的是哲...
    喵星君大大閱讀 548評(píng)論 0 0
  • 高效能人士的七個(gè)習(xí)慣是史蒂芬.柯維創(chuàng)造的一套標(biāo)準(zhǔn)操作系統(tǒng),根據(jù)普遍原則和自然規(guī)律進(jìn)行整合。 體系的中心原則:首先塑...
    啃書仔仔閱讀 344評(píng)論 0 0
  • 武昌府街邊的狗肉食肆是出了名的色香味俱全,廚子趙大全有一副去腥的好手藝,且菜量特別的實(shí)誠(chéng),每日食客都絡(luò)繹不絕。...
    豬與地下城閱讀 317評(píng)論 0 0

友情鏈接更多精彩內(nèi)容