3.2.1 造成误差的原因分析
進行誤差分析
比如說圖片識別的機器學習算法,可能會有一些圖片被錯誤的識別了。我們要想提高準確率,可以先去分析一下到底有哪種圖片被錯誤的的識別了。比如說有100張圖片被錯誤的識別了,我們可以對這100張圖片進行分類,看哪些圖片被錯誤的識別成了貓哪些圖片被錯誤的識別成了狗。或者是哪些圖片,因為比較模糊兒被錯誤的識別。于是,我們就可以針對這些被錯誤識別的圖片,進行個性化的優化來提高準確率。
這是對于提高準確率來說,十分重要的過程。
清楚標注錯誤的數據
我們知道深度學習是一種監督學習算法,這樣就會涉及到人工標注的數據集。如果人來操作,那么就有可能數據標注錯誤。雖然是小概率事件,但是偶爾也會發生。如果用錯誤的數據集來訓練,是否會產生不良影響呢?
深度學習算法對于這一點的魯棒性是比較強的。只要數據集夠大,即使有一點的數據標注錯誤也不會有太大影響。只要這些錯誤樣本離隨機錯誤不太遠,那么放著這些錯誤不管可能也沒問題,而不要花太多時間修復它們。
我這里先警告一下,深度學習算法對隨機誤差很健壯,但對系統性的錯誤就沒那么健壯了。所以比如說,如果做標記的人一直把白色的狗標記成貓,那就成問題了。因為你的分類器學習之后,會把所有白色的狗都分類為貓。但隨機錯誤或近似隨機錯誤,對于大多數深度學習算法來說不成問題。
如果你還記得設立開發集的目標的話,開發集的主要目的是,你希望用它來從兩個分類器A和B中選擇一個。所以當你測試兩個分類器A和B時,在開發集上一個有2.1%錯誤率,另一個有1.9%錯誤率,但是你不能再信任開發集了,因為它無法告訴你這個分類器是否比這個好,因為0.6%的錯誤率是標記出錯導致的。
現在如果你決定要去修正開發集數據,手動重新檢查標簽,并嘗試修正一些標簽,這里還有一些額外的方針和原則需要考慮。首先,我鼓勵你不管用什么修正手段,都要同時作用到開發集和測試集上,我們之前討論過為什么,開發和測試集必須來自相同的分布。開發集確定了你的目標,當你擊中目標后,你希望算法能夠推廣到測試集上,這樣你的團隊能夠更高效的在來自同一分布的開發集和測試集上迭代。
吳教主深度學習和神經網絡課程總綱
總結
以上是生活随笔為你收集整理的3.2.1 造成误差的原因分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3.1.5 改善模型的表现
- 下一篇: 3.2.2 快速搭建你的第一个系统所,并