[协同过滤]:交替最小二乘法

来源:互联网 发布:中维网络监控系统下载 编辑:程序博客网 时间:2024/05/22 01:27

1、基础回顾:

矩阵的奇异值分解:(svd)

· 矩阵与向量相乘的结果与特征值、特征向量有关

· 数值小的特征值对矩阵-向量相乘的结果的贡献值较小

(1) 低秩相似

(2) 特征降维

(3) 相似度和距离度量

2、 ALS 交替最小二乘法

在机器学习中,ALS指使用交替最小二乘法求解的一个协同过滤推荐算法

观察所有用户给商品的打分,判断每个用户的喜好并向用户推荐合适的商品

每一行代表一个用户(u1 u2 u3 .....),每一列代表一个商品(v1 v2 v3 ....),用户的打分在1到9分之间。

我们需要推测没有观察到的打分。

· ALS的核心就是这样一个假设:打分矩阵是近似低秩的。

换句话说就是:一个 m* n 的打分矩阵,可以由分解的两个小矩阵U(m*k)和 V(n*k )的乘积近似得到。k<<(n,m)

这样我们就把系统的自由度从O(mn) 降到了O((m+n)k)

· 低维空间的选取:

这个低维空间要能够很好的区分事物,那么就需要一个明确的可量化的目标,这就是重构误差。

在ALS中我们使用 F范数 来量化重构误差,就是每个元素重构误差的平方和。

但是,这里存在一个问题,我们只能观察到部分的打分矩阵,A中大量元素是我们想推断的,所有这个重构误差是包含未知数的。

解决方案:只计算已经打分的重构误差:

3、协同过滤

协同过滤分析用户以及用户相关产品的相关性,用以识别新的用户-产品相关性。

协同过滤系统需要的唯一的信息是用户过去的行为信息,比如用户对商品的评价信息等。

· 推荐系统依赖不同类型的输入数据,最方便的是高质量的显示反馈数据,他们直接包含了用户对感兴趣商品的明确评价。

· 但是显式反馈的数据不一定总找得到,因此推荐系统需要从大量的丰富的隐式反馈信息中推测用户的喜好。

4、显式反馈模型:

通过内积 来预测,另外加入正则化参数 lamda 来预防过拟合。

最小重构误差:

5、隐式反馈模型:

偏好:二元变量,它表示用户u 对商品v 的偏好:

信任度:变量,它衡量了我们观察的信任度。

最小化损失函数:

6、求解:最优化

显式:只需要基于观察到的值;

隐式:需要考虑不同的信任度,最优化的时候需要考虑所有可能的u,v

交替最小二乘法求解:



原创粉丝点击