CTR預估[三]: Algorithm-LR and Regularization
作者:@三瘋蘭尼斯特 && @Ainika Peng
時間:2017年11月
出處:https://zhuanlan.zhihu.com/p/31504720
聲明:版權所有,轉載請聯繫作者並註明出處。
在<上一篇>中,我們簡單介紹了Naive LR。在工業界,單純使用Naive LR從效果上來說經常會顯得力不從心,而regularization的加入大大提升了LR的效果和應用範圍。本節我們將深入regularization的內涵和外延。
系列目錄傳送門見 -- CTR預估系列一覽表
1.1.4 Naive LR and Regularization
1.1.4.1 Regularization
正則化(regularization)是對過大權重的一種懲罰。它的目的是避免某些權重有特別高的幅度,在模型中佔據完全的主導地位。
從貝葉斯學派的角度看,正則化等價於對模型的參數設定一個先驗(Prior):
加入正則項的loss function可以看做「likelihood項」和「正則項」的競爭:
- 正則項將特徵 拉向某個初始值 (通常是0);
- likelihood項儘可能使特徵擬合訓練數據。
模型擬合的結果,是對兩者的一種權衡(trade-off)。
注意:不同的資料中對於likelihood/fitting項,loss項和regularization項的描述會混用:
loss項一般是「負」log_likelihood項,需要注意正則項的符號。
likelihood項和樣本量是有關係的,但正則項和樣本是沒有關係的。因此,樣本量小的時候(<C),正則項的作用更明顯。這和直觀理解是一致的:樣本量小的時候,更傾向於使用先驗,而樣本量大的時候更傾向於使用樣本擬合後驗。
俗話說凡事過猶不及。當正則化項過大之後,特徵的表達力會不足,training error & test error 都會提高。因此,需要仔細設計正則項的參數。
注意,有些地方使用拉格朗日問題
來替代原問題 這是因為滿足KKT條件的原問題和拉格朗日問題的解一致,且 為定值。
1.1.4.2 L1-Norm, L2-Norm and Elastic Net
最常見的正則化是L1和L2正則。如果同時存在L1-Norm和L2-Norm則稱作Elastic Net:
分別為L1-Norm和L2-Norm的正則係數。
1.1.4.2.1 正則的直觀理解
上圖中以兩個特徵的LR模型為例,兩個特徵的參數分別是 和 。藍色線表示Loss的等高線,一圈代表相同的一個loss值,圓心就是樣本觀測值(假設一個樣本),半徑就是誤差值,受限條件就是紅色邊界(就是正則化部分)。
由於正則項是一個定值,紅色邊界在單次優化過程中固定不變;目標是最小化loss,也就是希望最優點 到藍色等高線的中心的半徑最小。這種情況下,紅圈和藍圈交界處為最優解。注意到L1的最優參數(相比L2)更可能在坐標軸上,因此就會出現某個參數權重為0,最終使得模型稀疏。
隨著正則係數的變化,會出現什麼情況呢?
我們先來看L1正則,圖中的藍色contour依然是loss等高線,這裡只畫出了L1正則的第二象限,剩下三個象限的情況和上圖是一致的,只是簡練起見省掉了;在正則係數較小的時候,相當於正則形成的平面較大,loss和正則形成的平衡點在正則的「邊」上,如下圖最外側線上的紅點;隨著正則係數的增大,正則形成的平面越來越小,loss和正則形成的平衡點則會落在「角"上;正則係數進一步增大,loss和正則形成的平衡點依然在「角」上;
這裡演示的是一個2維的情形,此時只有4個角,當維度升高時候,菱形的正則平面變成一個高維的「菱形」,有非常多的角,因此有更多的更高的概率,會有特徵的權重為0;
隨著正則係數的增大,有更多的係數變為0;不同特徵係數和正則係數的關係叫做「pathway」(註:實際橫軸並非正則係數,而是正則係數的變形,但並不因影響序的關係而影響結論),如下圖;
上圖為L1的pathway樣例,左側的正則係數最大,右側的正則係數最小;最右側相當於沒有正則,隨著正則係數的增大,更多的權重被正則為0;
但L2正則的情形則不同,隨著正則係數的增加,最優點只會在loss contour的圓心和坐標原點的連線上移動,如下圖中,從外側的紅點逐漸過渡到內側的紅點,但並不會改變原先係數的稀疏性
Elastic Net的情況介於L1和L2之間:
註:上圖中的elastic net圖示需 。
正則的「尖角」和「圓角」
從上圖我們觀察到,L1正則和坐標軸的交接點是一個連續不可導的「尖角」,而L2正則則是一個圓弧狀的「圓角」。
在比較「尖角」和「圓角」前,先看下不同norm階的圖示:
Elastic Net也是有「尖角」的,如何理解呢?如果只有一個參數 :
從幾何上相當於兩個拋物線在0點相交,因此其交角是一個「尖角」。
我們再看下和elastic net長相非常相似的L1.2:
雖然相似,但elastic net是尖角,L1.2是圓角。
尖角和圓角可以認為正則性質的直觀展示:
- 對於稀疏性(sparsity),尖角是必須的;
- 對於聚組性(grouping),需要嚴格凸的邊保證權重「連續」,從而保證相似的feature獲得相似的權重。
1.1.4.2.2 正則的先驗分布理解
上一節提到,正則化等價於給參數加了一個先驗prior:
L1-Norm等價於假設先驗分布為拉普拉斯分布:
L2-Norm等價於假設先驗分布為高斯分布:
Elastic Net則等價於設置複雜先驗:
(事實上,三個先驗中exp前面的係數並不需要關心。)
這種等價性可以推導。以L1為例:
與上一節的公式進行比較,可以發現這裡的 和上一節中的 表示相同的意思,只是換了一個符號。對於L2-Norm和Elastic Net的推導是類似的,原先prior的係數被另外的正則係數 取代。
總結並對比一下L1和L2正則,如下表:
注意:無論是哪一種regularization, 對於LR,都是不對bias項 進行正則的。
直觀理解:如果 也進入正則,則正則係數的選取會影響y的真實分布擬合。事實上,如果不考慮映射變換 , 這組參數構成的線性平面是在擬合 這個線性平面。bias項的用處很多,後面章節我們再展開。
1.1.4.3 L1, L2, Elastic Net 針對冗餘特徵處理的區別
這裡我們來舉個例子,說明共線性特徵在L1, L2正則下的區別。
假設用三個特徵去擬合 ,即 ,其中 , ; 為係數且 :
圖中明顯縱向只能用 擬合,即 ;橫向的需要 兩個來共同擬合,即 。我們知道最終目標是 min regularization,即
- 如果L1正則:
- 最優值 ; 最優
- 如果L2正則:
- 最優值 ; 最優
從數據對比我們發現:
- L1正則產生稀疏解,並且優先保留權重更小的feature;可以引申,如果兩個特徵完全相同,會隨機保留一個;
- L2正則會保留特徵權重的共線性,也就是共線性的特徵根據本身的特徵強度而被「加權平分」了。
這個性質在什麼時候有用呢?我們看下面的例子:
利用基因檢測是否會罹患白血病。樣本總數 sample = 60,基因特徵數 #(gene feature) = 1W;這是典型的樣本數(n)<<特徵數(p)問題。
針對 n << p 問題,L1和L2正則分別會得到什麼結果?
- L1 會從高相關性的feature group中選一個。
- 這會帶來可解釋性問題,相同pathway的feature只會保留一個,其餘特徵權重會置為0。
- 如果n << p,最多只會保留n個feature。
- L2 會聚合高相關性的feature group -- 相似的特徵獲得相似的權重,稱作 grouping effect;
- 但沒有L1的稀疏解;幾乎所有有效特徵都會擁有非0權重。
可以看到,兩者各有優勢。而Elastic Net的出現結合了兩者的優勢。
Elastic Net目的:解決高相關性feature選擇問題。其優勢在於:
- 保留了L1正則的稀疏性;
- 保留了L2正則的二次項penalty:
- 去掉了L1正則中選擇n == p的限制;
- 保留了grouping effect;
- 比L1正則穩定。
附上三種正則方法的pathway比較:
其中
- 橫軸為正則係數大小。向左正則項越強,向右越弱;
- 縱軸為coefficient。在LR中即為模型給予某個特徵的權重;
- 紅色垂線為調參最優的正則係數。
1.1.4.4 Naive LR and regularization
Hastie曾經提出稀疏性問題中的「Bat on sparsity」原則:
Use a procedure that does well in sparse problems, since no procedure does well in dense problems.
理論上,在有的問題中用L2正則可能更好,但沒有足夠的數據可以供演算法學出極大量的非0係數;而在L1正則中,沒有那麼多的係數需要學習,很多的係數已經是0了。
對於工業界而言,L1-LR是最常用的組合手段。在線上CTR系統中,user等信息one-hot編碼之後會產生巨量特徵,而其中大部分特徵並沒有很強的表達能力。加入L1正則事實上起到了feature selection的作用。
另外,解更稀疏意味著模型更小,更小的模型意味著線上serving時會有更快的計算,以及可以支持更高的QPS。這也是線上模型設計的一個重要考慮因素。
當然,為了提升模型效果,有時也可選用Elastic Net;但僅使用L2正則的情況較少。
下節預告:
本節我們介紹了Naive LR和LR的正則化,包括L1正則、L2正則和Elastic Net的定義、區別和適用場景。在CTR預估中,有另外一個點運用較多:偏差項(bias,b),下一節,主要來說偏差項bias對於預估的高估/低估的影響,以及對於CTR預估中的校準應用。敬請期待:CTR預估[四]: Algorithm-LR Bias和Q分布系列目錄傳送門見 -- CTR預估系列一覽表
LR相關章節關係和傳送門如下:
- 基礎的LR推導以及LR和統計的關係
- 正則化
- Bias運用
- 到LR的Model擴展-MLR
推薦閱讀:
※這些機器學習基礎,你忽略了嗎?
※關於機器學習,你必須知道的10件事情
※LR和SVM的聯繫區別
※CS231n課程筆記翻譯:神經網路筆記 2