隱語義模型是經過隱含特徵,聯繫用戶和物品,基於用戶的特徵對物品進行自動聚類,而後在用戶感興趣的類中選擇物品推薦給用戶。算法
對於推薦系統,經常使用的算法:函數
USER-CF:給用戶推薦和他興趣類似的用戶喜歡的物品學習
ITEM-CF:給用戶推薦他們感興趣物品的類似物品spa
LFM:獲得用戶感興趣的分類,從該分類中挑選物品推薦給用戶3d
對於LFM,要作的工做有:blog
1.對物品進行分類,這裏是模糊分類,也就是得出每一個物品在每一個類中的權重,並非說一個物品就是屬於一個類排序
2.肯定用戶感興趣的類,這裏要計算用戶對全部類的興趣度im
3.從類中挑選物品給用戶推薦,根據1,2結果相乘,得出用戶對全部物品的興趣度,進行排序,得出結果d3
公式:統計
其中R是用戶u對物品i的興趣度組成的矩陣
P是用戶u對第k個類的興趣度組成的矩陣
Q是物品i在第k個類中的權重
一圖勝千言:
能夠看出,協同過濾是基於統計的,不須要有學習過程,能夠實時得出。而隱語義模型是基於建模的,根據訓練集,計算出上圖中的所有參數,有訓練過程,沒法實時給出結果。
損失函數:
其中後兩項爲L2正則化項,防止過擬合
求解能夠用梯度降低:
梯度:
迭代求解:
隱語義模型中負樣本的選擇
1)對每一個用戶,要保證正負樣本的數目相近
2)對每一個用戶採樣負樣本時,要選取那些很熱門,而用戶卻沒有行爲的物品。(更表明用戶對該物品不感興
趣)
參數:
1.隱特徵個數,也就是類個數f
2.學習率∂
3.正則化參數λ
相對CF,LFM的空間複雜度更低