天天看點

AI學習筆記——機器學習中誤差分析的幾個關鍵概念

在之前的文章中介紹了經典的機器學習算法,深度學習算法等等,但是在這些算法的應用中有幾個非常關鍵又很容易混淆的概念必須要強調一下。

1、資料分組

機器學習的資料一般會分為 train(訓練), development(驗證) 和 test(測試) 三個組。有時候可以将development 和 test 合并統稱為dev/test set。

train 和 dev/test 在資料量較小的時候可以遵循70%和30%的分組原則,在資料量特别大的情況下dev/test 組比例可以減小。但最重要的是train 和 dev/test sets 的資料分布要盡可能一緻。

2、Precision(準确率)和 Recall(召回率)

中文中“準确率”“精确率”經常混用來表示英文中的Precision 和 Accuracy ,然而這兩個概念在數學上這兩個詞是不同的,為了避免歧義,這裡統一用英文表達。Precison和Recall都有相應的數學公式,可以很容易google得到。在這裡通過執行個體和圖形直覺了解這兩個概念的含義。

AI學習筆記——機器學習中誤差分析的幾個關鍵概念

如上圖,比如在測試火災報警器的性能的時候,左邊淡綠色的方框是真實發生火災的事件,右邊方框是沒有發生火災的事件。左半邊圓圈是發生火災并報警的事件,右邊圓圈是沒有發生火災而誤報的情況。

如圖所示,

Precision :所有報警的事件中真實發生火災的比例。它的反義詞更好了解就是誤報率

Recall:所有發生火災的事件中報警的比例。它的反義詞更好了解就是漏報率

當然還有一個容易與Precision 混淆的概念,Accuracy (準确率)—就是所有正确報警的事件除以所有事件,錯誤率(Error)就是準确率的反義詞。

Precision 和 Recall 是兩個沖突的參數,這個也很好了解,提高報警器的敏感度必然會減少漏報率,但是同時誤報率也會增加。是以在評價一個模型的好壞的時候,往往這兩個參數都要考慮,當然也有F1參數将Precision和Recall 統一起來了。

3、Bias(方差) 和 Variance(偏差)

我發現這兩個概念的英文也更好了解,是以我也會直接用Bias 和 Variance 來解釋這兩個概念。

AI學習筆記——機器學習中誤差分析的幾個關鍵概念

同樣的,如上圖以打靶為例,Bias 就是彈孔偏離靶心的距離,偏得越遠Bias 就越高。Variance 就是彈孔發散程度,越發散,Variance 就越高。

一般來說,在機器學習中

Bias 是指模型在Train set(訓練集)中的錯誤率。

Variance是在Dev set(驗證集)中的錯誤率減去Train set(訓練集)中的錯誤率

在機器學習中,Bias 和Variance 的分析非常重要,因為直接關系到訓練的模型是overfitting(過拟合) 還是underfiting(欠拟合)。

4、 Overfitting (過拟合) 和Underfiting(欠拟合)

比如理想狀況下一個模型的錯誤率是(Optimal error rate (“unavoidable bias”))是5%。那我們來分析一下下面的例子。

Train Set 錯誤率 = 6%

Dev Set 錯誤率 = 7%

這是接近理想的狀況,模型既沒有Overfitting 也沒有Underfitting. Bias 是6%接近unavoidable bias,Variance是1%(7%-6%)。

Train Set 錯誤率 = 3%

Dev Set 錯誤率 = 16%

這種情況Variance 非常高(16%-3% =13%), 是典型的Overfitting的情況。

Train Set 錯誤率 = 15%

這種情況Bias 非常高,是典型的Underfitting的情況。

Dev Set 錯誤率 = 30%

Bias 和 Variance 都非常高,同時Overfitting 和 Underfitting.

以上的幾個概念是非常重要又容易混淆的概念,通過舉例而不是羅列公式從感性上了解這些概念對于了解機器學習,優化機器學習模型非常有用。

————

相關文章

AI學習筆記——循環神經網絡(RNN)的基本概念 AI學習筆記——神經網絡和深度學習 AI學習筆記——卷積神經網絡1(CNN)

文章首發steemit.com 為了友善牆内閱讀,搬運至此,歡迎留言或者通路

我的Steemit首頁

繼續閱讀