推荐系统里的ALS是什么意思?

  统计/机器学习 推荐系统    浏览次数: 652
2

推荐系统里的ALS是什么意思?


 

cyh   2018-01-29 09:33



   2个回答 
14

ALS是Alternating Least Squares,交替最小二乘。这是一种数值计算的方法。

在推荐系统中,我们经常需要计算矩阵分解。比如$M$是原本的评分矩阵,我们想找到两个矩阵$P$和$Q$使得,

$$M=PQ^T$$

或者

$$\text{min}\|M-PQ^T\|_2^2$$

因为这里$P$和$Q$同时都是变量,计算会比较复杂。一个简单的方法是,固定其中一个,计算另外一个。

例如我们先随机产生$P_0$,然后固定$P_0$,求解

$$Q_1=\text{arg}\min_{Q}\|M-P_0Q^T\|_2^2$$

然后再固定$Q_1$,求解

$$P_1=\text{arg}\min_{P}\|M-PQ_1^T\|_2^2$$

之后再固定$P_1$,求解

$$Q_2=\text{arg}\min_{Q}\|M-P_1Q^T\|_2^2$$

这样交替进行,每次只更新$P$和$Q$的其中一个,每一步计算的过程就和最小二乘法一样;所以叫做交替最小二乘法。

SofaSofa数据科学社区 DS面经 问答 实战

strong.man   2018-08-16 09:06

这个讲得很清楚,茅塞顿开,谢谢 - cyh   2018-08-20 20:55
请问这个方法可以保证每次交替求解,∥M−P1QT∥22 都会变小么 - tangkang   2018-09-06 10:53
这个是凸优化吧,最小二乘,肯定会变小的,直到最后稳定 - Nagozi   2018-09-07 01:04
P和Q都是变量,整个问题是对于P,Q的最小二乘,肯定会使cost function变小。主要是每一步只改变P或Q,相当于把所有变量分成两个子集,每次只改变一个子集。相似的算法还有coordinate descent。 - Zealing   2018-09-08 00:15
1

Alternating Least Squares

有兴趣的话,可以直接看论文


SofaSofa数据科学社区 DS面经 问答 实战

染盘   2018-02-02 12:56



  相关主题

推荐系统中常用的表示相似或者距离的方法有哪些?   1回答

推荐系统算法里的cold start是什么意思?   2回答

余弦相似和内积的意义?   1回答

两个向量的余弦距离大于1?   1回答

Jaccard相似或者Jaccard距离是怎么计算的?   1回答

协同过滤的数据预处理问题   4回答

推荐系统有哪些常用的评价标准   4回答

怎么理解推荐系统中的NDCG?   1回答

推荐系统中的召回(recall)是什么意思?   1回答

关于pairwise ranking数据预处理的问题   0回答

余弦相似的定义是什么?怎么计算?   1回答

python里怎么计算jaccard相似   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!