5分钟解析Facebook最新推荐算法
?
最近看了Facebook關于推薦場景下的CTR的文章-Deep Learning Recommendaton Model for Personalization and Recommendation System,來給大家分享下
一些背景知識
首先呢,推薦場景的CTR預估指的是進來一個客戶,我們要給客戶推薦內容,比如微博的Feed流推薦,這個時候對于算法來說,能否通過模型預測出客戶對于推薦的內容是否會點擊就是CTR需要解決的問題,CTR這里面C就代指Click。
講完CTR是什么之后,我們回到論文本身。這個論文講了很多做推薦領域比較common的方法,比如基于協同過濾的embedding的方法、Maxtrix Factorization矩陣分解方法、最近很流行的FM方法以及MLP方法等的。
我的理解的Facebook的DLRM是基于以上方法的一個綜合應用,并沒有特別多創新的地方,也可以說推薦做到今天為止其實主體方法已經比較固化了。
DLRM究竟怎么做的呢
先來看這張圖:
首先推薦系統,最關鍵的是特征工程的構建,這也是為什么像FM這樣的自動特征工程在推薦領域如此之火的原因。DLRM算法中的特征分為兩個部分,一部分是dense feature,也就是說一些我們可以提煉出的業務特征,這部分在N年前我曾經寫過相關文章,有興趣的同學可以看下。另一部分特征是sparse特征,這部分特征是通過深度學習的方法也就是MLP去挖掘出來的,是非常稀疏的。sparse特征從空間的角度理解就是把原始特征通過神經網絡映射到更多維度空間中,具體怎么實現其實是最核心的部分,論文沒寫,不過大家可以看下源碼(博主我是沒這個能力解析源碼了,留給感興趣的同學)。
這樣有了dense和sparse兩種特征,接下來要用一些Op做特征交叉。DLRM論文中提到他的特征交叉很高效,究竟高效在哪里呢?
以上是論文中提到的交叉方法,都比較簡單,有sum一下向量的方法,還有求轉秩積的方法,第三種是求轉秩矩陣。有了以上的特征抽取和特征交叉方法后,就可以通過一個分類算法配合sigmoid函數求出每一次CTR的概率。
總結
總體看,DLRM跟Facebook之前提的Deep&Wide真沒特別大的區別,就是一些局部優化,當然也可能是因為我段位低,沒看出來的原因。總之,從我的視角來看,DLRM的整體思路是不錯的,通過深度學習挖掘潛在特征,把這些特征跟業務特征融合交叉,最后訓練模型。
總結
以上是生活随笔為你收集整理的5分钟解析Facebook最新推荐算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谈谈晋升-互联网民工篇
- 下一篇: 机器学习多目标分类模型解法