科普|推荐系统常用算法总结
? ? ??
? ? ? ?算法和模型是推薦系統的核心,直接決定了推薦效果的好壞。在推薦系統中,算法要從兩個方面來考慮:算法本身準確性和算法的效率。相對算法準確性,推薦系統工程化更關注的是算法效率。算法和模型層面主要包含如圖所示。
? ? ? ?從推薦算法的理論來講,主要可以從召回層和排序層兩個方面來說,雖然召回層和排序層都是使用算法和模型來做,但是針對于不用的階段,所用的模型也有一定的差別。
? ? ? ?在召回層中,我們又可以分為3類方法,即傳統算法、機器學習和深度學習模型。
? ? ? ?所謂的傳統算法就是利用傳統推薦系統理論中所采用的算法,例如計算用戶之間的相似度、物品之間的相似度等,而這兩類算法從大體上來講,都可以用協同過濾算法來表示,只不過一個是基于用戶的協同過濾算法,一個是基于物品的協同過濾算法。
? ? ? ?所謂的機器學習模型指使用機器學習相關算法來得到召回層結果的方法,例如NMF(Nonnegative Matrix Factor,非負矩陣分解)算法、LFM模型(Latent Factor Model,基于潛在隱因子模型)、FTRL(Follow The Regularized Leader)算法、PersonalRank算法等。
? ? ? ?所謂的深度學習模型指使用深度學習相關算法來得到召回層結果的方法,包括深度神經網絡(DNN)和Embedding等方法。
? ? ? ?而在排序層中,我們也可以使用機器學習和深度學習兩種方式來對召回結果進行排序,這里的排序一般采用點擊率預估,并將預估得到的概率降序排序取前N得到最終的排序結果。
? ? ? ?在使用機器學習進行排序層排序時,我們也可以將其分成2個大類,分別為線性模型和樹模型,實際上,在真正的使用過程中,我們會將這兩類模型結合起來使用。
在線性模型中主要使用邏輯回歸作為主要的排序算法,而邏輯回歸又屬于線性回歸的一種變形,因此,要想學習好邏輯回歸,就得對線性回歸有一定的了解。
樹模型是排序算法中用得最多的一種模型的統稱,在排序層中常用的樹模型又分為決策樹模型和集成學習模型,常用在推薦系統中的有隨機森林、Boosting、GBDT、XGB、LGB。
? ? ? ?雖然排序層的機器學習算法會被分為線性模型和樹模型兩種,但是進行排序時一般將二者結合使用,其中常見的組合方式就是使用GBDT+LR的方式進行點擊率預測和排序層的排序。
? ? ? ?而使用深度學習模型進行點擊率預測和排序層排序也是推薦系統中常用的方式,尤其對于大量的數據和特征,漸漸成為目前各大企業的主流排序方式,常見方式是DeepFM和xDeepFM。DeepFM顧名思義就是深度模型(Deep)和因子分解機(FM)結合使用。而xDeepFM是DeepFM的升級版,主要改進的是DeepFM模型中的DCN模型的缺點。
END往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習在線手冊深度學習在線手冊AI基礎下載(pdf更新到25集)本站qq群1003271085,加入微信群請回復“加群”獲取一折本站知識星球優惠券,請回復“知識星球”喜歡文章,點個在看
總結
以上是生活随笔為你收集整理的科普|推荐系统常用算法总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图解Reformer:一种高效的Tran
- 下一篇: 深度学习到底有多难?这篇文章带你入门!