吳恩達機器學習筆記 —— 12 機器學習系統設計

xingoo發表於2018-07-24

本章主要圍繞機器學習的推薦實踐過程以及評測指標,一方面告訴我們如何優化我們的模型;另一方面告訴我們對於分類的演算法,使用精確率和召回率或者F1值來衡量效果更佳。最後還強調了下,在大部分的機器學習中,訓練樣本對模型的準確率都有一定的影響。

更多內容參考 機器學習&深度學習

機器學習最佳實踐

針對垃圾郵件分類這個專案,一般的做法是,首先由一堆的郵件和是否是垃圾郵件的標註,如[(郵件內容1,是),(郵件內容2,否),(郵件內容3,是)...]。然後我們針對郵件的內容去做分詞,蒐集全部詞語組織成詞表;由於郵件內容的詞通常都是常用詞,因此可以取top500的片語織成詞表,然後替換內容郵件。

接下來如果想要優化機器學學習模型,可以有下面幾種:
1 蒐集更多的資料
2 從郵件的地址中尋找新的feature
3 從郵件內容中尋找新的feature
4 基於更復雜的演算法檢測錯拼詞

推薦的步驟是:
1 先通過一些簡單的演算法快速實現,然後通過交叉驗證選擇一個比較好的模型
2 通過學習曲線,確定是屬於高偏差的情況、還是高方差的情況,再來決定是否增加樣本、或者增加特徵
3 錯誤分類的分析,通過分析那些被分錯的樣本,觀察是否有什麼共同的特徵。比如分析一個英文單詞,提取詞幹和不提取,錯誤率有沒有什麼變化,從而調整演算法

P、R、F1模型評測

在說一個其他的例子,癌症檢測。如果我們的錯誤率是1%,而1%中只有0.5%是真正得了癌症的,那麼這個分類的演算法其實也稱不上好。所以錯誤率低,並不一定代表模型就好。

因此可以使用下面的指標衡量方法,精確率和召回率。精確率是指我們預測的多少是對的;召回率是指我們預測對的全不全(預測對的佔本身就是對的多少)。通過這兩個指標可以比較好的評判一個分類演算法的好壞。

吳恩達機器學習筆記 —— 12 機器學習系統設計

如果不知道怎麼平衡精確率和召回率,可以直接使用F1 Score,這個指標同時衡量了兩個值:

吳恩達機器學習筆記 —— 12 機器學習系統設計

一般說來,盲目的擴充樣本資料並沒有什麼作用。但是在一些特例中,只有足夠的樣本才能使得訓練更準確。比如基於上下文卻分容易混淆的詞語。

相關文章