九魄眉、邏輯回歸
許多問題需要將概率估算值作為輸出砰盐。然后通過下兩種方式之一使用返回的概率:
(1)按原樣使用概率
假設(shè)我們創(chuàng)建一個邏輯回歸模型來預測狗在半夜發(fā)出叫聲的概率,即輸出為概率p(bark | night)坑律。
若模型預測 p(bark | night) 的值為 0.05岩梳,那么一年內(nèi),狗的主人應該被驚醒約 18 次晃择。
(2)轉(zhuǎn)換成二元類別
將邏輯回歸輸出映射到二元分類問題的解決方案冀值,二元分類問題的目標是正確預測兩個可能的標簽(例如,“垃圾郵件”或“非垃圾郵件”)中的一個宫屠。
計算概率
邏輯回歸模型如何確保輸出值始終落在 0 和 1 之間列疗?
巧合的是,S 型函數(shù)生成的輸出值正好具有這些特性浪蹂,其定義為:
如果 圖中z 表示使用邏輯回歸訓練的模型的線性層的輸出抵栈,則該S型函數(shù)會生成一個介于 0 和 1 之間的y值(概率)。
根據(jù)該S型函數(shù)的反函數(shù):
z 可定義為標簽“1”(例如“狗叫”)的概率除以標簽“0”(例如“狗不叫”)的概率得出的值的對數(shù)坤次,因此z 也稱為對數(shù)幾率古劲。
邏輯回歸的損失函數(shù)
邏輯回歸的損失函數(shù)是對數(shù)損失函數(shù),定義為
-y是有標簽樣本中的標簽缰猴。由于這是邏輯回歸产艾,因此y的每個值必須是 0 或 1。
-y'是對于特征集x的預測值(介于 0 和 1 之間)。
實際上闷堡,最大限度地降低損失函數(shù)的值會生成最大的似然估計值隘膘。
邏輯回歸中的正則化
如果沒有正則化,邏輯回歸的漸近性會不斷促使損失在高維度空間內(nèi)達到 0缚窿。大多數(shù)邏輯回歸模型會使用以下兩個策略之一來降低模型復雜性:
-L2正則化棘幸。
-早停法焰扳,即限制訓練步數(shù)或?qū)W習速率倦零。
十、分類
(1)指定閾值
邏輯回歸返回的是概率吨悍∩可以“原樣”使用返回的概率(例如,用戶點擊此廣告的概率為 0.00023)育瓜,也可以將返回的概率轉(zhuǎn)換成二元值(例如葫隙,這封電子郵件是垃圾郵件)。
為了將邏輯回歸值映射到二元類別躏仇,您必須指定分類閾值(也稱為判定閾值)恋脚。如果值高于該閾值,則表示“垃圾郵件”焰手;如果值低于該閾值,則表示“非垃圾郵件”。人們往往會認為分類閾值應始終為 0.5胯杭,但閾值取決于具體問題哈肖,因此您必須對其進行調(diào)整。
注意:“調(diào)整”邏輯回歸的閾值不同于調(diào)整學習速率等超參數(shù)躲履。在選擇閾值時见间,需要評估您將因犯錯而承擔多大的后果。例如工猜,將非垃圾郵件誤標記為垃圾郵件會非常糟糕米诉。不過,雖然將垃圾郵件誤標記為非垃圾郵件會令人不快篷帅,但應該不會讓您丟掉工作荒辕。
(2)準確率
準確率是指我們的模型預測正確的結(jié)果所占的比例。
對于二元分類犹褒,可以根據(jù)正類別和負類別按如下方式計算準確率:
其中抵窒,TP = 真正例,TN = 真負例叠骑,F(xiàn)P = 假正例李皇,F(xiàn)N = 假負例。(T:判斷正確,P:判斷為正例)
但是掉房,當使用分類不平衡的數(shù)據(jù)集(比如正類別標簽和負類別標簽的數(shù)量之間存在明顯差異)時茧跋,單單準確率一項并不能反映全面情況。
(3)精確率和召回率
精確率定義如下:卓囚,即在被識別為正類別的樣本中瘾杭,確實為正類別的比例是多少?
如果模型的預測結(jié)果中沒有假正例哪亿,則模型的精確率為 1.0粥烁。
召回率定義如下:,即在所有正類別樣本中蝇棉,被正確識別為正類別的比例是多少讨阻?
如果模型的預測結(jié)果中沒有假負例,則模型的召回率為 1.0篡殷。
精確率和召回率往往是此消彼長的情況钝吮。也就是說,提高精確率通常會降低召回率值板辽,反之亦然奇瘦。
(4)ROC 曲線
ROC 曲線(接收者操作特征曲線)是一種顯示分類模型在所有分類閾值下的效果的圖表。該曲線繪制了以下兩個參數(shù):真正例率劲弦、假正例率耳标。
真正例率
假正例率
ROC 曲線用于繪制采用不同分類閾值時的 TPR 與 FPR。降低分類閾值會導致將更多樣本歸為正類別瓶您,從而增加假正例和真正例的個數(shù)麻捻。
為了計算 ROC 曲線上的點,我們可以使用不同的分類閾值多次評估邏輯回歸模型呀袱,但這樣做效率非常低贸毕。有一種基于排序的高效算法可以為我們提供此類信息,這種算法稱為曲線下面積夜赵。
曲線下面積AUC表示“ROC 曲線下面積”明棍。
根據(jù)每個測試樣本屬于正樣本的概率值從小到大排序,依次將樣本的概率值作為閾值寇僧。每次選取一個不同的閾值摊腋,就可以得到一組FPR和TPR,即ROC曲線上的一點嘁傀。
曲線下面積因以下兩個原因而比較實用:
-曲線下面積的尺度不變兴蒸。它測量預測的排名情況,而不是測量其絕對值细办。
-曲線下面積的分類閾值不變橙凳。它測量模型預測的質(zhì)量,而不考慮所選的分類閾值。
不過岛啸,這兩個原因都有各自的局限性钓觉,這可能會導致曲線下面積在某些用例中不太實用:
-并非總是希望尺度不變。例如坚踩,有時我們非常需要被良好校準的概率輸出荡灾,而曲線下面積無法告訴我們這一結(jié)果。
-并非總是希望分類閾值不變瞬铸。在假負例與假正例的代價存在較大差異的情況下批幌,盡量減少一種類型的分類錯誤可能至關(guān)重要。例如赴捞,在進行垃圾郵件檢測時逼裆,您可能希望優(yōu)先考慮盡量減少假正例(即使這會導致假負例大幅增加)郁稍。對于此類優(yōu)化赦政,曲線下面積并非一個實用的指標。
(5)預測偏差
邏輯回歸預測應當無偏差耀怜。即“預測平均值”應當約等于“觀察平均值”恢着。
預測偏差指的是這兩個平均值之間的差值。
如果出現(xiàn)非常高的非零預測偏差财破,則說明模型某處存在錯誤掰派,因為這表明模型對正類別標簽的出現(xiàn)頻率預測有誤。
造成預測偏差的可能原因包括:
-特征集不完整
-數(shù)據(jù)集混亂
-模型實現(xiàn)流水線中有錯誤
-訓練樣本有偏差
-正則化過強
通過對學習模型進行后期處理來糾正預測偏差左痢,即通過添加校準層來調(diào)整模型的輸出靡羡,從而減小預測偏差。但是俊性,添加校準層并非良策略步。
分桶偏差和預測偏差
在檢查預測偏差時,無法僅根據(jù)一個樣本準確地確定預測偏差定页;必須在“一大桶”樣本中檢查預測偏差趟薄。也就是說,只有將足夠的樣本組合在一起以便能夠比較預測值(例如 0.392)與觀察值(例如 0.394)典徊,邏輯回歸的預測偏差才有意義杭煎。
可以通過以下方式構(gòu)建桶:以線性方式分解目標預測、構(gòu)建分位數(shù)卒落。
下圖表示某個特定模型的校準曲線羡铲。每個點表示包含 1000 個值的分桶。
x 軸表示模型針對該桶預測的平均值儡毕。
y 軸表示該桶的數(shù)據(jù)集中的實際平均值也切。
兩個軸均采用對數(shù)尺度。
為什么只有模型的某些部分所做的預測如此糟糕?以下是幾種可能性:
-訓練集不能充分表示數(shù)據(jù)空間的某些子集贾费。
-數(shù)據(jù)集的某些子集比其他子集更混亂钦购。
-該模型過于正則化。(不妨減小lamda的值褂萧。)
十一押桃、稀疏性正則化
稀疏矢量通常包含許多維度。創(chuàng)建特征組合會導致包含更多維度导犹。由于使用此類高維度特征矢量唱凯,因此模型可能會非常龐大,并且需要大量的 RAM谎痢。
在高維度稀疏矢量中磕昼,最好盡可能使權(quán)重正好降至 0。正好為 0 的權(quán)重基本上會使相應特征從模型中移除节猿。將特征設(shè)為 0 可節(jié)省 RAM 空間票从,且可以減少模型中的噪點。
以一個涵蓋全球地區(qū)(不僅僅只是涵蓋加利福尼亞州)的住房數(shù)據(jù)集為例滨嘱。如果按分(每度為 60 分)對全球緯度進行分桶峰鄙,則在一次稀疏編碼過程中會產(chǎn)生大約 1 萬個維度;如果按分對全球經(jīng)度進行分桶太雨,則在一次稀疏編碼過程中會產(chǎn)生大約 2 萬個維度吟榴。這兩種特征的特征組合會產(chǎn)生大約 2 億個維度。這 2 億個維度中的很多維度代表非常有限的居住區(qū)域(例如海洋里)囊扳,很難使用這些數(shù)據(jù)進行有效泛化吩翻。
若為這些不需要的維度支付 RAM 存儲費用就太不明智了。
因此锥咸,最好是使無意義維度的權(quán)重正好降至 0狭瞎,這樣我們就可以避免在推理時支付這些模型系數(shù)的存儲費用。
L2 正則化可以使權(quán)重變小她君,但是并不能使它們正好為 0.0脚作。
L0正則化可以減少模型中的非零系數(shù)值的計數(shù)。只有在模型能夠與數(shù)據(jù)擬合時增加此計數(shù)才有意義缔刹。但它會將我們的凸優(yōu)化問題變?yōu)榉峭箖?yōu)化問題球涛,即 NP困難。
L1 正則化這種正則化項的作用類似 L0校镐,但它具有凸優(yōu)化的優(yōu)勢亿扁,可有效進行計算。因此鸟廓,可以使用 L1 正則化使模型中很多信息缺乏的系數(shù)正好為 0从祝,從而在推理時節(jié)省 RAM襟己。
L1和 L2正則化
L2和 L1采用不同的方式降低權(quán)重:
-L2會降低”權(quán)重的平方“。
-L1會降低 “權(quán)重的絕對值”牍陌。
因此擎浴,L2和 L1具有不同的導數(shù):
L2的導數(shù)為 “2 * 權(quán)重”。
L1的導數(shù)為“ k”(一個常數(shù)毒涧,其值與權(quán)重無關(guān))贮预。
從 L2正則化轉(zhuǎn)換到 L1正則化之后,測試損失與訓練損失之間的差值明顯減少契讲。
從 L2正則化轉(zhuǎn)換到 L1正則化之后仿吞,所有已知權(quán)重都有所減少。
增加 L1正則化率一般會減小已知權(quán)重捡偏;不過唤冈,如果正則化率過高,該模型便不能收斂银伟,損失也會很高你虹。
注意,L1 正則化可能會使以下類型的特征的權(quán)重正好為 0:
-信息缺乏的特征枣申。
-不同程度的信息豐富的特征售葡。
-與其他類似的信息豐富特征密切相關(guān)的信息豐富特征看杭。