科普|推荐系统常用算法总结
? ? ??
? ? ? ?算法和模型是推薦系統(tǒng)的核心,直接決定了推薦效果的好壞。在推薦系統(tǒng)中,算法要從兩個方面來考慮:算法本身準(zhǔn)確性和算法的效率。相對算法準(zhǔn)確性,推薦系統(tǒng)工程化更關(guān)注的是算法效率。算法和模型層面主要包含如圖所示。
? ? ? ?從推薦算法的理論來講,主要可以從召回層和排序?qū)觾蓚€方面來說,雖然召回層和排序?qū)佣际鞘褂盟惴ê湍P蛠碜?#xff0c;但是針對于不用的階段,所用的模型也有一定的差別。
? ? ? ?在召回層中,我們又可以分為3類方法,即傳統(tǒng)算法、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)模型。
? ? ? ?所謂的傳統(tǒng)算法就是利用傳統(tǒng)推薦系統(tǒng)理論中所采用的算法,例如計算用戶之間的相似度、物品之間的相似度等,而這兩類算法從大體上來講,都可以用協(xié)同過濾算法來表示,只不過一個是基于用戶的協(xié)同過濾算法,一個是基于物品的協(xié)同過濾算法。
? ? ? ?所謂的機(jī)器學(xué)習(xí)模型指使用機(jī)器學(xué)習(xí)相關(guān)算法來得到召回層結(jié)果的方法,例如NMF(Nonnegative Matrix Factor,非負(fù)矩陣分解)算法、LFM模型(Latent Factor Model,基于潛在隱因子模型)、FTRL(Follow The Regularized Leader)算法、PersonalRank算法等。
? ? ? ?所謂的深度學(xué)習(xí)模型指使用深度學(xué)習(xí)相關(guān)算法來得到召回層結(jié)果的方法,包括深度神經(jīng)網(wǎng)絡(luò)(DNN)和Embedding等方法。
? ? ? ?而在排序?qū)又?#xff0c;我們也可以使用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)兩種方式來對召回結(jié)果進(jìn)行排序,這里的排序一般采用點(diǎn)擊率預(yù)估,并將預(yù)估得到的概率降序排序取前N得到最終的排序結(jié)果。
? ? ? ?在使用機(jī)器學(xué)習(xí)進(jìn)行排序?qū)优判驎r,我們也可以將其分成2個大類,分別為線性模型和樹模型,實(shí)際上,在真正的使用過程中,我們會將這兩類模型結(jié)合起來使用。
在線性模型中主要使用邏輯回歸作為主要的排序算法,而邏輯回歸又屬于線性回歸的一種變形,因此,要想學(xué)習(xí)好邏輯回歸,就得對線性回歸有一定的了解。
樹模型是排序算法中用得最多的一種模型的統(tǒng)稱,在排序?qū)又谐S玫臉淠P陀址譃闆Q策樹模型和集成學(xué)習(xí)模型,常用在推薦系統(tǒng)中的有隨機(jī)森林、Boosting、GBDT、XGB、LGB。
? ? ? ?雖然排序?qū)拥臋C(jī)器學(xué)習(xí)算法會被分為線性模型和樹模型兩種,但是進(jìn)行排序時一般將二者結(jié)合使用,其中常見的組合方式就是使用GBDT+LR的方式進(jìn)行點(diǎn)擊率預(yù)測和排序?qū)拥呐判颉?/p>
? ? ? ?而使用深度學(xué)習(xí)模型進(jìn)行點(diǎn)擊率預(yù)測和排序?qū)优判蛞彩峭扑]系統(tǒng)中常用的方式,尤其對于大量的數(shù)據(jù)和特征,漸漸成為目前各大企業(yè)的主流排序方式,常見方式是DeepFM和xDeepFM。DeepFM顧名思義就是深度模型(Deep)和因子分解機(jī)(FM)結(jié)合使用。而xDeepFM是DeepFM的升級版,主要改進(jìn)的是DeepFM模型中的DCN模型的缺點(diǎn)。
END往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)在線手冊深度學(xué)習(xí)在線手冊AI基礎(chǔ)下載(pdf更新到25集)本站qq群1003271085,加入微信群請回復(fù)“加群”獲取一折本站知識星球優(yōu)惠券,請回復(fù)“知識星球”喜歡文章,點(diǎn)個在看
總結(jié)
以上是生活随笔為你收集整理的科普|推荐系统常用算法总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图解Reformer:一种高效的Tran
- 下一篇: 如何只使用标签来构建一个简单的电影推荐系