日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Lr

發(fā)布時(shí)間:2025/3/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Lr 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

二、 邏輯回歸

? ? ? ?言歸正傳,因?yàn)閺V告大部分是按照CPC計(jì)費(fèi)的,而我們手里的流量是固定的,因此對(duì)每條廣告請(qǐng)求我們就需要保證這條廣告的展示收益更大。而廣告收益是可以根據(jù)點(diǎn)擊率、廣告計(jì)費(fèi)價(jià)格、廣告質(zhì)量度均衡決定的,所以我們就需要評(píng)估廣告的質(zhì)量度和點(diǎn)擊率,本文就主要研究廣告點(diǎn)擊率預(yù)估中廣泛使用的邏輯回歸模型。在實(shí)際廣告點(diǎn)擊率預(yù)估的應(yīng)用中,樣本數(shù)目和特征(邏輯回歸粗暴離散化后)的數(shù)目均可以達(dá)到上億緯度,而LR因?yàn)槠浜?jiǎn)單和易并行,并且基于復(fù)雜的特征工程后也能得到非常好的效果,所以在工業(yè)界獲得了廣泛的應(yīng)用。

? ? ? 邏輯回歸,相對(duì)于線性回歸是用來處理目標(biāo)函數(shù)是離散數(shù)值的情況。它的映射函數(shù)和損失函數(shù)分別為:

? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? (2)

? ? ? 使用梯度下降法進(jìn)行求解,得到迭代公式:

? ? ? ? ? ?

1. ?邏輯回歸的優(yōu)缺點(diǎn):

? ? ? 優(yōu)點(diǎn): ?

? ? ? ? ? a. 簡(jiǎn)單

? ? ? ? ? b. 易于并行、速度快

? ? ? 缺點(diǎn):

? ? ? ? ? a. 需要復(fù)雜的特征工程

? ? ? 注意事項(xiàng):

? ? ? ? ? a. 輸入特征需要離散化。

三、 SGD算法

? ? ? ? ?對(duì)于如上LR的迭代公式來說,我們可以得到GD(Gradient Descent)的求解算法。(W為求解的參數(shù),l(w, z)為損失函數(shù))。

? ? ??

? ? ? 可是如果我們對(duì)參數(shù)做一輪迭代求解,都需要遍歷所有的樣本,這在實(shí)際應(yīng)用中未免迭代速度太慢,模型更新速度也太慢。而且做機(jī)器學(xué)習(xí)的時(shí)候往往更多的數(shù)據(jù)意味著更好的效果,我們能把線上實(shí)時(shí)的數(shù)據(jù)和樣本標(biāo)注也利用進(jìn)來么?答案是 Yes。仔細(xì)研究參數(shù)的迭代我們可以發(fā)現(xiàn),都是給定一個(gè)初始的參數(shù)W,通過迭代逐步求解出當(dāng)前W下降的方向并更新W直到損失函數(shù)穩(wěn)定在最小點(diǎn)。那么我們是不是可以取部分訓(xùn)練集作為原訓(xùn)練集的子集,使用這些子集做迭代,并逐步求解W的下降方向,逐步對(duì)W進(jìn)行更新(理論證明未知)。特別的,如果我們每次取原訓(xùn)練樣本的一個(gè)訓(xùn)練樣本,對(duì)W的值逐步進(jìn)行更新,那么我們就得到了SGD算法。

? ? ? ? ? ? ?

? ? ? ? ?? ?與SGD比較,GD需要每次掃描所有的樣本以計(jì)算一個(gè)全局梯度,SGD則每次只針對(duì)一個(gè)觀測(cè)到的樣本進(jìn)行更新。通常情況下SGD可以更快的逼近最優(yōu)值,而且SGD每次更新只需要一個(gè)樣本,使得它很適合進(jìn)行增量或者在線計(jì)算(也就是所謂的Online learning)。

? ? ? ? ?特別的,迭代和選取模型的時(shí)候我們經(jīng)常希望得到更加稀疏的模型,這不僅僅起到了特征選擇的作用,也降低了預(yù)測(cè)計(jì)算的復(fù)雜度。在實(shí)際使用LR的時(shí)候我們會(huì)使用L1或者L2正則,避免模型過擬合和增加模型的魯棒性。在GD算法下,L1正則化通常能得到更加稀疏的解;可是在SGD算法下模型迭代并不是沿著全局梯度下降,而是沿著某個(gè)樣本的梯度進(jìn)行下降,這樣即使是L1正則也不一定能得到稀疏解。在后面的優(yōu)化算法中,稀疏性是一個(gè)主要追求的目標(biāo)。

四、 TG算法

1. ?L1 正則化法

? ? ? ? 由于L1正則項(xiàng)在0處不可導(dǎo),往往會(huì)造成平滑的凸優(yōu)化問題變成非平滑的凸優(yōu)化問題,因此可以采用次梯度(Subgradient)來計(jì)算L1正則項(xiàng)的梯度。權(quán)重更新方式為:

? ? ? ? ?

? ? ? ?其中是一個(gè)標(biāo)量,為L(zhǎng)1正則化的參數(shù);v是一個(gè)向量,sgn(v)為符號(hào)函數(shù);稱為學(xué)習(xí)率,通常將其設(shè)置為的函數(shù);代表第t次迭代中損失函數(shù)的梯度。

2. ?簡(jiǎn)單截?cái)喾?/span>

? ? ? ? ?既然L1正則化在Online模式下也不能產(chǎn)生更好的稀疏性,而稀疏性對(duì)于高維特征向量以及大數(shù)據(jù)集又特別的重要,我們應(yīng)該如何處理的呢?

? ? ? ? ?簡(jiǎn)單粗暴的方法是設(shè)置一個(gè)閥值,當(dāng)W的某緯度的系數(shù)小于這個(gè)閥值的時(shí)候,將其直接設(shè)置為0。這樣我們就得到了簡(jiǎn)單截?cái)喾ā:?jiǎn)單截?cái)喾ㄒ詋為窗口,當(dāng)t/k不為整數(shù)時(shí)采用標(biāo)準(zhǔn)的SGD進(jìn)行迭代,當(dāng)t/k為整數(shù)時(shí),權(quán)重更新方式如下:

? ? ? ? ? ?

? ? ? ? ? ?

? ? ? ? ?這里是一個(gè)正數(shù);V是一個(gè)向量。

3. ?梯度截?cái)喾?/span>

? ? ? ? ?簡(jiǎn)單截?cái)喾ǚê?jiǎn)單且易于理解,但是在實(shí)際訓(xùn)練過程中的某一步,W的某個(gè)特征系數(shù)可能因?yàn)樵撎卣饔?xùn)練不足引起的,簡(jiǎn)單的截?cái)噙^于簡(jiǎn)單粗暴(too aggresive),會(huì)造成該特征的缺失。那么我們有沒有其他的方法,使得權(quán)重的歸零和截?cái)嗵幚砩晕厝嵋恍┠?#xff1f;對(duì),這就是梯度截?cái)喾?#xff0c;簡(jiǎn)單截?cái)喾ê吞荻冉財(cái)喾▽?duì)特征權(quán)重的處理映射圖對(duì)比如下:

?? ? ? ? ? ?

? ? ? ? ? ?梯度截?cái)喾ǖ牡饺缦?#xff1a;

? ? ? ? ? ??

? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? (3)

? ? ? ? ? ?同樣的梯度截?cái)喾ㄒ彩且詋為窗口,每k步進(jìn)行一次截?cái)唷.?dāng)t/k不為整數(shù)時(shí),當(dāng)t/k為整數(shù)時(shí)。從公式(3)可以看出和決定了截?cái)嗟膮^(qū)域,也決定了W的稀疏程度。這兩個(gè)數(shù)值越大,截?cái)鄥^(qū)域越大,稀疏性也越強(qiáng)。尤其這兩個(gè)值相等的時(shí)候,只需要調(diào)節(jié)一個(gè)參數(shù)就能控制稀疏性。根據(jù)公式(3),得到TG的算法邏輯如下:

? ? ? ? ?

? ? ? ? ?特別的對(duì)(3)進(jìn)行改寫,得到描述特征權(quán)重的更新方式為:

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ??

? ? ? ? ?如果令,截?cái)喙阶兂?#xff1a;

? ? ? ? ? ? ? ??

? ? ? ? ?此時(shí)TG退化成簡(jiǎn)單截?cái)喾āM瑯尤绻?#xff0c;我們就可以得到L1正則化方法。

四、 FOBOS算法

? ? ? ? ? FOBOS(Forward-Backward Splitting)是由John Duchi和Yoram Singer提出的。FOBOS算法把正則化的梯度下降問題分成一個(gè)經(jīng)驗(yàn)損失梯度下降迭代和一個(gè)最優(yōu)化問題。其中第二個(gè)最優(yōu)化問題有兩項(xiàng):第一項(xiàng)2范數(shù)那項(xiàng)表示不能離loss損失迭代結(jié)果太遠(yuǎn),第二項(xiàng)是正則化項(xiàng),用來限定模型復(fù)雜度、抑制過擬合和做稀疏化等。

? ? ? ? ?

? ? ? ? ? 由于求和公式中的每一項(xiàng)都是大于等于0的,所以公式(2)可以拆解成對(duì)特征權(quán)重每一緯度單獨(dú)求解:

? ? ? ? ??? ? ? ? ? ? (2)

? ? ? ? ? ?首先假設(shè)w是(2)的最優(yōu)解,則有。反正時(shí)代入,可以得到w=0是(2)的最優(yōu)解。。。

? ? ? ? ? ?對(duì)v和w的取值分別進(jìn)行求解可以得到:

? ? ? ? ? ?

? ? ? ? ? ?

? ? ? ? ? ?其中g(shù)_i^(t)為梯度G^(t)在緯度i上的取值。然后我們可以得到L1-FOBOS的算法邏輯:

? ? ? ? ? ?

1. ?L1-FOBOS與TG的關(guān)系 ?

? ? ? ? ? ?從公式3)可以看出,L1-FOBOS 在每次更新W的時(shí),對(duì)W的每個(gè)緯度都會(huì)加以判定,當(dāng)滿足時(shí)對(duì)該緯度的特征進(jìn)行截?cái)?#xff0c;這個(gè)判定的含義是當(dāng)一條樣本的梯度不足以令對(duì)應(yīng)緯度上的權(quán)重值發(fā)生足夠大的變化時(shí),認(rèn)為在本次更新中該緯度不夠重要,應(yīng)當(dāng)令其權(quán)重為0。

? ? ? ? ? ?對(duì)于L1-FOBOS特征權(quán)重的各個(gè)緯度更新公式(3),也可以寫為如下形式:

? ? ? ? ? ???

? ? ? ? ? ? 如果令,L1-FOBOS與TG完全一致,L1-FOBOS是TG在特定條件下的特殊形式。

五、 RDA算法

? ? ? ? ? ?之前的算法都是在SGD的基礎(chǔ)上,屬于梯度下降類型的方法,這類型的方法的優(yōu)點(diǎn)是精度比較高,并且TG、FOBOS也能在稀疏性上得到提升。但是RDA卻從另一個(gè)方面進(jìn)行在線求解,并且有效提升了特征權(quán)重的稀疏性。RDA是Simple Dual Averaging Scheme的一個(gè)擴(kuò)展,由Lin Xiao發(fā)表與2010年。

? ? ? ? ? 在RDA中,特征權(quán)重的更新策略包含一個(gè)梯度對(duì)W的積分平均值,正則項(xiàng)和一個(gè)輔助的嚴(yán)格凸函數(shù)。具體為:

。其中<G(t),W>表示梯度G對(duì)W的積分平均值,包含了之前所有梯度的平均值;為正則化項(xiàng),表示一個(gè)非負(fù)且非自減序列,是一個(gè)嚴(yán)格的凸函數(shù)。

1. ?算法原理

? ? ? ? ? ?之前的算法都是在SGD的基礎(chǔ)上,屬于梯度下降類型的方法,這類型的方法的優(yōu)點(diǎn)是精度比較高,并且TG、FOBOS也能在稀疏性上得到提升。但是RDA卻從另一個(gè)方面進(jìn)行在線求解,并且有效提升了特征權(quán)重的稀疏性。RDA是Simple Dual Averaging Scheme的一個(gè)擴(kuò)展,由Lin Xiao發(fā)表于2010年。

? ? ? ? ? L1-RDA特征權(quán)重各個(gè)緯度更新方式為:

? ? ? ? ? ? ? ??

? ? ? ? ? 這里當(dāng)某個(gè)緯度上累積梯度平均值小于閥值的時(shí)候,該緯度權(quán)重將被設(shè)置為0,特征稀疏性由此產(chǎn)生。

? ? ? ? ? 對(duì)比L1-FOBOS我們可以發(fā)現(xiàn),L1-FOBOS是TG的一種特殊形式,在L1-FOBOS中,進(jìn)行截?cái)嗟呐卸l件是

,通常會(huì)定義為正相關(guān)函數(shù)。因此L1-FOBOS的截?cái)嚅y值為,隨著t增加,這個(gè)閥值會(huì)逐漸降低。而相比較而言L1-RDA的截?cái)嚅y值為,是一個(gè)固定的常數(shù),因此可以認(rèn)定L1-RDA比L1-FOBOS更加aggressive。此外L1-FOBOS判定是針對(duì)單次梯度計(jì)算進(jìn)行判定,避免由于訓(xùn)練不足導(dǎo)致的截?cái)鄦栴}。并且通過調(diào)節(jié)一個(gè)參數(shù),很容易在精度和稀疏性上進(jìn)行權(quán)衡。

六、FTRL算法

? ?有實(shí)驗(yàn)證明,L1-FOBOS這一類基于梯度下降的方法有較高的精度,但是L1-RDA卻能在損失一定精度的情況下產(chǎn)生更好的稀疏性。如何能把這兩者的優(yōu)點(diǎn)同時(shí)體現(xiàn)出來的呢?這就是

1. ?L1-FOBOS與L1-RDA在形式上的統(tǒng)一:

L1-FOBOS在形式上,每次迭代都可以表示為(這里我們令)

FTRL綜合考慮了FOBOS和RDA對(duì)于正則項(xiàng)和W的限制,其特征權(quán)重為:


注意,公式(3)中出現(xiàn)了L2正則項(xiàng),而論文[2]的公式中并沒有這一項(xiàng),但是在2013年發(fā)表的FTRL工程化實(shí)現(xiàn)的論文中卻使用了L2正則化項(xiàng)。事實(shí)上該項(xiàng)的引入并不影響FTRL的稀疏性,僅僅相當(dāng)于對(duì)最優(yōu)化過程多了一個(gè)約束,使得結(jié)果求解更加平滑。

公司(3)看上去很復(fù)雜,更新特征權(quán)重貌似非常困難。不妨將其改寫。將其最后一項(xiàng)展開等價(jià)于求解下面的這樣一個(gè)最優(yōu)化問題:


,于是針對(duì)特征權(quán)重的各個(gè)緯度將其拆解成N個(gè)獨(dú)立的標(biāo)量最小化問題。上式最后一項(xiàng)相對(duì)于W說是一個(gè)常數(shù)項(xiàng),并且令,上式等價(jià)于:

到這里,我們遇到了與RDA求解類似的最優(yōu)化問題。用相同的分析方法可以得到:


上式可以看出,引入L2正則化對(duì)于FTRL結(jié)果的稀疏性產(chǎn)生任何影響。

在一個(gè)標(biāo)準(zhǔn)OGD中使用的是一個(gè)全局學(xué)習(xí)策略,這個(gè)策略保證了學(xué)習(xí)率是一個(gè)正的非增長(zhǎng)序列,對(duì)于每個(gè)特征的緯度都是一樣的。

考慮特征緯度的變化率:如果特征1比特征2的變化更快,那么緯度1上學(xué)習(xí)率應(yīng)該下降的比較快。我們就很容易可以用某個(gè)緯度上梯度分量來反映這種變化率。在FTRL中緯度i上的學(xué)習(xí)率是這樣計(jì)算的:

。由于,所以公式(4)中有,這里的是需要輸入的參數(shù),公式(4)中學(xué)習(xí)率寫成累加的形式,是為了方便理解后面FTRL的迭代計(jì)算邏輯。

偽碼采用的事L1和L2混合正則,即實(shí)際的迭代是如下形式:


總結(jié):

從類型上來看,簡(jiǎn)單截?cái)喾āG、FOBOS屬于同一類,都是梯度下降類的算法,并且TG在特定條件可以轉(zhuǎn)換成簡(jiǎn)單截?cái)喾ê虵OBOS;RDA屬于簡(jiǎn)單對(duì)偶平均的擴(kuò)展應(yīng)用;FTRL可以視作RDA和FOBOS的結(jié)合,同時(shí)具備二者的優(yōu)點(diǎn)。目前來看,RDA和FTRL是最好的稀疏模型Online Training的算法。FTRL并行化處理,一方面可以參考ParallelSGD,另一方面可以使用高維向量點(diǎn)乘,及梯度分量并行計(jì)算的思路。

參考文獻(xiàn):

1. ?http://www.wbrecom.com/?p=342 ? 本文顯然大量參考了該文章。 作者寫的確實(shí)好,我再寫一遍以便加深自己的理解。

總結(jié)

以上是生活随笔為你收集整理的Lr的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。