矩陣分解(Koren等人,2009 年)是推薦系統文獻中公認的算法。矩陣分解模型的第一個版本是由 Simon Funk 在一篇著名的博文中提出的他在其中描述了分解交互矩陣的想法。由于 2006 年舉行的 Netflix 競賽,它變得廣為人知。當時,媒體流媒體和視頻租賃公司 Netflix 宣布了一項提高其推薦系統性能的競賽。能夠在 Netflix 基準(即 Cinematch)上提高 10% 的最佳團隊將贏得 100 萬美元的獎金。因此,本次比賽引起了推薦系統研究領域的廣泛關注。隨后,大獎由 BellKor 的 Pragmatic Chaos 團隊獲得,該團隊由 BellKor、Pragmatic Theory 和 BigChaos(您現在無需擔心這些算法)組成。盡管最終得分是集成解決方案(即許多算法的組合)的結果,矩陣分解算法在最終混合中發揮了關鍵作用。Netflix大獎解決方案技術報告( T?scher et al. , 2009 )詳細介紹了所采用的模型。在本節中,我們將深入探討矩陣分解模型及其實現的細節。
21.3.1。矩陣分解模型
矩陣分解是一類協同過濾模型。具體來說,該模型將用戶-項目交互矩陣(例如,評分矩陣)分解為兩個低秩矩陣的乘積,捕獲用戶-項目交互的低秩結構。
讓R∈Rm×n表示交互矩陣m用戶和n項和值R表示明確的評級。用戶-項目交互將被分解為用戶潛在矩陣 P∈Rm×k和一個項目潛在矩陣 Q∈Rn×k, 在哪里 k?m,n, 是潛在因子大小。讓pu 表示uth一排P和 qi表示ith一排 Q. 對于給定的項目i, 的元素 qi衡量項目在多大程度上擁有電影的流派和語言等特征。對于給定的用戶u, 的元素pu衡量用戶對物品相應特征的興趣程度。這些潛在因素可能會衡量那些示例中提到的明顯維度,或者完全無法解釋。預測評級可以通過以下方式估算
在哪里R^∈Rm×n是預測的評分矩陣,其形狀與R. 該預測規則的一個主要問題是無法對用戶/項目偏差進行建模。例如,一些用戶往往會給出較高的評分,或者某些項目由于質量較差而總是獲得較低的評分。這些偏差在實際應用中很常見。為了捕獲這些偏差,引入了特定于用戶和特定于項目的偏差項。具體來說,預測評分用戶u給項目i計算方式
然后,我們通過最小化預測評分和實際評分之間的均方誤差來訓練矩陣分解模型。目標函數定義如下:
在哪里λ表示正則化率。正則化項 λ(‖P‖F2+‖Q‖F2+bu2+bi2) 用于通過懲罰參數的大小來避免過度擬合。這
評論
查看更多