Matrix factorization techniques for recommender systems[1]

協同過濾主要包含兩種方法,一種是近鄰法(neighborhood methods),另外一種是隱因子模型(latent factor models)。近鄰法又可分為item-based和user-based,隱因子模型裏最成功的一種實現是矩陣分解(matrix factorization.)。本文主要對矩陣分解技術進行介紹。

一種基本的矩陣分解模型

矩陣分解模型將用戶和物品都映射到一個 f 維的空間中去(可以認為是f個領域,例如懸疑,驚悚等等),假設第i個物品用 q_iin mathbb{R}^f 表示,第u個用戶用 p_uin mathbb{R}^f 表示, q_i 中的元素表示物品i在相應領域的歸屬程度, p_u 中的元素表示用戶u對相應領域的感興趣程度。只要計算出 q_ip_u ,那麼用戶u對物品i的興趣可以用式(1)來預測

hat{r}_{ui}=q_i^Tp_u,(1)

奇異值分解通常可以完成上述任務,例如在信息檢索裏,但是用戶-物品矩陣是高度稀疏且不完整的。當矩陣不完整時,傳統的奇異值分解是不確定的,且高度稀疏極容易造成過擬合。因此,換一種方式最優化的方式來求解

其中 r_{ui} 是用戶u對物品i的真實評分,正則係數 lambda 可以防止模型過擬合, mathcal{K} 是(u,i)的集合且用戶u對物品i打過分。

偏置項

消除偏差對於提升預測精度是很有必要的,r_{ui} 的偏置可以用式(3)來表示

其中,u是整體平均分, b_i 是第i個物品的偏置項, b_u 是第u個用戶的偏置項。舉例來說,所有電影的平均得分u是3.7分,電影Titanic的平均得分比所有電影的整體得分高0.5,用戶jone比較挑剔,他對電影的平均打分低於比所有電影的整體得分低0.3分,那麼jone對Titanic的期望打分是3.9(3.7+0.5-0.3)。因此,目標函數可以表示為

這裡面,偏置項對模型的影響是至關重要的,有工作致力於研究偏置模型[2]

額外的輸入信號

隱因子模型無法解決冷啟問題,因此,有必要加入用戶隱反饋以及用戶屬性等信號。隱反饋包括用戶的瀏覽記錄或者購買記錄等,假設 N(u) 是用戶u有過隱反饋的物品集, x_iin mathbb{R}^f 中相應的元素表示物品i能夠反映出的用戶在某領域的喜好程度,那麼

能夠反映用戶的隱反饋表現出來的對各領域的喜好程度。又假設用戶的屬性集為 A(u) ,每個屬性a都對應一個向量 y_ain mathbb{R}^fy_a 中的各元素表示具有屬性a的人對各領域的喜好程度。那麼u對i的評分的預測值就可以寫為

時序動態

有很多因素是隨時間變化的,引入時序信號使得 r_{ui} 的估計值變為下式

其中, b_i,b_u,p_u 都變成了和時間相關的變數, b_i(t) 表示物品的偏置隨時間變化,比如一部電影剛上映的時候比較流行,但是隨著時間變久,會變得不流行。 b_u(t) 表示用戶偏置,比如用戶以前喜歡給電影打4星,但是隨著看的電影越來越多,傾向於給電影打3星。 p_u(t) 表示用戶口味的變化,比如用戶在某一段時間更喜歡看喜劇片,最近比較喜歡驚悚片等等。 q_i 即物品在各隱領域的歸屬度,相對穩定,因此不需要加時間因子。相關文獻是[2]。

實驗

圖1. 幾種演算法的實驗結果

數據是Netflix2006年的比賽數據,作者所在團隊獲得了冠軍,圖1是上述幾種演算法的實驗結果。每條曲線上面的50,100,200,...等是隱空間f的維度,f維度越高,參數量越多,預測結果也越準確。同時,可以看到性能方面,時序2>時序1>隱反饋>偏執>基礎演算法

參考

  1. ^Koren Y, Bell R, Volinsky C. Matrix factorization techniques for recommender systems[J]. Computer, 2009 (8): 30-37.
  2. ^Y. Koren, 「Collaborative Filtering with Temporal Dynamics,」 Proc. 15th ACM SIGKDD Int』l Conf. Knowledge Discovery and Data Mining (KDD 09), ACM Press, 2009, pp. 447-455.

推薦閱讀:

相關文章