推荐算法综述(一)
推薦算法通常被分為四大類(lèi)(1-4):
- 協(xié)同過(guò)濾推薦算法
- 基于內(nèi)容的推薦算法
- 混合推薦算法
- 流行度推薦算法
除了這些種類(lèi)以外,還有一些高級(jí)非傳統(tǒng)的推薦算法(5)。
推薦算法綜述是分文五個(gè)部分的系列文章,本文作為第一篇,將會(huì)簡(jiǎn)要介紹推薦系統(tǒng)算法的主要種類(lèi)。其中包括算法的簡(jiǎn)要描述、典型的輸入、不同的細(xì)分類(lèi)型以及其優(yōu)點(diǎn)和缺點(diǎn)。在第二和第三篇中,我們將會(huì)詳細(xì)介紹這些算法的區(qū)別,讓你能夠深入理解他們的工作原理。系列文章中的一些內(nèi)容參考了一篇來(lái)自 RecSys 2014 tutorial 的文章:由Xavier Amatriain編寫(xiě)的The Recommender Problem Revisited。
1.協(xié)同過(guò)濾推薦算法
簡(jiǎn)介:通過(guò)在用戶的一系列行為中尋找特定模式來(lái)產(chǎn)生用戶特殊推薦
輸入:僅僅依賴(lài)于慣用數(shù)據(jù)(例如評(píng)價(jià)、購(gòu)買(mǎi)、下載等用戶偏好行為)
類(lèi)型:
- 基于鄰域的協(xié)同過(guò)濾(基于用戶和基于項(xiàng))
- 基于模型的協(xié)同過(guò)濾(矩陣因子分解、受限玻爾茲曼機(jī)、貝葉斯網(wǎng)絡(luò)等等)
優(yōu)點(diǎn):
- 需要最小域
- 不需要用戶和項(xiàng)
- 大部分場(chǎng)景中能夠產(chǎn)生足夠好的結(jié)果
缺點(diǎn):
- 冷啟動(dòng)問(wèn)題
- 需要標(biāo)準(zhǔn)化產(chǎn)品
- 需要很高的用戶和項(xiàng)的比例(1:10)
- 流行度偏見(jiàn)(有長(zhǎng)尾的時(shí)候表現(xiàn)不夠好)
- 難于提供解釋
2.基于內(nèi)容的推薦算法
簡(jiǎn)介:向用戶推薦和其過(guò)去喜歡項(xiàng)的內(nèi)容(例如元數(shù)據(jù)、描述、話題等等)相似的項(xiàng)
輸入:僅僅依賴(lài)于項(xiàng)和用戶的內(nèi)容/描述(除了慣用數(shù)據(jù))
類(lèi)型:
- 信息檢索(例如 tf-idf 和 Okapi BM25)
- 機(jī)器學(xué)習(xí)(例如樸素貝葉斯、支持向量機(jī)、決策樹(shù)等等)
優(yōu)點(diǎn):
- 沒(méi)有冷啟動(dòng)問(wèn)題
- 不需要慣用數(shù)據(jù)
- 沒(méi)有流行度偏見(jiàn),可以推薦有罕見(jiàn)特性的項(xiàng)
- 可以使用用戶內(nèi)容特性來(lái)提供解釋
缺點(diǎn):
- 項(xiàng)內(nèi)容必須是機(jī)器可讀的和有意義的
- 容易歸檔用戶
- 很難有意外,缺少多樣性
- 很難聯(lián)合多個(gè)項(xiàng)的特性
3.混合推薦算法
簡(jiǎn)介:綜合利用協(xié)同過(guò)濾推薦算法和基于內(nèi)容的推薦算法各自的優(yōu)點(diǎn)同時(shí)抵消各自的缺點(diǎn)
輸入:同時(shí)使用用戶和項(xiàng)的內(nèi)容特性與慣用數(shù)據(jù),同時(shí)從兩種輸入類(lèi)型中獲益
類(lèi)型:
- 加權(quán)
- 交換
- 混合
- 特性組合
- 案列
- 特征增強(qiáng)
- 元層次
優(yōu)點(diǎn):
- 由于單獨(dú)使用協(xié)同過(guò)濾推薦算法和基于內(nèi)容的推薦算法
- 沒(méi)有冷啟動(dòng)問(wèn)題
- 沒(méi)有流行度偏見(jiàn),可推薦有罕見(jiàn)特性的項(xiàng)
- 可產(chǎn)生意外,實(shí)現(xiàn)多樣性
缺點(diǎn):
- 需要通過(guò)大量的工作才能得到正確的平衡
4.流行度推薦算法
簡(jiǎn)介:這是一種推薦流行項(xiàng)的方法(例如最多下載、最多看過(guò)、最大影響的項(xiàng))
輸入:使用慣用數(shù)據(jù)和項(xiàng)的內(nèi)容(例如類(lèi)目)
優(yōu)點(diǎn):
- 相對(duì)容易實(shí)現(xiàn)
- 良好的基準(zhǔn)算法
- 有助于解決新用戶冷啟動(dòng)問(wèn)題
缺點(diǎn):
- 需要標(biāo)準(zhǔn)化產(chǎn)品
- 經(jīng)常需要一些項(xiàng)的類(lèi)型進(jìn)行分類(lèi)
- 不會(huì)推薦新項(xiàng)(很少有機(jī)會(huì)被觀測(cè)到)
- 推薦列表不會(huì)改變太大
5.高級(jí)非傳統(tǒng)推薦算法
類(lèi)型:
- 深度學(xué)習(xí)
- 學(xué)習(xí)等級(jí)
- Multi-armed bandits(探索/開(kāi)發(fā))
- 上下文感知推薦
- 張量分解
- 分解機(jī)
- 社會(huì)推薦
優(yōu)點(diǎn):
- 利于勉強(qiáng)維持最終性能百分點(diǎn)
- 你可以說(shuō)你正在使用漸進(jìn)的方式
缺點(diǎn):
- 難于理解
- 缺乏推薦工具支持
- 沒(méi)有為你的首個(gè)推薦系統(tǒng)提供推薦的方式
查看英文原文:Overview of Recommender Algorithms – Part 1
總結(jié)
- 上一篇: 深入理解java中的Soft refer
- 下一篇: 推荐算法综述(二)