機器學習如何進行誤差分析
前言
在上一篇文章如何快速提高機器學習模型的效能中我們介紹了只要當你的模型效能比人類水平要低的時候,就可以通過人工誤差分析
來提高模型的效能,誤差分析是指通過人工來檢查模型預測錯誤的資料,來幫助你判斷下一步應該怎麼優化演算法,來提升模型的效能
。本篇文章主要介紹,究竟應該如何來進行分析誤差,文章主要內容來自於deeplearning.ai視訊教程。
誤差分析
我們設計了一個貓的分類器,將我們設計的演算法在開發集(驗證集)上進行測試發現只有90%的準確率,也就是還存在10%的錯誤率。通過觀察演算法在開發集上的表現發現,演算法將上面兩張狗的圖片預測成了貓,也許你的同伴會給你提下面這些建議
- 針對狗,收集更多狗的照片
- 設計只處理狗的演算法,以此來提升分類器的準確率
那麼我們到底要不要這樣做呢?
如果上面的想法來優化分類器的效能,可能要花不少時間來收集照片和設計演算法,最終還可能對於模型效能的提升不大。所以這時候我們就會思考,這個優化的方向究竟是不是正確的,那麼我們究竟應該如何來判斷優化方向到底是不是正確的呢?
我們可以通過一個標準的誤差分析流程,來確定我們優化演算法的方向
。
誤差分析流程
- 統計開發集中分類錯誤的例子
我們統計了100個分類錯誤的開發集的例子,發現其中只有5張狗的圖片,也就表示分類器只是將5張狗的照片錯誤的判斷為了貓。此時,如果我們針對狗的照片進行優化,最多也只能將開發集中100個錯誤分類的例子降為95個,降低5%的錯誤率,也就是將模型的誤差由原來的10%降為了9.5%,可以發現提升效果並不是特別明顯。
如果狗的照片不是5張,而是50張。此時,我們針對於狗的照片進行優化,就能帶來模型效能的巨大提升,模型的錯誤率可以由原來的10%降為5%。
- 同時評估多個想法
在進行誤差分析的時候,我們可以同時評估多個改善想法,通過統計誤差來分析來判斷我們的想法是不是正確的,以此來選擇對模型效能提升最優的方向。
圖片id | 狗 | 獅子 | 獵豹 | 圖片模糊 |
---|---|---|---|---|
1 | √ | |||
2 | √ | |||
3 | √ | |||
4 | √ | |||
… | ||||
佔比 | 5% | 10% | 30% | 55% |
上表展示的是針對模型在開發集上分類錯誤例子的統計。為了更好的選擇我們的優化方向,我們可以設計一張表格來統計模型分類錯誤的情況,表格的列名代表著我們的改善模型的想法,用勾來勾選模型分類錯誤的原因,最後一行用來統計每個改善想法的佔比。
圖片模糊的影響和將獵豹預測為了貓
兩個方向上。