4.5 偏斜类-机器学习笔记-斯坦福吴恩达教授
偏斜類(Skewed Classes)
引子
假定我們通過邏輯回歸來預測病人是否患有癌癥:
y={0,病人未患癌癥1,病人患有癌癥y=\begin{cases}0,\quad病人未患癌癥\\1,\quad病人患有癌癥\end{cases}y={0,病人未患癌癥1,病人患有癌癥?
并且,令人欣喜的是,測試集的錯誤率只有 1%。別著急高興,假如我們的測試樣本中只有 0.5% 患有癌癥,那么我們何不直接讓預測函數為:
hθ(x)=0h_θ(x)=0hθ?(x)=0
即,我們永遠預測病人不患病,那么準確率會高達 95%。但這可不是一件好事兒,我們追求高準確率犧牲的是病人的利益。引起這個問題的原因是樣本中出現了偏斜類(Skewed Classes),偏斜即傾斜,大量樣本傾斜向了某一類型。
查準率(Precision)與召回率(Recall)
從上面的例子我們知道,單純地使用誤差(Error)并不能完善地評價模型好壞,現在引入兩個重要的評價指標:(1)查準率(Precision);(2)召回率(Recall),并定義:
- 陽性(Positive):表示正樣本。當預測和實際都為正樣本時,表示真陽性(True Positive);如果預測為正樣本,而實際為負樣本,則表示假陽性(False Positive)。
- 陰性(Negative):表示負樣本。當預測和實際都為負樣本時,表示真陰性(True Negative);如果預測為負樣本,而實際為正樣本,則表示假陰性(False Negative)。
則: - 查準率(Precision):
Precision=TruePosPredicatedPos=TruePosTruePos+FalsePosPrecision=\frac{TruePos}{PredicatedPos}=\frac{TruePos}{TruePos+FalsePos}Precision=PredicatedPosTruePos?=TruePos+FalsePosTruePos?
在上例中,查準率就描述了:在我們預測患癌的病人中,確實患了癌癥的病人的比例。從公式中我們也可以得出,要想得到提高查準率,我們就要降低假陽性的出現的頻次,即,我們只有在擁有十足的把握是,才預測一個樣本為正樣本。
- 召回率(Recall):
Recall=TruePosActualPos=TruePosTruePos+FalseNegRecall=\frac{TruePos}{ActualPos}=\frac{TruePos}{TruePos+FalseNeg}Recall=ActualPosTruePos?=TruePos+FalseNegTruePos?
在上例中,召回率就描述了:在患癌的病人中,有多少病人被我們預測到了。從公式中我們也可以得出,要想提高召回率,我們就要降低假陰性出現的頻次,即,盡可能不放過任何可能為正樣本的樣本。
查準率和召回率的權衡
理想狀況下,我們希望假設函數能夠同時具備高準確率(High Precision)及高召回率(High Recall)。但是往往魚和熊掌不可兼得。回到預測病人患癌的例子中,假定我們的預測函數為:
y={1,hθ(x)≥0.50,otherwisey=\begin{cases}1,\quad h_\theta(x)≥0.5\\0,\quad otherwise\end{cases}y={1,hθ?(x)≥0.50,otherwise?
即,我們設定的預測閾值為 0.5 。這么做似乎風險不小,很多沒有患癌的病人被我們認為患有癌癥而接受了不必要的治療,因此,我們調高我們的閾值為 0.7 :
y={1,hθ(x)≥0.70,otherwisey=\begin{cases}1,\quad h_\theta(x)≥0.7\\0,\quad otherwise\end{cases}y={1,hθ?(x)≥0.70,otherwise?
此時,必須有較高的把握,我們才會預測一個患有癌癥,避免非癌癥患者接受到了不必要的治療,假陽性樣本少,此時我們也獲得了高查準率。然而,這么預測的代價是,有些癌癥病患體征不明顯,就被我們認為沒有患癌,從而得不到治療,假陰性樣本多,即我們的召回率偏低。
當我們嘗試構建了不同的算法模型,并且獲得了不同的查準率和召回率:
那么選擇哪個算法是最好的呢,假定我們使用平均值來權衡查準率和召回率:
Average=P+R2Average=\frac{P+R}2Average=2P+R?
按照平均值,我們會選擇算法 3,但是這并不是一個好的算法,因為其查準率太低了,我們希望有一個指標能選出查準率和召回率都高的算法,為此,引入了 F1Score :
F1Score=2PRP+RF_1Score=2\frac{PR}{P+R}F1?Score=2P+RPR?
從公式中也可以看到,分子是查準率和召回率的乘積,只有二者都較高時, F1ScoreF_1ScoreF1?Score 才會較高,特別地:
F1Score=0,ifP=0orR=0F_1Score=0,if\ P=0\ \ or\ \ R=0F1?Score=0,if?P=0??or??R=0F1Score=1,ifP=1andR=1F_1Score=1,if\ P=1\ and\ R=1F1?Score=1,if?P=1?and?R=1
F1ScoreF_1ScoreF1?Score 幫我們選出了算法1,事實也確實如此,算法1的查準率和召回率都較高。
總結
以上是生活随笔為你收集整理的4.5 偏斜类-机器学习笔记-斯坦福吴恩达教授的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4.4 机器学习系统设计--垃圾邮件分类
- 下一篇: 4.6 大数据集-机器学习笔记-斯坦福吴