概要: 推薦系統經過信息獲取技術解決在線的我的的消息、產品或者服務的推薦問題。這些系統,特別是基於k臨近協同過濾算法,在網絡上取得了普遍的成功。可用信息和訪問人數的巨大增長成了推薦系統一個難題。基於商品的協同過濾推薦算法應運而生,經過分析用戶特徵矩陣計算推薦信息。本文主要分析不一樣的基於商品的推薦算法,還會同k臨近過濾算法比較,同時提供比現存最好的基於用戶算法更好的算法。 1、協同過濾算法分類 協同過濾算法主要分爲:1.基於存儲 2.基於模型 基於存儲:它利用整個用戶商品數據來產生預測,使用靜態的方法找到類似用戶,他們評價了不一樣的商品可是評價類似或者他們想買類似的商品,一旦造成類似組羣,系統就會整合組羣來產生預測。這種方法也被叫作臨近算法或者基於用戶的協同過濾算法,獲得普遍的應用。 面臨的問題: 1.稀疏問題:商品不少,即便是很是愛買東西的用戶買的物品可能都不會超過總商品的1%。 2.性能:計算量隨着用戶和商品的增長而增長。所以數據量一大性能就下降。 基於模型:它經過產生一個用戶評分模型來推薦,這個算法採用了機率論的方法,經過用戶給出的指望價值來給其餘商品打分,這個模型經過機器學習算法好比貝葉斯網絡, clustering, 和 rule-based等等實現的。貝葉斯網絡模型爲協同過濾算法提供了一個機率模型,Clustering模型把協同過濾算法當成一個分類問題,經過將類似者分組而後估計該客戶在這個類別的可能性,經過這些來計算商品評分的可能性。rule-based經過共同購買的商品的相關度來產生基於商品相關度的推薦。 2、協同過濾算法用到的度量技術 商品類似度: 1.cosine類似度:只考慮item向量的點積 2.correlation-based類似度(Pearson類似度):考慮了item的平均評分 3.adjusted cosine類似度:考慮了用戶對item的平均評分 預測計算: 1.使用類似度加權平均 2.使用迴歸模型。使用加權平均時,採用的與預測物品i類似的物品 j的類似度Sim j* j的評分Rj。而使用迴歸模型時,它會計算出一個線性迴歸 f(j) =α*avg(Rj) + β + ξ,從而計算出一個不一樣於Rj的分值,而後再使用加權平均。 評價系統好壞的方式: 1.statistical accuracy metrics:MOE、RMSE 2.decision support accuracy metrics:reversal rate, weighted errors, ROC 3、結論 1.基於物品的算法預測結果要比基於用戶的算法預測結果好 2.基本的基於物品的算法,模型大小越大,推薦質量越好,可是基於迴歸的物品算法,先是隨着模型大小增長而增長,以後質量降低。 3.adjusted cosine similarity效果比較好算法