[协同过滤]:交替最小二乘法
来源:互联网 发布:中维网络监控系统下载 编辑:程序博客网 时间: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
交替最小二乘法求解:
- [协同过滤]:交替最小二乘法
- 【转载】[协同过滤] : 交替最小二乘法 ALS
- 协同过滤算法+相似度度量+交替最小二乘法
- 交替最小二乘法
- 协同过滤
- 协同过滤
- 协同过滤
- 协同过滤
- 协同过滤
- 协同过滤
- 协同过滤
- 协同过滤
- 协同过滤
- 协同过滤
- 协同过滤
- 协同过滤
- 协同过滤
- 协同过滤
- 2.3 寻找发帖“水王”
- jquery中使用eval()函数
- 分析redis的RDB和AOF两种持久化机制的工作原理
- VB 学习整理3 输入和输出
- Android Framework--PackageManagerService
- [协同过滤]:交替最小二乘法
- Vue v-if条件渲染
- 鼠标滑过旋转360
- 怎样才能赚到钱系列(五)
- Eclipse异常终止或电脑断电等异常死机问题导致文件lock无法提交的问题
- 抽奖系统Demo
- C语言整型指针理解
- 回溯法简单应用--解数独
- svn服务器从windows 迁到 linux