繼續學習推薦系統,還是推薦演算法的部分。
因為我的學習是圍繞《推薦系統實踐》展開,這邊書是12年寫成的,所以一開始都是那年比較流行的演算法模型,裡面總共講了三個演算法,乙個是協同過濾,乙個是隱語義模型,乙個圖模型。圖模型我覺得現在實際上用的比較少,所以我就只看了一下,這裡不寫出來了。後面我會研究一下深度學習在推薦系統的應用。
之前講的協同過濾,不管是usercf還是itemcf,都是存在問題的。要麼存在無法解釋為什麼給別人推薦這個物品的問題,要麼就是效率比較低,做到實時推薦有點難,還有就是如果乙個大熱的商品,比如做書籍推薦,你會發現很多有不同喜好的人都會買《哈利波特》,那是不是要給每乙個人都推薦《哈利波特》呢?
所以,還有一種推薦方法,可以對書和物品的興趣進行分類,對於某個使用者,首先得到他的興趣分類,然後從分類中挑選他可能喜歡的物品,這樣劃分了小類,推薦的範圍就更精準了,也不會出現乙個大熱商品不知道該怎麼推薦的問題。
但是這裡就引出了3個問題:
如何給物品進行分類?
如何確定使用者對哪些的物品感興趣,以及感興趣的程度?
對於乙個給定的類,選擇哪些屬於這個類的物品推薦給使用者,以及如何確定這些物品在乙個類中的權重?
為了解決這個問題,就有大佬提出了隱含語義分析技術,採取基於使用者行為統計和自動聚類。這個技術有幾個解決以上三個問題的地方:
後來隱含語義分析技術延伸了很多著名的模型,比如plsa,lda等等。他的本質就是通過資料不同的特徵,挖掘物品間隱性的關聯,從而做到推薦。
概念講完了,我覺得這裡覺得應該注意很重要的一點,是關於樣本問題。因為蒐集推薦系統的樣本,怎麼弄到負樣本這個是值得討論的問題。這裡這本書中提了4分方法,我按實際訓練模型的效果排列出來,有人有專門的**講這個。
對於乙個使用者,從他沒有過行為的物品中取樣出一些物品作為負樣本,但取樣時,保證每個使用者的正負樣本數目相當。
對於乙個使用者,從他沒有過行為的物品中均勻取樣出一些物品作為負樣本。
對於乙個使用者,從他沒有過行為的物品中取樣出一些物品作為負樣本,但取樣時,偏重取樣不熱門的物品。
對於乙個使用者,用他所有沒有過行為的物品作為負樣本。
書裡給出的樣本方法的原則是:
一般認為,很熱門而使用者卻沒有行為更加代表使用者對這個物品不感興趣。因為對於冷門的物品,使用者可能是壓根沒在**中發現這個物品,所以談不上是否感興趣。
lfm的公式我就不貼了,看了一下也不難,說一下這個模型存在的問題。
首先,理論基礎。lfm具有比較好的理論基礎,它是一種學習方法,通過優化乙個設定的指標建立最優的模型。基於鄰域的方法更多的是一種基於統計的方法,並沒有學習過程。
然後,離線計算的時間複雜度。假設有m個使用者、n個物品、k條使用者對物品的行為記錄。那麼,usercf計算使用者相關表的時間複雜度是o(n * (k/n)^2),而itemcf計算物品相關表的時間複雜度是o(m*(k/m)^2)。而對於lfm,如果用f個隱類,迭代s次,那麼它的計算複雜度是o(k * f * s)。那麼,如果k/n > f*s,則代表usercf的時間複雜度低於lfm,如果k/m>f*s,則說明itemcf的時間複雜度低於lfm。在一般情況下,lfm的時間複雜度要稍微高於usercf和itemcf,這主要是因為該演算法需要多次迭代。但總體上,這兩種演算法在時間複雜度上沒有質的差別。
最後關於可解釋性。itemcf演算法支援很好的推薦解釋,它可以利用使用者的歷史行為解釋推薦結果。但lfm無法提供這樣的解釋,它計算出的隱類雖然在語義上確實代表了一類興趣和物品,卻很難用自然語言描述並生成解釋展現給使用者。
推薦系統的演算法部分就到這了,下次來點其他的。
推薦系統 02 隱語義模型LFM
隱語義模型 lfm 圖形解釋 lfm的前生今世 隱語義模型的適用性 關於訓練集 基本概念 那麼如何產生負樣本呢?負樣本的選擇 小結 如何計算權重 負樣本取樣過程 如何求解c的極小值 演算法原理 原函式 deffun x,y return x y 2 x x 2 x y y y 偏x導 defpxfu...
推薦系統 5 隱語義模型 LFM
2019 03 02 14 27 17 對於usercf,我們可以先計算和目標使用者興趣相似的使用者,之後再根據計算出來的使用者喜歡的物品給目標使用者推薦物品。而itemcf,我們可以根據目標使用者喜歡的物品,尋找和這些物品相似的物品,再推薦給使用者。我們還有一種方法,先對所有的物品進行分類,再根據...
推薦演算法5 隱語義模型
lfm latent factor model 隱語義模型的核心思想是通過隱含特徵 latent factor 聯絡使用者興趣和物品,採取基於使用者行為統計的自動聚類。lfm通過如下公式計算使用者u對物品i的興趣 對每個使用者取樣負樣本時,要選取那些很熱門,而使用者卻沒有行為的物品。下面的pytho...