【Datawhale】推薦系統-協同過濾
協同過濾:基本思想是根據使用者之前的喜好以及其他興趣相近的使用者的選擇來給使用者推薦物品基於使用者的協同過濾演算法(UserCF): 給使用者推薦和他興趣相似的其他使用者喜歡的產品基於物品的協同過濾演算法(ItemCF): 給使用者推薦和他之前喜歡的物品相似的物品2. 相似性度量方法(1)傑卡德(Jaccard)相似係數兩個使用者u uu和v vv互動商品交集的數量佔這兩個使用者互動商品並集的數量的比例:s i m u v = ∣ N ( u ) ∩ N ( v ) ∣ ∣ N ( u ) ∣ ∪ ∣ N ( v ) ∣ sim_{uv}=\frac{|N(u) \cap N(v)|}{\sqrt{|N(u)| \cup|N(v)|}}sim uv = ∣N(u)∣∪∣N(v)∣ ∣N(u)∩N(v)∣ (2)餘弦相似度矩陣的每一行表示一個使用者對所有商品的互動情況,有互動的商品值為1沒有互動的商品值為0,矩陣的列表示所有商品。若使用者和商品數量分別為m , n m,nm,n的話,互動矩陣A AA就是一個m mm行n nn列的矩陣。s i m u v = c o s ( u , v ) = u ⋅ v ∣ u ∣ ⋅ ∣ v ∣ sim_{uv} = cos(u,v) =\frac{u\cdot v}{|u|\cdot |v|}sim uv =cos(u,v)= ∣u∣⋅∣v∣u⋅v (3)皮爾遜相關係數皮爾遜相關係數通過使用使用者的平均分對各獨立評分進行修正,減小了使用者評分偏置的影響。s i m ( u , v ) = ∑ i ∈ I ( r u i − r ˉ u ) ( r v i − r ˉ v ) ∑ i ∈ I ( r u i − r ˉ u ) 2 ∑ i ∈ I ( r v i − r ˉ v ) 2 sim(u,v)=\frac{\sum_{i\in I}(r_{ui}-\bar r_u)(r_{vi}-\bar r_v)}{\sqrt{\sum_{i\in I }(r_{ui}-\bar r_u)^2}\sqrt{\sum_{i\in I }(r_{vi}-\bar r_v)^2}}sim(u,v)= ∑ i∈I (r ui − rˉ u ) 2 ∑ i∈I (r vi − rˉ v ) 2 ∑ i∈I (r ui − rˉ u )(r vi − rˉ v ) 其中r u i , r v i r_{ui},r_{vi}r ui ,r vi 分別表示使用者u uu和使用者v vv對商品i ii是否有互動(或者具體的評分值),r ˉ u , r ˉ v \bar r_u, \bar r_v rˉ u , rˉ v 分別表示使用者u uu和使用者v vv互動的所有商品互動數量或者具體評分的平均值。3.基於使用者的協同過濾UserCF演算法主要包括兩個步驟:找到和目標使用者興趣相似的集合找到這個集合中的使用者喜歡的, 且目標使用者沒有聽說過的物品推薦給目標使用者。這裡常用的方式之一是利用使用者相似度和相似使用者的評價加權平均獲得使用者的評價預測, 用下面式子表示:R u , p = ∑ s ∈ S ( w u , s ⋅ R s , p ) ∑ s ∈ S w u , s R_{\mathrm{u}, \mathrm{p}}=\frac{\sum_{\mathrm{s} \in S}\left(w_{\mathrm{u}, \mathrm{s}} \cdot R_{\mathrm{s}, \mathrm{p}}\right)}{\sum_{\mathrm{s} \in S} w_{\mathrm{u}, \mathrm{s}}}R u,p = ∑ s∈S w u,s ∑ s∈S (w u,s ⋅R s,p ) 這個式子裡面, 權重w u , s w_{u,s}w u,s 是使用者u uu和使用者s ss的相似度, R s , p R_{s,p}R s,p 是使用者s ss對物品p pp的評分。(由於今天加班,程式碼部分來不及實踐和展現,後期補上)
相關文章
- 協同過濾實現小型推薦系統
- 推薦系統與協同過濾、奇異值分解
- 協同過濾在推薦系統中的應用
- 推薦系統入門之使用協同過濾實現商品推薦
- 推薦協同過濾演算法演算法
- SimRank協同過濾推薦演算法演算法
- 協同過濾推薦演算法總結演算法
- 基於使用者的協同過濾來構建推薦系統
- 推薦召回--基於物品的協同過濾:ItemCF
- 【轉】推薦系統演算法總結(二)——協同過濾(CF) MF FM FFM演算法
- 推薦系統 task 1 @datawhale
- 物品推薦(基於物品的協同過濾演算法)演算法
- 推薦系統--完整的架構設計和演算法(協同過濾、隱語義)架構演算法
- 使用協同濾波(Collaborative Filtering)實現內容推薦系統Filter
- 機器學習:推薦系統(五. 以矩陣分來解協作過濾)機器學習矩陣
- 【小白學推薦1】 協同過濾 零基礎到入門
- [R]可能是史上程式碼最少的協同過濾推薦引擎
- 矩陣分解在協同過濾推薦演算法中的應用矩陣演算法
- 協同過濾筆記筆記
- DataWhale打卡Day01--推薦系統入門
- 協同過濾演算法演算法
- chapter2:協同過濾APT
- 基於遺傳最佳化的協同過濾推薦演算法matlab模擬演算法Matlab
- 協同過濾演算法——入門演算法
- 協同過濾演算法簡介演算法
- 推薦:免費開源企業內部協同即時系統Openfire
- 【JAVA】助力數字化營銷:基於協同過濾演算法實現個性化商品推薦Java演算法
- 構建基於深度學習神經網路協同過濾模型(NCF)的影片推薦系統(Python3.10/Tensorflow2.11)深度學習神經網路模型Python
- 協同過濾演算法概述與python 實現協同過濾演算法基於內容(usr-it演算法Python
- 基於物品的協同過濾演算法演算法
- 基於專案的協同過濾推薦演算法(Item-Based Collaborative Filtering Recommendation Algorithms)演算法FilterGo
- chapter3:協同過濾-隱式評級及基於物品的過濾APT
- 推薦系統
- 【推薦系統篇】--推薦系統之訓練模型模型
- 編輯推薦之《推薦系統》
- 協同過濾的R語言實現及改進R語言
- 協同過濾(CF)演算法詳解和實現演算法
- 基於使用者的協同過濾演算法演算法