推薦系統:經典方法

推薦系統文獻綜述(一):經典方法

1 Neighborhood-based Methods

Item-to-item Collaborative Filtering

Sarwar, Badrul, et al. "Item-based collaborative filtering recommendation algorithms.「 WWW 01

Linden, Greg, Brent Smith, and Jeremy York. "Amazon. com recommendations: Item-to-item collaborative filtering." IEEE Internet computing 7.1 (2003): 76-80.

2 Latent Factor Models (LFM)

Matrix Factorization

Koren, Yehuda, Robert Bell, and Chris Volinsky. "Matrix factorization techniques for recommender systems." Computer 42.8 (2009).

矩陣分解

基本模型:把users和items映射到一個低維的聯合的隱因子空間,user和item之間的interaction通過空間內的inner products內積來刻畫。vector q_i 表示item i 擁有這些因子的程度。Vector p_u 表示user u 對item的那些因子感興趣的程度。點積 q_i^Tp_u 表示user u 和item i之間的交互,即該用戶對該產品特徵的總體興趣大小。目標函數為平方損失加上正則化項。學習演算法有兩種:隨機梯度下降(SGD)和交替最小二乘(ALS)。

加入biases:mu 指總體平均評分, b_u,b_i 分別指user u 和item i 的平均評分誤差。

加入其他信息:如用戶的隱式反饋,用戶屬性(人口統計學信息)。

時間動態:有三項會隨時間變化,b_i(t)是指item的流行度可能會隨時間變化; b_u(t) 是指用戶的基準評分可能會隨時間變化; p_u(t) 是指用戶的偏好可能會隨時間發生變化。

不同的置信水平:對於implicit feedback,置信度可以從一些描述行為頻率的數值中得到,如觀看的時常,購買的頻率等等。對不同重要程度的觀測給予不同的權重。

Probabilistic Matrix Factorization

Mnih, Andriy, and Ruslan R. Salakhutdinov. "Probabilistic matrix factorization." Advances in neural information processing systems. 2008.

MF的概率化。兩個隱因子user factors U 和item factors V ,先驗分布都為均值為零的高斯分布。定義觀測到的評分的條件分布為均值為 U_i^TV_j 的高斯分布。最大化後驗概率,梯度下降求解。

Implicit Feedback Matrix Factorization

Hu, Yifan, Yehuda Koren, and Chris Volinsky. "Collaborative filtering for implicit feedback datasets." Data Mining, 2008. ICDM08. Eighth IEEE International

Conference on. Ieee, 2008.

2017 IEEE ICDM 10-Year Highest-Impact Paper Award

WRMF加權正則化矩陣分解

Pan, Rong, et al. "One-class collaborative filtering." Data Mining, 2008. ICDM08. Eighth IEEE International Conference on. IEEE, 2008.

Bayesian Personalized Ranking (BPR)

Rendle, Steffen, et al. "BPR: Bayesian personalized ranking from implicit feedback." Proceedings of the twenty-fifth conference on uncertainty in artificial intelligence. AUAI Press, 2009.

BPR貝葉斯個性化排名

Pairwise。對於implicit feedback(如是否購買),BPR對每一個user建立一個偏序關係 >_u 。如圖所示,user-item矩陣中,+表示用戶購買了該商品,?表示沒有購買。比如,對user 1來說,他購買了 i_2,i_3,沒有購買 i_1,i_4,則對於他來說,2和3比1和4好,但2、3之間,1、4之間無法比較。

訓練的數據集為三元組 (u,i,j) 的集合,其中 i 是用戶購買的商品, j 是用戶沒有購買的商品。

user u 認為 ij 好的概率用sigmoid表示。

BPR-OPT的優化目標是最大化log後驗概率。BPR實際上是在近似優化AUC,區別在於loss function不一樣,AUC是使用Heaviside function,即大於0取1,否則取0,而BPR-OPT使用log loss對數損失。

學習演算法:LEARNBPR,基於bootstrap sampling的隨機梯度下降。

BPR-MF: hat{x}_{uij}=hat{x}_{ui}-hat{x}_{uj}hat{x}_{ui},hat{x}_{uj} 用user vector和item vector的內積表示。

Factorization Machine

Rendle, Steffen. "Factorization machines." Data Mining (ICDM), 2010 IEEE 10th International Conference on. IEEE, 2010.

Rendle, Steffen. "Factorization machines with libfm." ACM Transactions on Intelligent Systems and Technology (TIST) 3.3 (2012): 57.

FM分解機

用於Feature vector x 高度稀疏。數據集構建如圖所示,每一行表示一條記錄,第一條記錄是指user A對電影TI的評分,A已經對TI、NH、SW三部電影進行評分,評分時間距離基準時間有13個月,上一部評分的電影沒有,評分為5分,也是模型要預測的值。

類似於線性回歸,加入了二階項來刻畫feature之間的交互作用。把二階項的Weight matrix用 VV^T 近似表達, Vn	imes k維矩陣,k<<n,是模型的超參數。由於二階項的Weight matrix是實對稱半正定矩陣,可以這樣分解,因此該模型叫做分解機。 k 一般取的較小,這種對 W 的低秩近似可以提高模型的泛化能力。

學習:三種方法:隨機梯度下降(SGD),交替最小二乘(ALS),MCMC。

工具:libfm

推薦閱讀:

了解一點模型部署與上線
從懵逼到菜逼------菜逼來談數據挖掘
視角觀察:四個話題讀懂大數據醫療
2017年歷史文章匯總|機器學習
數據挖掘和網路爬蟲有什麼關聯區別?

TAG:推薦系統 | 機器學習 | 數據挖掘 |