1. 程式人生 > >22.向最優的錯誤率看齊 翻譯自 吳恩達新書-Machine Learning Yearning

22.向最優的錯誤率看齊 翻譯自 吳恩達新書-Machine Learning Yearning

在我們的貓咪識別器的例⼦中,最理想的情況是實現⼀個最優的識別器,提供接近於0的錯誤率。如果圖片中有貓,人類幾乎可以100%識別出來;因此,我們也期望機器可以達到同樣的水平。

和貓咪的例子相比,其他的問題相對複雜得多。例設,你正在開發一款語⾳設別系統,但你發現14%的語音片段有太多的背景噪音,還有些連人類都無法識別的無序資訊。在這種情況下,即使是最優秀的語⾳識別系統也會產生14%左右的錯誤率。 假設你的演算法在語音識別任務中的效果如下:

  • 在訓練樣本集上的錯誤率為15%
  • 在開發樣本集上的錯誤率為30%

演算法在訓練樣本集上的表現非常接近於最優的錯誤率14%。因此在演算法在訓練樣本集上的已經沒有多大的提升空間了。但是,演算法在開發樣本集上的泛化效果並不理想;因此方差有廣闊的提升空間。

這個例子和上⼀章提到的第三個例子很相似,在訓練樣本集上有15%的錯誤率,在開發樣本集上有30%的錯誤率。如果最優的錯誤率接近0%,那麼訓練樣本集上的15%錯誤率還是有很大的提升空間的。這就意味著偏差方面的優化將會非常有果效。但是如果最優的錯誤率是14%,那麼在訓練樣本集上,留給我們的分類器的提升空間就非常少了。

對於那些z最優錯誤率遠大於0的問題,需要對演算法的錯誤率做更加詳細的分解。讓我們繼續上面提到的語音識別的例⼦,開發樣本集上的總錯誤率為30%,可以按照如下方法進行分解(同樣的方法也可以應用於測試樣本集):

  • 最優錯誤率(不可避免的偏差):14%。此時即使是世界上最最優秀的語音識別系統,
  • 可避免的偏差:1%
    。通過計算訓練集錯誤率與z最優錯誤率的差值得來。
  • 方差:15%。開發樣本集的錯誤率與訓練樣本集上錯誤率的差值。為了和之前講到的概念關聯,偏差和可避免偏差之間的關係如下:
**偏差 = z最優錯誤率(不可避免的偏差) + 可避免的偏差**

可避免的偏差反映出,你的演算法距離最優的分類器還有多遠的距離。

方差的概念和之前描述的相同。從理論上說,我們可以通過使用⼀個龐大的訓練樣本集,來使方差趨於0。因此,當資料集足夠大時,所有的方差都是可以被避免的,也就沒有了不可避免方差的概念。

再考慮⼀個例⼦,最優的錯誤率是14%,我們已知:

  • 訓練樣本集錯誤率=15%
  • 開發樣本集錯誤率=16%

依據前幾章的定義,我們稱這個分類器為高差分類器,但是如果最優的錯誤率為14%,則可避免的偏差是1%,方差也是1%,這個演算法已經做的很好,需要改進的空間很少,只比最優錯誤率多2%。

我們從這些例⼦可以看出,知道最優錯誤率,我們之後的步驟,會有很大的幫助。在統計學中,最優錯誤率也被稱為貝葉斯錯誤率或是貝葉斯率。

我們如何知道最優的錯誤率是多少呢?對於那些人類擅長的任務,比如圖片識別或語音片段轉錄,你可以讓人在訓練樣本集上對樣本進行標記,然後計算人類的準去率。這樣你就可以得到大致的最優錯誤率了。但是,如果你要處理連人類都很難解決的問題(比如,把哪些電影或是廣告推薦給⽤戶),估計最優錯誤率就變得困難的多了。

在33章-35章(和人類水平進行對比的章節)中,我們會詳細討論,如何對比機器學習演算法效能和人類水平。

在之前的幾章中,你學習瞭如何通過觀察訓練集和開發集上的錯誤率,來估計可避免/不可避免偏差和方差。下⼀章將會討論如何使用這些錯誤率,通過對錯誤率的分析,來設立優先順序,決定要首先減少偏差還是方差。你的專案是高偏差(可避免的)還是高方差,將決定了你會採用什麼樣的技術,來解決問題。