標籤:

什麼叫基於模型的推薦演算法?

能否有人認真介紹下何謂基於模型的推薦演算法,一個演算法被定義為基於模型的最主要依據是什麼?看到一篇論文里按下圖分類的,但是依然有點不清楚,請高人解釋下


基於模型的推薦演算法,是與基於Memory的推薦演算法相對的,基於Memory的推薦演算法,主要是將所有的用戶數據,讀入內存,進行運算;當數據量特別大時,顯然這種方法是不靠譜的,因此出現了基於模型的推薦演算法,依託於一些機器學習的模型,通過離線進行訓練,在線進行推薦。


1.基於記憶

基於記憶的方法使用用戶之間(協同過濾)或物品之間(基於內容的推薦)的聯繫(相似性)這一數據(贊、投票、點擊等等)來給用戶u推薦他從來沒見到的物品i。在協同過濾例子中,從與用戶u最相似的用戶組裡的物品集來推薦,因此物品是協同合作的。與此相反,基於內容的推薦嘗試比較物品的特性如電影類型、演員、原書的出版社等來推薦相似的新物品。簡單地說,基於記憶的方法嚴重地依賴簡單的相似性度量(比如餘弦相似性、皮爾森相關係數等)來把相似的用戶或物品匹配起來。如果有一矩陣,其中每一行是一個用戶,每一列代表一個物品,則基於記憶的方法對這一矩陣的行或列使用相似性度量來獲得一個相似度值。

2.基於模型

另一方面基於模型的方法嘗試更進一步地填充上面說的矩陣,它們嘗試量化一個用戶會多麼的喜歡他們之前沒有遇到的物品。為達此目的,基於模型的方法使用一些機器學習演算法來對物品的向量(針對一個特定的用戶)來訓練,然後建立模型來預測用戶對於新的物品的得分。流行的基於模型的技術是貝葉斯網路、奇異值分解和隱含概率語義分析。

下圖貼個常用的基於模型的演算法吧


因為推薦模型是預先存在,不是從數據中學習得到。


推薦閱讀:

怎麼確定LDA的topic個數?
三百萬級用戶數據做基於用戶協同過濾演算法,相似度如何計算?
程序可以判斷用戶當前的狀態嗎?
想學習推薦系統,如何從小白成為高手?

TAG:推薦演算法 |