当前位置:   article > 正文

矩阵分解ALS-交替最小二乘法

矩阵分解als

ALS(alternating least squares)

ALS是交替最小二乘的简称。在机器学习中,ALS特指使用交替最小二乘求解的一个协同推荐算法。如:将用户(user)对商品(item)的评分矩阵分解成2个矩阵:

在这里插入图片描述
把原来的矩阵拆分成:
在这里插入图片描述
如何从评分矩阵中分解出User矩阵和Item矩阵,

  • 只有左侧的评分矩阵R是已知的
  • User矩阵和Item矩阵是未知
  • 学习出User矩阵和Item矩阵,使得User矩阵*Item矩阵与评分矩阵中已知的评分差异最小 => 最优化问题
我们最终的目的是使求得的打分矩阵loss最小

在这里插入图片描述

这里讲一下算数平均值,我们做实验经常用到算数平均值,其实算数平均值最终的原理也是最小二乘法

为什么算数平均值为实际值
在这里插入图片描述
导数为0的时候为最小值,因此
在这里插入图片描述
也就是:
在这里插入图片描述
所以:
在这里插入图片描述
最小二乘法是一种重要的数据拟合技术
可以应用于线性回归,非线性回归
在这里插入图片描述

之所以叫交替最小二乘法,是因为同时求X和Y两个矩阵,所以需要固定X求Y,再固定Y求X

1、固定Y优化X
在这里插入图片描述
将目标函数转化为矩阵表达形式
在这里插入图片描述
在这里插入图片描述

对目标函数 յ关于 xu 求梯度,并令梯度为零,得
在这里插入图片描述
求解后,得:
在这里插入图片描述
x u = ( Y u Y T + λ I ) − 1 Y u R u x_u=(Y_uY^T + \lambda I) ^{-1}Y_uR_u xu=(YuYT+λI)1YuRu

2、固定X优化Y
同理,求解得
y i = ( X u X T + λ I ) − 1 X u R u y_i=(X_uX^T + \lambda I) ^{-1}X_uR_u yi=(XuXT+λI)1XuRu

然后交替迭代:
  • 初始化X,Y
  • 利用for u=1,…,n do ∂ L o s s ( X , Y ) ∂ x u \frac{\partial^{}Loss(X, Y)}{\partial x_u^{}} xuLoss(X,Y)=0 去得到xu
  • 利用for i=1,…,m do ∂ L o s s ( X , Y ) ∂ y i \frac{\partial^{}Loss(X, Y)}{\partial y_i^{}} yiLoss(X,Y)=0 去得到yi
  • 重复2和3,不断去更新直到均方根误差RMSE收敛
    在这里插入图片描述
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/649334
推荐阅读
相关标签
  

闽ICP备14008679号