推薦系統算法框架

在介紹矩陣分解之前,先讓我們明確下推薦系統的場景以及矩陣分解的原理。對於推薦系統來說存在兩大場景即評分預測(rating prediction)與Top-N推薦(item recommendation,item ranking)。

  1. 評分預測場景主要用於評價網站,比如用戶給自己看過的電影評多少分(MovieLens),或者用戶給自己看過的書籍評價多少分。其中矩陣分解技術主要應用於該場景。
  2. Top-N推薦場景主要用於購物網站或者一般拿不到顯式評分信息的網站,即通過用戶的隱式反饋信息來給用戶推薦一個可能感興趣的列表以供其參考。其中該場景爲排序任務,因此需要排序模型來對其建模。因此,我們接下來更關心評分預測任務。

Ref: https://zhuanlan.zhihu.com/p/35262187

 

Ref: https://zhuanlan.zhihu.com/p/27502172

推薦算法分類

推薦系統算法大體有兩種分類方法,一種是根據推薦的依據進行劃分,另一種是根據推薦的最終輸出形式進行劃分。

根據推薦的依據進行劃分

Content-based recommenders: 推薦和用戶曾經喜歡的商品相似的商品。 主要是基於商品屬性信息和用戶畫像信息的對比。核心問題是如何刻畫商品屬性和用戶畫像以及效用的度量。方法包括:

  • Heuristic-based method: 對於特徵維度的構建,例如基於關鍵字提取的方法,使用TF-IDF等指標提取關鍵字作爲特徵。對於效用的度量,例如使用啓發式cosine相似性指標,衡量商品特徵和用戶畫像的相似性,似性越高,效用越大。
  • Machine learning-based mehod:對於特徵維度的構建,使用機器學習算法來構建用戶和商品的特徵維度。例如建模商品屬於某個類別的概率,得到商品的刻畫屬性。對於效用的度量,直接使用機器學習算法擬合效用函數。

Collaborative recommenders: 推薦和用戶有相似品味和偏好的用戶喜歡過的商品。主要是基於用戶和商品歷史交互行爲信息,包括顯示的和隱式的。協同過濾方法進一步細分爲:

  • Memory-based CF: 基於內存的協同過濾方法。直接對User-Item矩陣進行研究。通過啓發式的方法來進行推薦。核心要素包括相似性度量和推薦策略。相似性度量包括Pearson或Cosine等;而最簡單的推薦方法是基於大多數的推薦策略。

    • User-based CF: 推薦給特定用戶列表中還沒有發生過行爲、而在相似用戶列表中產生過行爲的高頻商品。
    • Item-based CF: 推薦給特定用戶列表中還沒有發生過行爲、並且和已經發生過行爲的商品相似的商品。
  • Model-based CF: 基於模型的協同過濾方法。主要是運用機器學習的思想來進行推薦。主要包括:

    • 基於流形學習的矩陣降維/分解算法: SVD、FunkSVD、BiasSVD、SVD++、NMF等。
    • 基於表示學習的深度學習算法:MLP、CNN、AutoEncoder、RNN等。
    • 基於圖/網絡模型的算法:MDP-based CF、Bayesian Belief nets CF、CTR(協同主題迴歸,將概率矩陣分解和主題模型結合應用於推薦系統)等。
    • 其它:包括基於聚類的CF、稀疏因子分析CF、隱語義分析CF等等。
  • Hybrid CF: 結合多種方式的CF算法。如Content-based CF、Content-boosted CF或者結合Memory-based和Model-based CF混合方法。

Hybrid approaches: 混合方法。綜合集成上述兩種方法。

除此以外,還有兩種形式的推薦算法也很流行。

  • Constraint-based Recommenders: 基於約束的推薦。
  • Context-Aware Recommenders: 基於上下文信息的推薦。

根據推薦的最終輸出形式分類

  • Rating prediction:評分預測模型,核心目的是填充用戶-商品評分矩陣中的缺失值。 衡量指標通常使用RMSE、MAE等
  • Ranking prediction (top-n recommendation) :排序預測模型,核心目的是推薦一個有序的商品列表給用戶。通常使用Precision@K、Recall@K等
  • Classification:分類模型,核心目的是把候選商品劃分成正確的類別,並用於推薦。通常使用Accuracy等

    通常推薦最終輸出形式決定了推薦系統的衡量指標,例如Rating prediction通常使用RMSE、MAE等,Ranking prediction通常使用Precision@K、Recall@K等,Classification通常使用Accuracy等。

Ref: http://xtf615.com/2018/05/03/recommender-system-survey/#SVD

關於 RMSE,MSE,MAE 請參考: https://www.jianshu.com/p/9ee85fdad150

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章