1. 程式人生 > >機器學習筆記(參考吳恩達機器學習視訊筆記)10_機器學習系統的設計

機器學習筆記(參考吳恩達機器學習視訊筆記)10_機器學習系統的設計

10 機器學習系統的設計

10.1 構建學習演算法的方法

以一個垃圾郵件分類器演算法為例。先要做的決定是如何選擇並表達特徵向量x, 可以選擇一個由 100 個最常出現在垃圾郵件中的詞所構成的列表,根據這些詞是否有在郵件中出現,來獲得我們的特徵向量(出現為 1,不出現為 0),尺寸為 100×1。構建一個學習演算法的推薦方法為:

1)從一個簡單的能快速實現的演算法開始,實現該演算法並用交叉驗證集資料測試這個演算法。

2)繪製學習曲線,決定是增加更多資料,或者新增更多特徵,還是其他選擇。

3)進行誤差分析:人工檢查交叉驗證集中我們演算法中產生預測誤差的例項,看看這些例項是否有某種系統化的趨勢。

10.2 類偏斜的誤差度量

類偏斜情況表現為訓練集中有非常多的同一種類的例項,只有很少或沒有其他類的例項。這時,誤差的大小是不能視為評判演算法效果的依據的。查準率( Precision)和查全率( Recall)我們將演算法預測的結果分成四種情況:

1)正確肯定( True Positive,TP):預測為真,實際為真。

2)正確否定( True Negative,TN):預測為假,實際為假。

3)錯誤肯定( False Positive,FP):預測為真,實際為假。

4)錯誤否定( False Negative,FN):預測為假,實際為真。

查準率(P)=TP/(TP+FP)。表示所有預測為真的樣本中,實際上為此真的百分比,越高越好;查全率(R)=TP/(TP+FN)。表示所有實際上為此真的樣本中,成功預測為真的百分比,越高越好。

10.3 權衡查準率和查全率

假設演算法輸出的結果在 0-1 之間,使用閥值 0.5 來預測真和假。如果希望只在非常確信的情況下預測為真,即希望更高的查準率,可以使用比0.5更大的閥值,如 0.7,0.9。但是會增加未能成功預測為假的情況,反之,亦然。

想要權衡查準率和查全率,選擇計算F1 值( F1 Score),其計算公式為:

選擇使得最高的閥值。