推荐系统笔记(模型融合)
思維導圖:
? ? ? ? ? ? ? ? ? ? ? ?
?
推薦系統在技術實現上一般劃分三個階段:挖掘、召回、排序。
模型融合:
挖掘的工作就是對用戶和物品做非常深入的結構化分析,對各個角度的特征都被呈現出來,并且建好索引,供召回階段使用,大部分挖掘工作都是離線進行的。
召回:
因為物品太多,每次給一個用戶計算推薦結果時,如果對全部物品挨個計算,那將是一場災難,取而代之的是用一些手段從全量的物品中篩選出一部分比較靠譜的
最后就是排序,針對篩選出的一部分靠譜的做一個統一的論資排輩,最后這個統一的排序就是融合
示意圖如下:
在召回階段,其實就是各種簡單的,復雜的推薦算法,比如說基于內容的推薦,會產生一些推薦結果,比如基于物品的協同過濾會產生一些結果,矩陣分解會產生一些結果,等等。
總之,每種算法都會產生一些推薦結果,一般同時還附帶給每個結果產生一個推薦結果,是各自算法給出來的。不同算法只負責推舉出候選結果,真正最終是否推薦給用戶,由另一個統一的模型說了算,這個叫做模型的融合。
典型的模型融合:邏輯回歸和梯度提升決策樹組合
組合原理:
在推薦系統的模型融合階段,就要以產品目標為導向。
簡單的例子:信息流推薦,如果以提高ctr為目標,則模型融合就要把預估ctr作為本職工作,這個工作一直一來就是邏輯回歸完成
邏輯回歸:
ctr 預估就是在推薦一個物品之前,預估一下用戶點擊它的概率有多大,再根據這個預估的點擊率對物品排序輸出。
邏輯回歸經常被選來執行這個任務,它的輸出值范圍就是0和1之間,剛好滿足點擊率預估的輸出,這是一個基礎。因為邏輯回歸是廣義線性模型,相比于傳統線性模型,在線性模型基礎上增加了 sigmoid函數。
?在對召回階段不同算法給出的候選物品計算ctr預估時,需要:特征、權重
第一個是特征,就是向量化、向量的方式把一個用戶和一個物品的成對組合表示出來。量化方式包括兩種:實數和布爾。實數好理解,比如一個用戶的年齡,一個用戶平均在某個類上每個月的花銷等,布爾,就是取值0或1,針對兩種類別形式的,比如用戶所在的省市,物品的每一個標簽。
用戶和每一個候選物品都組一下,然后以這種特征化的方式表達出來,就可以計算了,否則類別形式的字段不能直接參與計算。
第二個就是權重,每個特征都有一個權重,權重就是特征的話語權,在決定那些物品最終有機會能走到前臺的選秀過程中,用戶和物品對這對組合的所有特征都有投票權,只是每個特征的權重不一樣,對最終計算ctr影響??大有小。
有了特征x,還有特征的權重,也是一個維度和特征一樣的向量w,通過對 x和w做點擊運算,就得到一個傳統線性模型的輸出,再用sigmoid函數對這個值做一個變換,就得到一個0到1之間的值,也就是預估的ctr
特征工程+線性模型,就是模型融合、ctr預估必備的方法
權重主要是損失函數最小化,就是模型的偏差是否足夠小,另一個就是模型的正則化,就是看模型的方差是否足夠小,學習模型的權重,經典的方法就是梯度下降一類,但是梯度下降效果收斂很慢。后來google在2013年發表新的學習算法:FTRL,一種結合L!正則和L2正則的在線優化算法
梯度提升決策樹GBDT部分請看:https://blog.csdn.net/weixin_41362649/article/details/82803279
模型融合的原理雖然比較簡單,但是實際應用中非常的有效。
?
?
打盡協同過濾、矩陣分解和線性模型
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
??
‘
?
?
?
總結
以上是生活随笔為你收集整理的推荐系统笔记(模型融合)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Bag of Words(BOW)模型
- 下一篇: 推荐系统笔记(深度学习)