矩陣分解是一種常用的推薦系統(tǒng),通常研究者們只有用戶-物品評分矩陣测僵,如何從該矩陣中獲得用戶的個性偏好以及物品自身屬性為交替最小二乘法的實現(xiàn)目標肤频。轉自:https://iii.run/archives/302.html
交替最小平方法(Alternating least squares, ALS)
本方法常用于基于矩陣分解的推薦系統(tǒng)中鹤啡,如將用戶-物品評分矩陣分解為兩個低緯的矩陣作煌,將每個用戶和物品都表示為一個向量。
假設有m個用戶和n個物品泡孩,設評分矩陣為R车摄,矩陣分解的目標時候找到兩個低維矩陣(X和Y)來逼近評分矩陣R:
對應的解釋如下:
表示用戶i對物品j的評分情況,為了能讓X和Y的乘積盡量的接近R仑鸥,這里使用到了最小損失函數(shù)吮播。同時損失項一般需要加入正則項以避免過擬合問題,通常使用L2正則眼俊,因此目標函數(shù)為:
為正則化系數(shù)意狠,防止過擬合用。
交替最小平方法(ALS)使用上述的平方誤差疮胖,交替降低誤差环戈。何為交替降低誤差呢,在每輪迭代中澎灸,只迭代其中一個參數(shù)院塞,下回迭代另外一個參數(shù),交替進行性昭。
-
固定Y迫悠,對Loss做X偏微分,使其偏微分等于0:
-
然后固定X巩梢,對Loss做Y偏微分,使其偏微分等于0:
循環(huán)上述過程艺玲,不斷交替進行括蝠,直至誤差收斂為止。
具體偏微分過程
其它
- 損失函數(shù)的主體部分和正則部分饭聚,可以同一添加忌警,因為求偏微分的時候右上角的2會掉下來。
- 優(yōu)化方法有兩種秒梳,一種是令法绵,得到的值。另外一種是: