推薦系統 LFM 算法的簡單理解,感覺比大部分網上抄來抄去的文章好理解


 

本文主要是基於《推薦系統實踐》這本書的讀書筆記,還沒有實踐這些算法。

LFM算法是屬於隱含語義模型的算法,不同於基於鄰域的推薦算法。

隱含語義模型有:LFM,LDA,Topic Model

這本書里介紹的LFM算法。書中內容介紹的很詳細,不過我也是看了一天才看明白的。

開始一直沒想明白,隱類的類別是咋來的,后來仔細讀才發現是一個設置的參數。

下面開始進入正文:

對於基於鄰域的機器學習算法來說,如果要給一個用戶推薦商品,那么有兩種方式。

一種是基於物品的,另一種是基於用戶的。

基於物品的是,從該用戶之前的購買商品中,推薦給他相似的商品。

基於用戶的是,找出於該用戶相似的用戶,然后推薦給他相似用戶購買的商品。

但是,推薦系統除了這兩種之外,還有其他的方式。例如如果知道該用戶的興趣分類,可以給他推薦該類別的商品。

為了實現這一功能,我們需要根據用戶的行為數據得到用戶對於不同分類的興趣,以及不同商品的類別歸屬。

 

先說類別歸屬:

對於一本書來說,獲取書的類別可以通過它在貨架上的類別,比如該一本書被歸類為計算機,或者數學。但是一本書也可能屬於多個類別,

比如《史記》可以歸為歷史,也可以歸為古典文學。至於《史記》屬於哪一類別多,應當根據用戶行為來判定更加合理。

也就是說大部分用戶讀《史記》,是把它作為史料來讀,還是古典文學來讀。(反正我也不看,覺得沒區別)。

一言以蔽之,根據用戶行為來划分每件商品的歸屬類別。該方式還有一個好處是,一個商品可以分別屬於不同類別,只是在各個類別中的權重不一樣。

 

再說用戶對於各個類別的喜愛程度:

用戶對於不同的類別的喜好程度也不同,該算法可以根據用戶的行為數據推測出用戶對不同的類別的喜好。

 

下面開始介紹算法的內容:

首先是數據的處理,由於使用的是隱性數據集,只有正樣本,例如用戶點擊了某件商品,沒有負樣本。

數據處理主要是選出數據集的負樣本。

負樣本的選取策略主要有以下要點:

(1)正負樣本要均衡,基本保證正負樣本的比例1:1

(2)負樣本需要選擇用戶沒有行為的熱門商品。

選取完成之后,計算用戶對於某件商品的喜愛程度,例如喜歡是1,不喜歡是0

用戶u對於商品i的喜愛程度等於,用戶u對於類別k的喜愛程度 乘以 商品i在類別k的比重

這是代價函數。

然后根據用戶行為數據使用隨機提督下降法訓練。

該模型的參數有:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM