協同過濾:是指眾多用戶可以在齊新協同工作,通過與網站的不斷交互,他們的推薦列表可以不斷過濾掉自己不感興趣的項目,從而越來越滿足他們的需求。
基於用戶是指通過分析用戶的行為(如瀏覽、收藏、加入購物車、購買等)來計算哪些用戶有相似的興趣。),然後把興趣相近的用戶關註的產品推薦給對方。
例如:
從上表可以看出,用戶A與用戶C相似,因此用戶A感興趣的產品4被推薦給用戶C..
步驟壹般分為兩步:
讓我們舉壹個更詳細的例子:
假設我們有壹些數據(用戶(字母)商品(數字)_行為,):
我們可以給不同的行為(假設瀏覽1,收藏3,加入購物車5,購買10)不同的分數,得到如下數據:
這樣看著很累,也不方便計算。它可以轉換成矩陣形式,稱為評分矩陣:
計算相似度
計算相似度的方法有很多,如余弦相似度、切比雪夫距離、歐律日距離、曼哈頓距離、賈卡德距離、皮爾遜系數等...計算的相似度隨方式不同而不同。
這裏只介紹余弦相似度,其他的應該是百度。
假設有如下圖所示的二維向量a和b。
那麽它們的余弦相似度是
它擴展到多維向量A (A1,A2,A3,A4...)和B (B1,B3 B2,B4...).
使用該公式,可以計算用戶相似度:
推薦列表=相似度矩陣x得分矩陣
因為用戶已經對推薦列表中的壹些產品有過行為,所以應該過濾掉。
得到最終的推薦列表,其數值代表用戶對商品的興趣:
ItemCF(物品協同過濾),又稱基於商品(物品)的協同過濾算法。
它的原理和UserCF類似,就是根據用戶對商品的喜好找到相似的商品,然後把相似的商品推薦給他。
計算過程也很相似,不同的是計算時對UserCF的評分矩陣進行轉置,然後通過計算商品之間的相似度得到商品之間的相似度矩陣。
最終推薦名單=商品間的相似度矩陣×換位得分矩陣。
對於電商來說,用戶數量壹般大大超過商品數量,此時物品CF的計算復雜度較低。
舉個例子,在壹個購書網站上,當妳讀了壹本書,推薦引擎會給妳推薦相關的書籍,這個推薦的重要性超越了用戶在網站首頁的全面推薦。可以看出,在這種情況下,物品CF的推薦成為了引導用戶瀏覽的重要手段。基於項目的協同過濾算法是目前電子商務中應用最廣泛的推薦算法。
在非社交網絡網站中,內容的內在聯系是非常重要的推薦原則,比基於相似用戶的推薦原則更有效。在社交網站中,用戶CF是更好的選擇。用戶CF加社交網絡信息可以增加用戶對推薦解釋的信心。
推薦多樣性和準確性,各有千秋。
參考:
Spark基於用戶的協同過濾算法/a64989523744768205/?TT _ from =手機_ qq & amputm_campaign=client_share。app =新聞_文章& amputm _ source =手機qq & ampiid=15393016323。utm_medium=toutiao_android
推薦的系統_itemCF和userCF
/u 011263983/article/details/51498458