李宏毅老師機(jī)器學(xué)習(xí)課程筆記_ML Lecture 2: Where does the error come from?

引言:

最近開始學(xué)習(xí)“機(jī)器學(xué)習(xí)”,早就聽說祖國寶島的李宏毅老師的大名,一直沒有時間看他的系列課程。今天聽了一課,感覺非常棒,通俗易懂,而又能夠抓住重點,中間還能加上一些很有趣的例子加深學(xué)生的印象。
視頻鏈接(bilibili):李宏毅機(jī)器學(xué)習(xí)(2017)
另外已經(jīng)有有心的同學(xué)做了速記并更新在github上:李宏毅機(jī)器學(xué)習(xí)筆記(LeeML-Notes)
所以,接下來我的筆記只記錄一些我自己的總結(jié)和聽課當(dāng)時的困惑,如果有能夠幫我解答的朋友也請多多指教。

一、誤差來自哪里?該如何處理這些誤差?

從第一課可以知道,越復(fù)雜的模型并不一定會帶來越低的誤差(error)。誤差來自兩方面:

  • 偏差(bias)
  • 方差(variance)
    如果可以診斷誤差的來源,就可以選擇適當(dāng)?shù)姆椒▉砀倪M(jìn)自己的模型。
    看到這里我有一些困惑,誤差、偏差、方差聽起來太像了,到底有什么區(qū)別呢?


    圖1 偏差、方差的區(qū)別

    【此處與機(jī)器學(xué)習(xí)無關(guān):圖1真的挺難得,不知不覺有一種管理方面感觸的代入感,左上角圖表示好的領(lǐng)導(dǎo)(戰(zhàn)略決策層)與好的員工(戰(zhàn)術(shù)執(zhí)行層)的配合,右上角圖表示好的領(lǐng)導(dǎo)(戰(zhàn)略決策層)與差的員工(戰(zhàn)術(shù)執(zhí)行層)的配合,左下角圖表示差的領(lǐng)導(dǎo)(戰(zhàn)略決策層)與好的員工(戰(zhàn)術(shù)執(zhí)行層)的配合,右下角圖表示差的領(lǐng)導(dǎo)(戰(zhàn)略決策層)與差的員工(戰(zhàn)術(shù)執(zhí)行層)的配合。從這方面可以看出,一個好的戰(zhàn)略決策有多么重要!】


    圖2 模型復(fù)雜度、誤差、偏差、方差的關(guān)系

    圖3 機(jī)器學(xué)習(xí)的過程是尋找到合適的f^

    簡單的模型(如一次方程)所帶來的方差比復(fù)雜模型(如五次方程)所帶來的方差要小如圖4。
    圖4 簡單的模型有助于控制模型空間,從而控制方差大小

    雖然簡單的模型有助于控制方差,但如果一開始選定的范圍并沒有包含f^,那么f*所帶來的偏差也有很大可能帶來誤差。如圖5。
    圖5
  • 如果誤差來自于偏差,那么往往在訓(xùn)練集上欠擬合(underfitting)
  • 如果誤差來自于方差,那么往往在訓(xùn)練集上過擬合(overfitting)


    圖6

    機(jī)器學(xué)習(xí)需要弄清楚一件事情:誤差來自哪里?如果是偏差,那么該怎么辦?如果是方差,那么又該怎么辦?如圖7。

  • 當(dāng)欠擬合的時候(數(shù)據(jù)無法很好擬合f),那就來自偏差,這時應(yīng)該重新設(shè)計模型,因為f^沒有被f所包含
  • 當(dāng)過擬合的時候,那誤差就來自方差,這時候有兩種辦法:
    • 增加數(shù)據(jù):幾乎是萬靈丹,不會傷害偏差,但有一個缺點是成本太高
    • 正則化:可以使曲線變得平滑


      圖7

二、選擇模型的過程中需要注意的事情

通常我們都可以在偏差和方差之間找到一個平衡,從而找到合適的模型。但一定不要做這樣的事情:
直接用全部訓(xùn)練集直接選擇模型,這樣你在測試集上得到的誤差并不能反映真實測試集上的誤差。如圖8。


圖8 選擇模型的時候不要做什么

那么應(yīng)該怎么做?

  • 交叉驗證:將訓(xùn)練集分為訓(xùn)練集和驗證集(validation set),先用這兩個集合選擇出誤差比較小的模型,然后拿自己的測試集來比較誤差的大小。如果覺得第一步本身訓(xùn)練集并不大還要再分的話,可以在選好模型后在整個訓(xùn)練集上再確認(rèn)一下。這樣你的測試集基本上可以反映出模型在真正測試集的誤差。如圖9。


    圖9

    如果你擔(dān)心自己分的測試集可能帶來偏差的話,可以做N次交叉驗證,將訓(xùn)練集分為多組小訓(xùn)練集1,小訓(xùn)練集2,小驗證集,得到誤差最小的模型后再在全量的訓(xùn)練集上繼續(xù)訓(xùn)練即可。如圖10。


    圖10

    在這里李宏毅老師特別提到,在訓(xùn)練集上選好模型后,如果測試集上表現(xiàn)偏差比較大,不要再返回去選擇那些誤差表現(xiàn)大的模型,因為他們可能在private測試集上表現(xiàn)出的誤差可能會更大。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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