推薦系統(tǒng)CTR之FM模型(七)

轉(zhuǎn)載 http://www.reibang.com/p/776598acc35a

1. 背景

在計算廣告和推薦系統(tǒng)重势篡,CTR預(yù)估(click-through rate)是非常重要的一個環(huán)節(jié),判斷一個商品的是否進(jìn)行推薦需要根據(jù)CTR預(yù)估的點(diǎn)擊率來進(jìn)行模暗。在進(jìn)行CTR預(yù)估時殊霞,除了單特征外,往往要對特征進(jìn)行組合汰蓉。對于特征組合來說绷蹲,業(yè)界常用的方法有人工特征工程 + LR(Logistic Regression)、GBDT(Gradient Boosting Decision Tree) + LR顾孽、FM(Factorization Machine)和FFM(Field-aware Factorization Machine)模型祝钢。最近幾年也出現(xiàn)了很多基于FM改進(jìn)的方法,如deepFM若厚,F(xiàn)NN拦英,PNN,DCN测秸,xDeepFM等疤估。

2.動機(jī)(one-hot編碼帶來的問題)

FM(Factorization Machine)主要是為了解決數(shù)據(jù)稀疏的情況下灾常,特征怎樣組合的問題。已一個廣告分類的問題為例铃拇,根據(jù)用戶與廣告位對的一些特征钞瀑,來預(yù)測用戶是否會點(diǎn)擊廣告。數(shù)據(jù)如下


image.png

clicked 是分類值慷荔,表明用戶有沒有點(diǎn)擊該廣告雕什。1表示點(diǎn)擊,0表示未點(diǎn)擊显晶。而country贷岸,day,ad_type 則是對應(yīng)對的特征磷雇。對于這種categories特征偿警,一般都是進(jìn)行one-hot編碼處理。
將上面的數(shù)據(jù)進(jìn)行one-hot編碼后唯笙,就變成下面這樣螟蒸。


image.png

因?yàn)閏ategories 特征,所有經(jīng)過one-hot編碼以后睁本,不可避免的樣本的數(shù)據(jù)就變得很稀疏尿庐。假設(shè)淘寶或者京東上的item為100萬忠怖,如果對item這個維度進(jìn)行one-hot編碼呢堰,光這一個維度數(shù)據(jù)的稀疏度就是百萬分之一。由此可見凡泣,數(shù)據(jù)的稀疏性枉疼,是我們在實(shí)際應(yīng)用場景中面臨的一個非常常見的挑戰(zhàn)與問題。

one-hot編碼帶來的另一個問題是特征空間變大鞋拟。同樣以上面淘寶上的item為例骂维,將item進(jìn)行one-hot編碼以后,樣本空間有一個categorical變?yōu)榱税偃f維的數(shù)值特征贺纲,特征空間一下子暴增一百萬航闺。所以大廠動不動上億維度,就是這么來的

3猴誊、對特征進(jìn)行組合

普通的線性模型潦刃,我們都是將各個特征獨(dú)立考慮的,并沒有考慮到特征與特征之間的相互關(guān)系懈叹。但實(shí)際上乖杠,大量的特征之間是有關(guān)聯(lián)的。最簡單的以電商為例澄成,一般女性用戶看化妝品服裝之類的廣告比較多胧洒,而男性更青睞各種球類裝備畏吓。那很明顯,女性這個特征與化妝品類服裝類商品有很大的關(guān)聯(lián)性卫漫,男性這個特征與球類裝備的關(guān)聯(lián)性更為密切菲饼。如果我們能將這些有關(guān)聯(lián)的特征找出來,顯然是很有意義的汛兜。

一般的線性模型為:


image.png
image.png

表示巴粪。為了簡單起見,我們討論二階多項式模型粥谬。具體的模型表達(dá)式如下:

為了簡單起見肛根,我們只考慮二階交叉的情況,具體的模型如下:

image.png
image.png

4.FM 求解

image.png

那么漏策,如何解決二次項參數(shù)的訓(xùn)練問題呢派哲?矩陣分解提供了一種解決思路。在model-based的協(xié)同過濾中掺喻,一個rating矩陣可以分解為user矩陣和item矩陣芭届,每個user和item都可以采用一個隱向量表示。比如在下圖中的例子中感耙,我們把每個user表示成一個二維向量褂乍,同時把每個item表示成一個二維向量,兩個向量的點(diǎn)積就是矩陣中user對item的打分即硼。

image.png

image.png

image.png
image.png
image.png
image.png

我們再來看一下FM的訓(xùn)練復(fù)雜度逃片,利用SGD(Stochastic Gradient Descent)訓(xùn)練模型。模型各個參數(shù)的梯度如下:

image.png
image.png

5只酥、代碼練習(xí)

libFM

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末褥实,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子裂允,更是在濱河造成了極大的恐慌损离,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绝编,死亡現(xiàn)場離奇詭異僻澎,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)十饥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進(jìn)店門窟勃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人绷跑,你說我怎么就攤上這事拳恋。” “怎么了砸捏?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵谬运,是天一觀的道長隙赁。 經(jīng)常有香客問我,道長梆暖,這世上最難降的妖魔是什么伞访? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮轰驳,結(jié)果婚禮上厚掷,老公的妹妹穿的比我還像新娘。我一直安慰自己级解,他們只是感情好冒黑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著勤哗,像睡著了一般抡爹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上芒划,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天冬竟,我揣著相機(jī)與錄音,去河邊找鬼民逼。 笑死泵殴,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拼苍。 我是一名探鬼主播笑诅,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼映屋!你這毒婦竟也來了苟鸯?” 一聲冷哼從身側(cè)響起同蜻,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤棚点,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后湾蔓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瘫析,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年默责,在試婚紗的時候發(fā)現(xiàn)自己被綠了贬循。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡桃序,死狀恐怖杖虾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情媒熊,我是刑警寧澤奇适,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布坟比,位于F島的核電站,受9級特大地震影響嚷往,放射性物質(zhì)發(fā)生泄漏葛账。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一皮仁、第九天 我趴在偏房一處隱蔽的房頂上張望籍琳。 院中可真熱鬧,春花似錦贷祈、人聲如沸趋急。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宣谈。三九已至,卻和暖如春键科,著一層夾襖步出監(jiān)牢的瞬間闻丑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工勋颖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嗦嗡,地道東北人。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓饭玲,卻偏偏與公主長得像侥祭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子茄厘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容