《Field-aware Factorization Machines for CTR Prediction》閱讀筆記
轉載請註明出處:西土城的搬磚日常
原文鏈接:Field-aware Factorization Machines for CTR Prediction
來源:ACM2016
摘要
CTR預估在計算廣告中很重要。CTR預估中比較常用的模型是degree-2 polynomial mappings 和factorization machines(FMs)。近來,FMs的一個變種FFMs在世界範圍的CTR預估比賽中表現很好,它主要在大規模的稀疏數據分類任務中效果比較好。
介紹
logistic regression 是CTR預估中最廣泛應用的模型,給定一個m個樣本的數據集(yi,xi),yi表示label,xi是特徵向量,模型參數w通過解決下述優化問題得到:
其中
這是一個線性模型。在CTR預估中,學習feature conjunctions 的影響是很重要的,例如在下述例子中:
來自Gucci的廣告在Vogue的點擊率很高。但是線性模型很難學到這個信息,因為線性模型是單獨學習Gucci和Vogue的權重,為了解決這個問題,degree-2 polynomial mappings(poly2)模型和FMs模型被提出來,poly2模型為每一個feature conjunctions 學習一個權重,FMs模型是通過分解成2個隱向量的內積來表示feature conjunctions的影響。poly2模型和FM模型
研究表明poly2模型可以很好的捕捉feature conjunctions的影響,而且把線性模型應用在degree-2 mapplings上的時候,訓練時間和測試時間都會明顯快於應用核的方法。poly2模型會為每一個特徵對學習一個權重:
其中h(j1,j2)是一個把j1和j2編碼成一個自然數的函數,上面公式的計算複雜度是O(n^2),n表示每個樣本的非0數目的平均。
FMs是為每個特徵學習一個隱向量表示,每個隱向量包含k維,這樣feature conjunctions的影響就被建模成2個隱向量之間的內積:
通過一些計算技巧可以把計算複雜度降到O(nk).在稀疏數據集上,FMs模型要比poly2模型好一些,比如對於上述例子中,對於pair(ESPN,Adidas)只有一個唯一的負樣本,通過poly2模型會學習到一個大的負向權重對於這個pair,然而對於FMs來說,因為它是學習ESPN和Adidas的隱向量表示,所有包含ESPN的樣本和所有Adidas的樣本都會被分別用來學習這2個隱向量,所以它的預測會更準確一些。
FFM模型
FFM模型的思想來源於PITF模型,PITF模型被用在帶有個性化標籤的推薦系統上,在PITF模型中有3個fields,包括user,item,tag,在獨立的隱空間中分解(user,item),(user,tag),(item,tag)。對於大多數的CTR預估來說,特徵一般可以被group成fields,在上述例子中ESPN,Vogue,NBC可以被group成Publisher,而Nike,Gucci,Adidas屬於Advertiser,FFM會充分利用group的信息。考慮下述例子:
在FMs裡面,每個特徵有唯一的一個隱向量表示,這個隱向量被用來學習與其他任何特徵之間的影響。考慮ESPN,w(ESPN)被用來學習與Nike的隱性影響w(ESPN)*w(Nike),還被用來學習與Male的影響w(ESPN)*w(Male),然而由於Nike和Male屬於不同的領域,它們的latent effects也是不一樣的。在FFMs裡面,每個特徵會有幾個不同的隱向量,上述例子的FFMs表示如下:
總體的計算公式如下:實驗
評估方式:參數的影響:可以看出k對logloss的影響不是很大;如果正則項比較大,模型容易產生高偏差,效果不好,正則項比較小,模型容易過擬合。對於學習率來說,如果過小,模型會比較慢的收斂,如果過大,模型loss會減小很快,但是之後就會過擬合了,所以需要early stoping。early stoping 是減小過擬合的一種策略,對於FFM來說:
1、把訓練數據集分成訓練數據和驗證數據
2、在每次迭代的最後,用驗證集來評估loss
3、如果loss上升的話,記錄迭代的次數。stop或者實行第四步
4、如果需要的話,用完整的數據集重新訓練一遍模型,用step3中記錄的迭代次數
比較困難的事情是logloss對迭代的次數很敏感,在驗證集上表現好的迭代次數在測試集上表現不一定好。
與其它模型的比較:
可以看出FFM在CTR預估上效果很好。結論
FFM還支持並行化處理,所以速度比較快。FFM在稀疏數據的處理上比LM,poly2,FM效果要好很多,它把field的概念融入了FM中,很值得學習。實際在運用的時候要根據具體的問題來調參才會達到比較好的效果。
??
推薦閱讀:
※讓人相見恨晚的6件宅家神器,分分鐘提升幸福感!
※有那些值得推薦的國外攝影網站?
※諾基亞目前哪款智能機你覺得是值得入手的,為什麼 ?
※恩替卡韋容易耐葯嗎?
※哪些 500 元以內的物件適合搭配 Surface?
TAG:推荐 |