隱語義模型又可稱爲LFM(latent factor model),它從誕生到今天產生了不少著名的模型和方法,其中和該技術相關且耳熟能詳的名詞有pLSA、 LDA、隱含類別模型(latent class model)、隱含主題模型(latent topic model)、矩陣分解(matrix factorization)。 本節將對隱含語義模型在Top-N推薦中的應用進行詳細介紹,並經過實際的數據評測該模型。算法
核心思想:機器學習
經過隱含特徵(latent factor)聯繫用戶興趣和物品。函數
舉例:學習
用戶A的興趣涉及偵探小說、科普圖書以及一些計算機技術書,而用戶B的興趣比較集中在數學和機器學習方面 。對A和B推薦圖書時,根據第一篇文章,咱們能夠採用基於鄰域的算法:UserCF 和ItemCF。 優化
UserCF:首先須要找到和他們看了一樣書的其餘用戶(興趣類似的用戶),而後給他們推薦那些用戶喜歡的其餘書。spa
ItemCF:須要給他們推薦和他們已經看的書類似的書,好比用戶B看了不少關於數據挖掘的書,能夠給他推薦機器學習或者模式識別方面的書。 blog
還有一種是基於興趣分類的方算法,也就是隱語義模型,隱語義模型經過以下公式計算用戶u對物品 i 的興趣:排序
其中,pu,k 和 qi,k 是模型的參數,其中 pu,k 度量了用戶u的興趣和第k個隱類的關係,而 qi,k 度量了第k個隱類和物品 i 之間的關係。這樣,就能夠經過隱類,把用戶u與物品 i 的興趣聯繫起來。數學
須要注意的是推薦系統的用戶行爲分爲顯性反饋和隱性反饋。 LFM在顯性反饋數據(也就是評分數據)上解決評分預測問題並達到了很好的精度。不過本章主要討論的是隱性反饋數據集,這種數據集的特色是隻有正樣本(用戶喜歡什麼物品),而沒有負樣本(用戶對什麼物品不感興趣) 。所以,須要構造負樣本數據。it
構造負樣本時,要注意如下兩點:
LFM損失函數:
經過利用梯度降低來最小化損失函數C,從而求解出pu,k 和 qi,k 。
在LFM中,重要的參數有4個:
舉例:
數據集包含的是全部的user, 全部的item,以及每一個user有過行爲的item列表,使用LFM對其建模後,咱們能夠獲得以下圖所示的模型:(假設數據集中有3個user, 4個item, LFM建模的分類數爲3)
其中,R是user-item矩陣,矩陣值Rij表示的是用戶 i 對物品 j 的興趣度。對於一個用戶來講,當計算出他對全部物品的興趣度後,就能夠進行排序並做出推薦。
LFM算法從數據集中抽取出若干主題,做爲用戶和物品 之間鏈接的橋樑,將R矩陣表示爲P矩陣和Q矩陣相乘。其中P矩陣是user-class矩陣,矩陣值Pij表示的是用戶 i 對class j的興趣度;Q矩陣式class-item矩陣,矩陣值Qij表示的是物品 j 在class i中的權重,權重越高越能做爲該類的表明。
優勢:
總結:
LFM的研究一直是在評分預測問題上的,不多有人用它去生成TopN推薦的列表,並且也不多有人研究如何將這個數據用到非評分數據上。其實LFM在評分預測和在TopN上應用的道理是同樣的。
在TopN問題上,隱反饋數據集上R只有1和0,分別表示感興趣和不感興趣,而且原始數據中只有明確1類的正樣本,負反饋數據須要咱們本身收集生成。經過獲取PQ矩陣,就能夠向某個特定用戶推薦他喜歡的電影類內電影中權重最高的電影或者按權重從大到小排序推薦N個電影給此用戶。
LFM具備比較好的理論基礎,它是一種學習方法,經過優化一個設定的指標創建最優的模型。基於鄰域的方法更多的是一種基於統計的方法,並無學習過程。
LFM在生成一個用戶推薦列表時速度太慢,所以不能在線實時計算。
ItemCF算法支持很好的推薦解釋,它能夠利用用戶的歷史行爲解釋推薦結果。 但LFM沒法提供這樣的解釋。