1. 程式人生 > >推薦系統-基於隱語義模型(LFM)

推薦系統-基於隱語義模型(LFM)

在上一篇部落格,我們大致講解了《推薦系統實踐》中基於鄰域的演算法和程式碼實現,在這一篇部落格,我們繼續講解基於隱語義模型(Latent Factor Model)的推薦系統。

隱語義模型是近幾年推薦系統領域最為熱門的研究話題,它的核心思想是通過隱含特徵(Latent factor)聯絡使用者興趣和物品。
隱語義模型需要解決三個問題:
1 如何給物品進行分類
2 如何確定使用者對哪些類的物品感興趣以及感興趣的程度
3 對於一個給定的類,選擇哪些屬於這個類的物品推薦給使用者,以及如何確定物品在一個類中的權重?

隱含語義分析技術,基於使用者歷史資料,採取基於使用者行為統計的自動聚類,較好的實現了對隱因子的挖掘。

推薦系統的使用者行為分為顯性反饋和隱性反饋。隱性反饋中只有正樣本,滅有負樣本。論文’ One-Class Collaborative Filtering’中對這個問題進行了輸入的探討。在我們的演算法實現中,採用的是隨機取樣法。經過取樣之後,得到使用者-物品集K={(u,i)},其中,如果(u,i)是正樣本,則rui=1,否則rui=0。則目標函式如下:

C=(u,i)K(ruipTuqi)2+λ||pu||22+λ||qi||22
假設隱因子個數為F個,則可以重寫為
C=(u,i)K(ruif=1Fpufqif)2+λ||pu||22+λ||qi||22
其中λ||pu
||22+λ||qi||22
是正則化項。要最小化上面的損失函式,可以利用隨機梯度下降法。上面的目標函式對pufqif分別偏導數,得到
CpufCqif=2(u,i)K(ruif=1Fpufqif)qif+2λpuf=2(u,i)K(ruif=1Fpufqif)puf+2λqif
然後,根據根據梯度下降法,迭代公式為
pufqif:=puf+α((u,i)K(ruif=1Fpufqif)

相關推薦

no