天天看點

基于協同過濾算法的電影推薦系統設計(二) - ALS算法詳解0 系列文章目錄具體求解過程參考聯系我

0 系列文章目錄

0.1 基于協同過濾算法的電影推薦系統設計(一) - 項目簡介

0.2 基于協同過濾算法的電影推薦系統設計(二) - 推薦系統介紹

ALS是alternating least squares的縮寫 , 意為交替最小二乘法,而ALS-WR是alternating-least-squares with weighted-λ -regularization的縮寫,意為權重正則化交替最小二乘法.

該方法常用于基于矩陣分解的推薦系統中.

例如:将使用者(user)對商品(item)的評分矩陣分解為兩個矩陣

  • 一個是使用者對商品隐含特征的偏好矩陣
  • 另一個是商品所包含的隐含特征的矩陣

在這個矩陣分解的過程中,評分缺失項得到了填充,也就是說我們可以基于這個填充的評分來給使用者最商品推薦了。

由于評分資料中有大量的缺失項,傳統的矩陣分解SVD(奇異值分解)不友善處理這個問題,而ALS能夠很好的解決這個問題。

對于R(m×n)的矩陣,ALS旨在找到兩個低維矩陣X(m×k)和矩陣Y(n×k),來近似逼近R(m×n),即:

基于協同過濾算法的電影推薦系統設計(二) - ALS算法詳解0 系列文章目錄具體求解過程參考聯系我
  • R(m×n)代表使用者對商品的評分矩陣
  • X(m×k)代表使用者對隐含特征的偏好矩陣
  • Y(n×k)表示商品所包含隐含特征的矩陣,T表示矩陣Y的轉置

實際中,一般取k<<min(m, n), 也就是相當于降維了。這裡的低維矩陣,有的地方也叫低秩矩陣。

為了找到使低秩矩陣X和Y盡可能地逼近R,需要最小化下面的平方誤差損失函數:

基于協同過濾算法的電影推薦系統設計(二) - ALS算法詳解0 系列文章目錄具體求解過程參考聯系我
  • xu(1×k)表示示使用者u的偏好的隐含特征向量
  • yi(1×k)表示商品i包含的隐含特征向量,
  • rui表示使用者u對商品i的評分
  • 向量xu和yi的内積xuTyi是使用者u對商品i評分的近似。

損失函數一般需要加入正則化項來避免過拟合等問題,我們使用L2正則化,是以上面的公式改造為:

基于協同過濾算法的電影推薦系統設計(二) - ALS算法詳解0 系列文章目錄具體求解過程參考聯系我
  • λ是正則化項的系數。

至此,協同過濾就成功轉化成了一個優化問題。

由于變量xu和yi耦合到一起,這個問題并不好求解,是以我們引入了ALS,也就是說我們可以先固定Y(例如随機初始化X),然後利用公式(2)先求解X,然後固定X,再求解Y,如此交替往複直至收斂,即所謂的交替最小二乘法求解法。

具體求解過程

先固定Y

将損失函數L(X,Y)對xu求偏導,并令導數=0,得到:

基于協同過濾算法的電影推薦系統設計(二) - ALS算法詳解0 系列文章目錄具體求解過程參考聯系我

同理固定X

可得:

基于協同過濾算法的電影推薦系統設計(二) - ALS算法詳解0 系列文章目錄具體求解過程參考聯系我
  • ru(1×n)是R的第u行
  • ri(1×m)是R的第i列
  • I是k×k的機關矩陣。

疊代步驟

首先随機初始化Y,利用公式(3)更新得到X, 然後利用公式(4)更新Y, 直到均方根誤差變RMSE化很小或者到達最大疊代次數。

基于協同過濾算法的電影推薦系統設計(二) - ALS算法詳解0 系列文章目錄具體求解過程參考聯系我

上文提到的模型适用于解決有明确評分矩陣的應用場景,然而很多情況下,使用者沒有明确回報對商品的偏好,也就是沒有直接打分,我們隻能通過使用者的某些行為來推斷他對商品的偏好。

比如,在電視節目推薦的問題中,對電視節目收看的次數或者時長,這時我們可以推測次數越多,看得時間越長,使用者的偏好程度越高,但是對于沒有收看的節目,可能是由于使用者不知道有該節目,或者沒有途徑擷取該節目,我們不能确定的推測使用者不喜歡該節目。

ALS-WR通過置信度權重來解決這些問題:對于更确信使用者偏好的項賦以較大的權重,對于沒有回報的項,賦以較小的權重。ALS-WR模型的形式化說明如下:

ALS-WR的目标函數

基于協同過濾算法的電影推薦系統設計(二) - ALS算法詳解0 系列文章目錄具體求解過程參考聯系我
  • α是置信度系數。

求解方式還是最小二乘法

基于協同過濾算法的電影推薦系統設計(二) - ALS算法詳解0 系列文章目錄具體求解過程參考聯系我

其中Cu是n×n的對角矩陣,Ci是m×m的對角矩陣;Cuii = cui, Ciii = cii。

參考

初識交替最小二乘ALS

聯系我

1.Java開發技術交流Q群

2.完整部落格連結

3.個人知乎

4.gayhub

繼續閱讀