電商個性化推薦系統:協同過濾算法方案解析
協同過濾推薦算法是誕生最早且較為著名的推薦算法,其主要的功能是預測和推薦。
算法簡介
在網絡資訊和電子商務信息爆炸式的增長,繁雜的信息中容易造成流失,再次背景下用戶的個性化推薦系統顯得尤為重要,對電子商務平臺和社交信息平臺產生了質的影響。
協同過濾推薦算法是誕生最早,并且較為著名的推薦算法。主要的功能是預測和推薦。算法通過對用戶歷史行為數據的挖掘發現用戶的偏好,基于不同的偏好對用戶進行群組劃分并推薦品味相似的商品。
其主要價值體現在:
- 將潛在用戶轉化為支付用戶;
- 提升電子商務平臺交叉銷售能力;
- 提升客戶對網站的忠誠度;
- 提升廣告渠道轉化效率;
- 提升用戶個性化體驗。
協同過濾算法分類
- 基于用戶的協同過濾算法(user-based collaboratIve filtering,簡稱:ucf)
- 基于物品的協同過濾算法(item-based collaborative filtering,簡稱:icf)
算法階段性工作內容
第一階段
建立用戶行為評分權重模型,達到對用戶行為數據化和可視化,。
以電子商品平臺為例:
- 某用戶進入商品下單頁權重2%;
- 點擊詳情權重8%;
- 收藏15%;
- 支付20%;
- 分享15%;
- 好評20%;
- 評分20%;
- 差評即分數為負數(向量為反方向)。
第二階段
建立測試集和訓練集。
- 訓練集:用于模型構建;
- 測試集:用于檢測模型構建,此數據只在模型檢驗時使用,用于評估模型的準確率。
測試集和訓練集的建立是為了防止模型的構建過度擬合,更是為了監測模型的準確性和可行性,方便對模型進一步修正。
例如:在班級內按身高、腰圍定制了衣服,衣服制作后全班同學穿上很適合,但當這個做衣服標準推行到全校時,制作的衣服很多同學穿不了,原因可能是沒有考慮到肩寬、臂展等。此處本班是訓練集,其他班是測試集。
第三階段
建立合理的數據監控,監視召回率、準確率和覆蓋率。為模型后期修正提供依據。
計算公式
歐幾里德距離公式
(為方便控制可取倒數,使結果分布在0—1之間)
? 余弦定理計算公式(N維空間)
(此處V1和V2為向量)
計算流程
應用實例
【余弦公式和ICF為例】以用戶實際評分為起點,建立商品評分矩陣(如下表)
- 通過計算4個用戶(四維空間中)對4件商品的評分我們獲得了用戶間的相關性數據(如下表)。
系數浮動區間在-1~1之間,系數越靠近1,向量夾角越小,兩件商品的相關性越高,由此可見A&B、A&D的相關性最高,C&D相關性很弱。
相關系數:
- 強:0.8—1.0;
- 較強:0.6—0.8;
- 一般:0.4—0.6;
- 弱/不相關: ?0—0.4;
- 不推薦:-1.0—0;
2、利用用戶對某商品產生過的記錄計算其相關性。
【例如】:某用戶對商品A和商品B的行為得分為權重,對商品C和商品D進行加權排序,得分高者優先推薦。
根據相關性和加權評分后,商品C優先被推薦。
數據去噪修正
- 對大眾化,一線流程產品進行剔除,原因是本來具有超高曝光率和知名度的產品,不推薦用戶才能很快觸達,不必進行不需要的推薦。
- 對用戶瀏覽和購買過的商品進行剔除,以免造成重復性。
- 對商品歸一分類,避免商品的跨類別推薦,造成用戶并不需要此類商品。
【 例如】:對某用戶買衣服A,經過算法的綜合排名,發現排第一的是方便面,排第六的才是衣服B,結果推薦了方便面豈不鬧了笑話。但是對商品進行了歸一分類,服裝類商品只限推薦服裝,這樣服裝B就會優先推薦。
- 對商品類別間建立合理的加分機制,并對低頻商品建立合理的懲罰分值,使其推薦其他周邊商品。
【例如】:家具類商品為低頻商品,用戶長時間內只需要買一件,購買后再次推薦也無法提升支付率。但是可以在用戶支付下單后,通過計算,推薦家具的其它周邊商品(例如:飾物、窗簾等)。由于設定合理的懲罰分值和相關商品類別的加分機制,可以一定程度上提高周邊商品的推薦率,降低低頻商品的推薦率,從而由側面提升支付轉化率。
方案弊端
數據稀疏性。由于此類協同過濾的模型需要有訓練數據支撐,而在冷啟動期間用戶不會在數據模型中完成所有項目,所以數據會有稀疏性。
【解決思路】:可以按該類別商品的用戶平均水平進行推薦(項目冷啟動期間的方案待探討)。
可擴展性。協同過濾算法能夠容易地為千萬記用戶提供量化的推薦,但是對于電子商務網站,往往需要給成千上萬的用戶提供推薦,這就一方面需要提高響應速度,能夠為用戶實時地進行推薦;另一方面還應考慮到存儲空間的要求,盡量減少推薦系統運行對系統的負擔。
【解決思路】:劃定計算范圍,對無記錄和類別相關性差距較大的商品、無操作記錄的用戶進行剔除性。由此減少計算壓力。同時為提升用戶體驗,可以在離線期間對推薦數據進行訓練和計算。但以上方案會在一定程度上影響到推薦的精確
以上解決思路需進一步探討,歡迎大家一起進行交流~~
結語
真正完善的個性推薦系統需要進行基于物品的協同過濾、基于內容的協同過濾和基于模型的協同過濾組合使用,并結合平臺自身的商業模式、業務模式特性、召回率、覆蓋率和轉化率進行不斷的優化,建立各種輔助模型才能達到最優。
希望各位朋友來提提想法,有好想法大家一起探討交流。
本文由 @呵哈嘿~ 原創發布于人人都是產品經理。未經許可,禁止轉載。
如何優化
權重比例的依據是什么?拉取K個相鄰商品評分,相鄰的商品怎么定義?K是個什么數值,有什么要求?
有個為題,為什么進入下單頁權重才2%
您好針對,權重這塊我不是太理解,您方便留下微信,請教一下您 ??
不是商品D優先被推薦?
是D ,筆誤了~
沙發