1. 程式人生 > >偏差與方差分解,與過擬合欠擬合的聯絡?

偏差與方差分解,與過擬合欠擬合的聯絡?

機器學習講演算法之前,需要先弄懂很多概念,這些概念很多是來自統計學的,這也是為什麼傳統的機器學習叫做基於統計的機器學習。對這些概念的理解一定要牢,否則就像技術債,它一定會回來咬你讓你付出更大的代價。這也是為什麼在我們優達學城(Udacity)平臺上的機器學習課程中,第一部分不是講建模,而是先講模型的評估和驗證。(更多關於機器學習相關視訊與課程可以檢視這裡:機器學習工程師(中/英))

這些概念維基都可以查到,但是沒什麼用,不如舉個例子。

你提到了**準確率Accuracy**:

這也是最基本和最常見的分類指標。準確率是被描述為在特定類的所有項中正確分類或標記的項的數量。舉例而言,如果教室裡有 15 個男孩和 16 個女孩,人臉識別軟體能否正確識別所有男孩和所有女孩?如果此軟體能識別 10 個男孩和 8 個女孩,則它的識別準確率就是 60%:

準確率 = 正確識別的例項的數量/所有例項數量

但與人們直覺相反的是,準確率在有些時候並不能說明問題。我們拿京東最近反腐敗做例子,假設京東有10000名員工,其中有10個是腐敗分子,另外9990是吃瓜群眾。某個演算法在這10000人中只正確的識別出了1個腐敗分子,請問演算法的正確率是多少?

中國還有一句老話,叫做寧可錯殺一千不可放過一個。意思是寧可誤判多一點,也不能把真的漏掉。例如某種癌症篩查,第一步檢查儘可能把所有有跡象的都挑出來,讓他們去做進一步檢查去排除,也不要在第一步就忽略,讓患者直接回家。相反,如果你的演算法用作犯罪堅定,判定之後就直接死刑執行了,這時可千萬不能冤枉任何一個好人。

你提到了Error,我們都不想讓模型預測有太多的error,那樣就失去了機器學習的意義。但你要知道這些error是怎麼來的。

在模型預測中,模型可能出現的誤差來自兩個主要來源,即:因模型無法表示基本資料的複雜度而造成的偏差(bias),或者因模型對訓練它所用的有限資料過度敏感而造成的方差(variance)。我們會對兩者進行更詳細的探討。