基於用戶行為為用戶推薦商品


1、用戶行為數據
  用戶行為數據在網站中最簡單的存在形式就是日志,用戶行為就是指用戶在系統中進行的各種操作,比如用戶在電商網站中進行的瀏覽、點擊、搜索、購買、收藏等行為。我們可以通過分析這些數據來推測用戶喜愛哪種商品,從而為用戶推薦他們更偏愛的商品。

2、用戶行為分類

  根據反饋的明確性來說,用戶行為在個性化推薦系統中一般分兩種:①顯性反饋行為:明確表示用戶對商品喜惡的行為,比如評價、收藏等;②隱性反饋行為:不能明確表示用戶喜惡的行為,比如瀏覽頁面等。

  根據反饋的方向來說,用戶行為數據可以分為:①正反饋:對於某一商品用戶傾向於喜歡它;②負反饋:對於某一商品,用戶傾向於厭惡它。

  對於顯性反饋行為我們很容易區分一個用戶行為是正反饋還是負反饋, 而在隱性反饋行為中,則相對難以確定。

3、推薦算法

  在推薦系統中,最基本也最廣泛應用的算法是基於用戶的協同過濾算法(UserCF)基於物品的協同過濾算法(ItemCF)基於用戶的協同過濾算法(UserCF)的基本思想是:當為A用戶推薦時,可以先找到和他有相似興趣的其他用戶,然后把這些用戶喜歡而A用戶沒有瀏覽的物品推薦給A,即為A用戶推薦與他有相似興趣的用戶喜歡的商品。

  但是隨着系統用戶量的增多,計算用戶興趣相似度矩陣將越來越困難,其運算時間復雜度和空間復雜度的增長和用戶數的增長近似於平方關系。而且基於用戶的協同過濾很難對推薦結果作出解釋。因此,亞馬遜提出了另一個算法——基於物品的協同過濾算法(ItemCF)。

  基於物品的協同過濾算法(ItemCF)的基本思想是:給用戶推薦那些和他們之前喜歡的物品相似的物品。 比如,該算法會因為你購買過《Java從入門到精通》而給你推薦《Java並發編程實戰》。不過,基於物品的協同過濾算法並不利用物品的內容屬性計算物品之間的相似度,二是通過分析用戶的行為數據計算物品之間的相似度。該算法認為,物品A和物品B具有很大的相似度是因為喜歡物品A的用戶大都也喜歡物品B。

  ItemCF流程:

  ①計算物品間的相似度

  

  N(i)代表喜歡i商品的用戶數量,由此我們可以看出,Wij代表喜歡i商品的用戶中同時喜歡j商品的用戶比例。

  在得到商品之間的相似度后,ItemCF通過如下公式計算用戶對一個商品的興趣:

 

  其中P(u,j)表示用戶u對商品j的興趣,S(j,K)表示和物品j最相似的k個商品,N(u)表示用戶產生過行為的商品集合,Wij是物品i和j的相似度,r(u,i)表示用戶u對物品i是否產生過行為。

4、UserCF與ItemCF比較

  4.1個性化程度

  UserCF的推薦結果着重於反映和用戶興趣相似的小群體的熱點,而ItemCF 的推薦結果着重於維系用戶的歷史興趣。換句話說,UserCF的推薦更社會化,反映了用戶所在的小型興趣群體中物品的熱門程度,而ItemCF的推薦更加個性化,反映了用戶自己的興趣愛好。

  4.2易解釋程度

  ItemCF基於用戶的歷史行為進行推薦,對推薦結果容易進行推薦解釋,而UserCF很難對推薦結果作出解釋。

  4.3相似度矩陣

  UserCF要計算用戶相似度矩陣,適用於用戶個數遠少於物品個數的場景;ItemCF要計算物品相似度矩陣,適用於物品個數遠少於用戶個數的場景。互聯網中物品的相似度相對於用戶的興趣一般比較穩定,UserCF中用戶相似度矩陣相比ItemCF中物品相似度矩陣更新更為頻繁。

  4.4冷啟動問題

  對於物品冷啟動來說,UserCF算法對物品冷啟動不敏感, 對於新加入系統的物品,一旦有用戶對該新物品產生行為,UserCF算法就可以將該新物品推薦給和該用戶相似的人群,而ItemCF算法無法很好地推薦新加入的物品。

  對於用戶冷啟動來說,ItemCF算法對用戶冷啟動不敏感,對於新加入的用戶,一旦新用戶對某物品產生行為,ItemCF算法就可以給該新用戶推薦和該物品相似的物品,而UserCF算法無法很好地給新加入的用戶產生推薦。

  所以,新聞網站多用UserCF算法,電商推薦網站多用ItemCF算法。

  由於我們開發的為電商網站,所以接下來我們重點學習ItemCF算法。


免責聲明!

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



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