1. 程式人生 > >概率矩陣分解(Probabilistic Matrix Factorization)

概率矩陣分解(Probabilistic Matrix Factorization)

 摘要

很多現有的協同過濾的方法既不能處理非常大的資料集,也不能容易地應對有非常少的評價的使用者。在這篇論文中,我們提出了概率矩陣分解(PMF)模型,它的規模與觀察值的數目線性相關,並且更重要的是,它在非常大的、稀疏的和非常失衡的Netflix資料集上表現優異。我們更進一步地擴充套件PMF模型來包含一個適合的先驗在模型引數中並且展示模型能力怎樣可以被自動地控制。最後,我們引入一個有約束版本的PMF模型,它基於評價相似集合電影的使用者可能有相似偏好的假設。這個結果模型對於有很少評價的使用者能夠歸納的相當好。當多個PMF模型的預測與受限玻爾茲曼機模型的預測線性結合時,我們達到了0.8861的誤差率,這幾乎比

Netflix自己系統的分數提升了7%

1 介紹

一種最流行的協同過濾的方法是基於低維度的因子模型。在這樣的模型後面的思想是一個使用者的態度或者偏好由少量的沒有觀察到的因子決定。在一個線性因子模型中,一個使用者的偏好通過線性結合使用特定使用者係數的物品因子向量建模。例如,對於N個使用者和M個電影,N×M的偏好矩陣R由一個N×D的使用者係數矩陣UT和一個D×M的因子矩陣V的乘積給出。訓練這樣的一個模型可以在給定的損失函式下,對於觀測的N×M的目標矩陣R發現最好的矩陣秩為D的近似值。

多種多樣的概率的基於因子的模型最近被提出。所有的這些模型能夠被看作是隱藏因子變數有到代表使用者評價的變數的定向連線的圖解的模型。這些模型的主要缺點是很難得到精確的推斷結果,這意味著對於計算在這些模型的隱藏因子上的後驗分佈需要潛在地慢的或者不準確的近似值。

基於最小化平方和距離的低秩逼近可能使用奇異值分解(SVD)找到。SVD發現給定秩的矩陣=V,它表示最小化到目標矩陣R的平方和距離。因為大部分現實的資料集是稀疏的,即在R中的大部分條目是缺失的。在那些情況下,平方和距離僅僅在目標矩陣R的被觀察的條目中被計算。正如[9]中所展示的,這在一個困難的無法使用標準的SVD實現解決的非凸最優化問題中看上去是較次要的修正結果。

代替約束近似矩陣=V的秩,也就是因子的數目,[10]提出處罰UV的範數。在這個模型的學習中,然而,要求解決一個稀疏的半定問題(SDP),使得這個方法對於包含數以百萬計的觀察值的資料集是不可實行的。

1:左圖展示了關於概率矩陣分解(

PMF)的圖模型;右圖展示了關於有約束的PMF的圖模型。

以上提到的很多協同過濾演算法已經在Netflix Prize資料集(包含480189個使用者,17770部電影和超過100百萬的觀測值[使用者/電影/評價]三元組)上被應用來對使用者評價建模。然而,因為兩個原因,這些方法都沒能證明是特別地成功。首先,以上提到的方法,除了基於矩陣分解的方法之外,對於大資料集的遞增適應性都不夠好。第二,大多數現有的演算法對於有非常少評價的使用者在做精確的預測上有困難。在協同過濾團體中的一個常例是去移除所有少於某些最小數字評價的使用者。因此,反映在標準資料集(比如MovieLensEachMovie)上的結果似乎是引人注目的,因為最困難的情況已經被移除了。例如,Netflix資料集是非常失衡的(不頻繁評價的使用者評價少於5部電影,然而頻繁評價的使用者評價超過10000部電影)。然而,因為標準測試集合包括完整範圍的使用者,Netflix資料集針對協同過濾演算法提供了一個更加現實的和有用的標準檢查程式。

這篇論文的目標是提出隨觀測值數目線性遞增適應以及在非常稀疏和失衡的資料集(例如Netflix資料集)上表現優異的概率演算法。在第2部分,我們提出利用兩個更低秩的使用者和電影矩陣的乘積對使用者偏好矩陣建模的概率矩陣分解(PMF)模型。在第3部分,我們擴充套件PMF模型去包括在電影和使用者特徵向量上的自適應先驗並且展示這些先驗怎樣可以被使用去自動地控制模型能力。在第4部分,我們引入一個基於評價相似集合的電影的使用者有相似的偏好的假設的有約束版本的PMF模型。在第5部分,我們公佈了實驗結果,展示了PMF相比標準SVD模型有了相當大的提升。我們也展示了有約束的PMF和伴隨可學習先驗的PMF顯著地提升了模型效能。我們的結果證明了有約束的PMF針對有很少評價的使用者做更好的預測是特別有效的。

2 概率矩陣分解

假設我們有M部電影,N個使用者,和從1的整數評價值。表示使用者i對電影j的評價,UV是潛在的使用者和電影特徵矩陣,其中列向量分別表示特定使用者的和特定電影的潛在特徵向量。因為模型效能通過計算在測試集合上的均方根誤差(RMSE)來測量,我們首先採用一個含有高斯觀測噪聲的概率線性模型(見圖1,左圖)。我們定義在觀測的評價上的條件分佈:

是高斯分佈(平均值為,方差為)的概率密度函式,是指標函式(如果使用者i評價了電影j,該值為1;否則為0)。我們也放置了均值為0的球形高斯先驗在使用者和電影特徵向量上:

在使用者和電影特徵上的後驗分佈的log函式由下列公式給出

C是一個不依賴引數的常量。最大化在含有固定不變的超引數的電影和使用者特徵上的log-後驗等價於最小化含有二次正則項的平方誤差和的目標函式:

其中表示Frobenius範數。由等式4給出的目標函式的一個區域性最小值可以通過在UV上執行梯度下降來找到。注意這個模型可以被看作是SVD模型的一個概率的擴充套件,因為如果所有的評價都已經觀測到,以先驗方差趨向於無窮為限,由等式4給出的目標會還原到SVD目標。

 1真實值的評價能夠通過在這篇論文中描述的模型容易地被處理。

在我們的實驗中,代替使用一個簡單的線性-高斯模型(能夠在有效的評價值之外做預測),在特定使用者和特定電影特徵向量之間的點積通過邏輯函式g(x)=1/(1+exp(-x))傳遞(它限制預測的範圍):

我們使用函式t(x)=(x-1)/(K-1)對映評價1,…,K到區間[0,1],所以有效評價值的範圍匹配我們的模型做的預測的範圍。使用最陡的下降最小化上面給出的目標函式會花費與觀測值數目線性相關的時間。當模型被訓練到有30個因子時,這個演算法在Matlab中的一個簡單實現允許我們在少於一個小時的時間內通過完整的Netflix資料集做一遍清掃。

3 關於PMF模型的自動能力控制

能力控制對於使PMF模型良好地推廣是必要的。假設有足夠多的因子,PMF模型能夠比較好的近似隨機給出的矩陣。控制PMF模型能力的最簡單的方式是改變特徵向量的維數。然而,當資料集是失衡的,也就是在不同行或列上的觀測值的數目顯著地不同,這個方法會失敗,因為任意單個數目的特徵維度對於某些特徵向量太高,而對於其他的太低。在上面被定義的正則化引數(例如)提供一個更靈活的正則化的方法。也許對於這些引數發現適當的值的最簡單的方式是考慮合理引數值的一個集合,以在該集合中的引數的每個設定訓練模型,並且選擇在驗證集合上執行的最好的模型。這個方法的主要缺點是它的計算代價昂貴,因為代替訓練單個模型,我們不得不訓練大量模型。我們將展示由[6]提出的方法,它起初被應用到神經網路上,可以被用來針對PMF模型的正則化引數自動地決定適當的值,並且沒有顯著地影響需要去訓練模型的時間。

正如以上展示,在意義上通過兩個以處罰Frobenius範數的方式正則化的低秩的矩陣的乘積近似一個矩陣的問題可以被看作是在低秩矩陣的行上含有球形高斯先驗的概率模型中的MAP估計。該模型的複雜度通過超引數控制:噪聲方差σ2和先驗引數(上面的σu2σV2)。針對超引數引入先驗和最大化在正如在[6]中建議的引數和超引數的模型的log-後驗允許模型複雜度基於訓練資料自動地被控制。在這個結構中對於使用者和電影特徵向量使用球形先驗會導致含有自動地被挑選的λuλvPMF的標準形式。這個正則化的方法允許我們使用比簡單的特徵矩陣的Frobenius範數的處罰更加成熟的方法。例如,我們對於特徵向量可以使用伴隨除了可調整的方法之外還有對角線的或者甚至完整的協方差矩陣的先驗。高斯先驗的混合物也能夠被十分容易地處理。

總的來說,我們發現了一個通過最大化以下給出的log-後驗的引數和超引數的點估計

其中ΘUΘv分別是關於在使用者和電影特徵向量之上的先驗的超引數,C是一個不依賴引數或者超引數的常量。

當先驗是高斯的,如果電影和使用者特徵向量是保持固定的,最優的超引數能夠以不公開的形式被找到。因此為了簡化學習,我們交替進行最優化超引數和使用固定超引數值的最陡的上升更新特徵向量。當先驗是一個高斯混合物時,超引數能夠通過執行EM的一個簡單步驟被更新。在我們所有的實驗中,我們對於超引數使用了不合適的先驗,但是擴充套件不公開的更新去處理關於超引數的成對的先驗的形式是容易的。

4 有約束的PMF

一旦一個PMF模型已經適應,有很少評價的使用者將會有與先驗平均值或者平均使用者接近的特徵向量,所以針對那些使用者的預測的評價將接近電影平均評價。在這個部分,我們引入了一種約束特定使用者的特徵向量的額外的方式,它對不頻繁的使用者有著大大的影響。

WRDxM是一個潛在的相似度約束矩陣。我們對於使用者i定義特徵向量正如:

其中I是觀測的指標矩陣(如果使用者i評價了電影jIij的值為1;否則為02)。直觀地,W矩陣的ith列捕捉某個使用者已經評價某部特定的電影對該使用者的特徵向量的先驗平均值產生的影響。因此,已經看過相同(或相似)的電影的使用者對於他們的特徵向量將會有相似的先驗分佈。注意Yi可以被看作是為了得到關於使用者i的特徵向量Ui而新增到先驗分佈的平均值的分支。在無約束的PMF模型中,UiVi是相等的,因為先驗平均值固定為0(見圖1)。我們現在定義在觀測到的評價上的條件分佈正如

我們通過放置一個均值為零的球形高斯先驗在以下公式上來正則化潛在的相似度約束矩陣W

2如果沒有關於某個使用者i的評價資訊是可獲得的,也就是,Ii向量的所有條目都是0,在等式7中的係數的值被設定為0。

正如伴隨著PMF模型,最大化log-後驗等價於最小化含有二次正則項的平方誤差和函式:

然後我們可以在YVW上執行梯度下降去最小化由等式10給出的目標函式。對於有約束的PMF模型的訓練時間線性地與觀測值數目遞增適應,它允許有一個快的、簡單的實施。正如我們在我們的實驗結果部分所展示,該模型表現得比一個簡單的無約束的PMF模型好很多,尤其是在不頻繁的使用者上。

5.實驗結果

5.1 Netflix資料的描述

根據Netflix,在199810月與200512月之間的資料被收集並且表示出了在這段時期Netflix獲得的所有評價的分佈。該訓練資料集由來自於480189個隨機選擇的無個性特徵的使用者對17770個電影標題做的100480507個評價組成。作為訓練資料的部分,Netflix也提供驗證資料,包含1408395個評價。除了訓練和驗證資料,Netflix也提供一個包含伴隨有抑制的評價的2817131個使用者/電影對的測試集合。這些對挑選自在訓練資料集中關於使用者的一個子集的最近的評價。為了減少煩擾很多在機器學習文學中的經驗主義的比較的測試集合上的無意識的過擬合,效能通過提交預測的評價到Netflix(然後Netflix公告在該測試集合的未知的一半上的均方根誤差)上來評估。作為一個基準線,Netflix提供它自己的在同樣資料上訓練的系統的測試分數,該分數為0.9514

為了提供關於不同演算法的效能的額外的理解,我們從Netflix資料中通過任意地選擇50000個使用者和1850部電影創造了一個更小的和更加難解的資料集。該小資料集包含1082982個用於訓練的和2462個用於驗證的使用者/電影對。在該訓練資料集中的超過50%的使用者有少於10的評價。

5.2 訓練的細節

為了加速訓練,代替執行批學習,我們細分Netflix資料為規模為100000(使用者/電影/評價 三元組)的小批資料,並且在每個小批之後更新特徵向量。在嘗試關於學習率和動量的不同的值以及用D的不同值做實驗之後,我們選擇使用0.005的學習率,0.9的動量,正如該引數的設定對我們已經嘗試的D的所有值表現優異。

5.3 伴隨適應先驗的PMF的結果

為了評價伴隨適應先驗的PMF模型的效能,我們使用了含有10維特徵的模型。這個維度被選擇是為了證明甚至當特徵的維度是相對地低時,類似SVD的模型仍然能過擬合併且通過自動地正則化那樣的模型,得到了一些效能上的增益。我們比較一個SVD模型,兩個先驗固定的PMF模型,和兩個伴隨適應先驗的PMF模型。該SVD模型被訓練去僅針對目標矩陣的觀測的條目最小化平方和距離。該SVD模型的特徵向量以任何方式不被正則化。這兩個先驗固定的PMF模型在它們的正則化引數上不同:一個(PMF1)有λU=0.01λv=0.001,然而另一個(PMF2)有λu=0.001λv=0.0001。這第一個伴隨適應先驗的PMF模型(PMFA1)在使用者和電影特徵向量上有伴隨球形協方差矩陣的高斯先驗,然而第二個模型(PMFA2)有對角線的協方差矩陣。在這兩個例子中,適應先驗含有可調整的方法。先驗引數和噪聲協方差分別在每10個和100個特徵矩陣更新後被更新。這些模型基於在驗證集合上的均方根誤差來比較。

2:左圖:SVDPMF和伴隨適應先驗的PMF的效能,使用10維特徵向量,在完整的Netflix驗證資料上。右圖:SVD,概率矩陣分解(PMF)和約束的PMF的效能,使用30維特徵向量,在驗證資料上。y軸展示RMSE(均方根誤差),x軸展示訓練次數或者傳遞次數的數目,憑藉完整的訓練資料集。

比較的結果展示在圖2(左圖)中。注意關於伴隨球形協方差的PMF模型的曲線沒有被展示因為它實際上和關於伴隨對角線的協方差的模型的曲線是同樣的。基於最低的均方根誤差來比較模型達到且超過了訓練的時間,我們看到SVD模型在接近訓練結束嚴重地過擬合之前幾乎和適度正則化的PMF模型(PMF2)(0.9258 0.9253)一樣。然而PMF1沒有過擬合,它顯然欠擬合,因為它達到僅0.9430的均方根誤差。這些伴隨適應先驗的模型明顯的優於競爭的模型,達到0.9197(對角線的協方差)和0.9204(球形協方差)的均方根誤差。這些結果暗示憑藉適應先驗的自動正則化在實踐中表現優異。而且,我們的關於伴隨更高維度的特徵向量的初步結果暗示在效能上的缺口是由於適應先驗的使用可能隨著特徵向量提升的維度成長。然而對角協方差矩陣的使用不會導致在球形協方差矩陣上的顯著地提升,對角協方差可能對於自動正則化PMF訓練演算法的貪婪版本是適當的,其中特徵向量一次被學習一個維度。

5.4 約束的PMF的結果

對於包含約束的PMF模型的實驗,我們使用30維特徵(D=30),因為這個選擇導致在驗證集合上的最好的模型效能。在[20,60]範圍的D的值產生相似的結果。SVDPMF和約束的PMF的在小資料集上的效能結果被展示在圖3中。在所有的三個模型中的這些特徵向量被初始化為相同的值。對PMF和約束的PMF模型,正則化引數被設定為λu=λY=λV=λW=0.002。明顯地,簡單的SVD模型重重地過擬合。約束的PMF模型比無約束的PMF模型的表現要好很多並且聚集要快很多。圖3(右圖)展示了約束特定使用者的特徵對不頻繁使用者的預測的影響。對於在訓練資料集中的一組有少於5個評價的使用者的PMF模型的效能實際上和總是預測每部電影的平均評價的電影平均演算法的效能是同樣的。約束的PMF模型,然而,對於伴隨少量評價的使用者表現要好很多。隨著評價的數目增加,PMF和約束的PMF展示了相似的效能。

3:左圖:在驗證資料上的SVD,概率矩陣分解(PMF)和約束的PMF的效能。y軸展示RMSE(均方根誤差),x軸展示訓練次數或者傳遞次數,憑藉完整的訓練資料集。右圖:約束的PMFPMF和總是預測每部電影的平均評價的電影平均演算法的效能。在訓練資料中使用者按觀測的評價的數目分組。

4:左圖:約束的PMFPMF和總是每部電影的平均評價的電影平均演算法的效能。在訓練資料中,使用者按觀測的評價的數目分組,伴隨有x軸展示那些組,y軸展示在完整的Netflix驗證資料上對於每個這樣的組的RMSE。中間的圖:在訓練資料集中的使用者的分佈。右圖:約束的PMF和利用額外的從測試資料集中獲得的評價/未評價的資訊的約束的PMF的效能。

 約束的PMF模型的另一個有趣的方面是即使我們僅僅知道使用者評價了什麼電影,但是不知道評價的值,該模型能夠比電影平均模型做更好的預測。對於小資料集,我們任意地抽樣額外的50000個使用者,並且對於每個使用者收集了使用者已經評價的電影的一個列表,然後丟棄了真實的評價。約束的PMF模型在驗證集合上達到了1.0510的均方根誤差與對於簡單的電影平均模型的1.0726的均方根誤差相比較。該實驗強有力的暗示了僅僅知道使用者評價了哪些電影,但是不知道真實的評價,仍然能夠幫助我們對使用者的偏好更好的建模。

 在完整Netflix資料集上的效能結果與在小資料集上的結果相似。對於PMF和約束的PMF模型,正則化引數被設定為λU=λY=λV=λW=0.001。圖2(右圖)展示了約束的PMF顯著地優於無約束的PMF模型,達到了0.9016的均方根誤差。一個簡單的SVD達到大約0.9280的均方根誤差並且在大約10次訓練後開始過擬合。圖4(左圖)展示了約束的PMF模型對於有非常少評價的使用者能夠歸納的更好。注意在訓練資料集中超過10%的使用者有少於20個評價。隨著評價的數目增加,來自於等式7中的分支的影響變小,PMF和約束的PMF達到相似的效能。

 Netflix資料集中有資訊的更加精細的資源。Netflix提前告知我們哪些使用者/電影對出現在測試集合中,所以我們有一個額外的類別:電影被看過,但是其評價是未知的。這是關於在測試集合中出現若干次的使用者的資訊的一個有價值的資源,尤其是如果他們在訓練集合中有僅僅少數的評價。約束的PMF模型能夠容易地將這個資訊納入考慮範圍。圖4(右圖)展示了這個資訊的額外資源更進一步地提升模型效能。

 當我們線性地結合PMF,伴隨可學習的先驗的PMF,約束的PMF的預測,我們在測試集合上達到了0.8970的誤差率。當多個PMF模型的預測與多個RBM模型的預測線性地結合時,最近在[8]中被引入,我們達到了0.8861的誤差率,這幾乎比Netflix自己系統的分數提升了7%

6 總結和討論

在這篇論文中,我們提出概率矩陣分解(PMF)和它的兩個派生物:伴隨可學習的先驗的PMF和約束的PMF。我們也證明了這些模型可以被有效地訓練和成功應用到包含超過100百萬的電影評價的大規模資料集。

在訓練PMF模型中的效率來自於發現模型引數和超引數的唯一的點估計,而不是推理在它們上的完整的後驗分佈。如果我們採用了完整的貝葉斯定理的方法,我們將放置超先驗在超引數上並且憑藉MCMC方法執行推斷的結果。儘管該方法計算代價更加昂貴,但是初步結果強有力地暗示了已提出的PMF模型的完整的貝葉斯定理的處理將導致在預言準確性中的顯著地提升。

致謝

我們感謝Vinod NairGeoffrey Hinton給了很多有幫助的討論。該研究被NSERC支援。

參考文獻

[1] Delbert Dueck and Brendan Frey. Probabilistic sparse matrix factorization. Technical Report PSI TR 2004-023, Dept. of Computer Science, University of Toronto, 2004.
[2] Thomas Hofmann. Probabilistic latent semantic analysis. In Proceedings of the 15th Conference on Uncertainty in AI, pages 289–296, San Fransisco, California, 1999. Morgan Kaufmann.
[3] Benjamin Marlin. Modeling user rating profiles for collaborative filtering. In Sebastian Thrun, Lawrence K. Saul, and Bernhard Sch¨olkopf, editors, NIPS. MIT Press, 2003.
[4] Benjamin Marlin and Richard S. Zemel. The multiple multiplicative factor model for collaborative filtering. In Machine Learning, Proceedings of the Twenty-first International Conference (ICML 2004), Banff, Alberta, Canada, July 4-8, 2004. ACM, 2004.
[5] Radford M. Neal. Probabilistic inference using Markov chain Monte Carlo methods. Technical Report CRG-TR-93-1, Department of Computer Science, University of Toronto, September 1993.
[6] S. J. Nowlan and G. E. Hinton. Simplifying neural networks by soft weight-sharing. Neural Computation, 4:473–493, 1992.
[7] Jason D. M. Rennie and Nathan Srebro. Fast maximum margin matrix factorization for collaborative prediction. In Luc De Raedt and Stefan Wrobel, editors, Machine Learning, Proceedings of the TwentySecond International Conference (ICML 2005), Bonn, Germany, August 7-11, 2005, pages 713–719. ACM, 2005.
[8] Ruslan Salakhutdinov, Andriy Mnih, and Geoffrey Hinton. Restricted Boltzmann machines for collaborative filtering. In Machine Learning, Proceedings of the Twenty-fourth International Conference (ICML 2004). ACM, 2007.
[9] Nathan Srebro and Tommi Jaakkola. Weighted low-rank approximations. In Tom Fawcett and Nina Mishra, editors, Machine Learning, Proceedings of the Twentieth International Conference (ICML 2003), August 21-24, 2003, Washington, DC, USA, pages 720–727. AAAI Press, 2003.
[10] Nathan Srebro, Jason D. M. Rennie, and Tommi Jaakkola. Maximum-margin matrix factorization. In Advances in Neural Information Processing Systems, 2004.
[11] Michael E. Tipping and Christopher M. Bishop. Probabilistic principal component analysis. Technical Report NCRG/97/010, Neural Computing Research Group, Aston University, September 1997.
[12] Max Welling, Michal Rosen-Zvi, and Geoffrey Hinton. Exponential family harmoniums with an application to information retrieval. In NIPS 17, pages 1481–1488, Cambridge, MA, 2005. MIT Press.