码迷,mamicode.com
首页 > 编程语言 > 详细

推荐算法之矩阵分解

时间:2018-03-27 12:35:02      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:msu   atom   位置   ati   属性   预测   global   lob   image   

BasicSVD


用户特征: 一组实向量, 描述了用户对具备属性a,b,c,...的电影的偏好程度 user(Xa, Xb, Xc,...)

电影特征: 一组实向量, 描述了电影队属性a,b,c,...的符合程度 movie(Xa, Xb,Xc,...)

用户对电影的评分预测值, 就是上述两个向量的内积[1]

 

奇异值分解: [2]

方阵的特征分解:

Ax=λx, 其中A为一个n×n的矩阵, λ为特征值, x为λ所对应的特征向量

对于矩阵A的n个特征值λ1λ2...λn, 以及这n个特征值所对应的特征向量{x1,x2,...xn}

矩阵A可作如下分解: A=WΣ-1, 其中W是这n个特征向量所张成的n×n维矩阵,而Σ为这n个特征值为主对角线的n×n维矩阵

奇异值分解:

奇异值分解不要求矩阵为方阵: 假设矩阵A是一个m×n的矩阵,那么我们定义矩阵A的SVD为:A=UΣVT, 其中U是一个m×m的矩阵, V是一个n×n的矩阵, 它们除了主对角线上的元素以外全为0,且都满足
UTU=I,VTV=I

技术分享图片

 

其中矩阵V是方阵ATA的n个特征向量所张成的n×n矩阵, 我们把这里用到的特征向量称做矩阵A的右奇异向量

矩阵U是方阵AAT的m个特征向量所张成的m×m矩阵, 这里的特征向量称为矩阵A的左奇异向量

矩阵Σ除了对角线上是奇异值其他位置都是0, 由推导: 

技术分享图片

可知, 奇异值σi = Avi / ui , 其中vi和ui 分别是A的右, 左奇异向量

同样, 奇异值还可以通过技术分享图片求得, 其中λ为ATA和AAT的特征值(两个矩阵的特征值是一样的)

 

 

 

 

 

BellkorSVD(SVD+)


隐性反馈

近邻模型

插值算法

BIgChaos


消除Global Effect

相似度矩阵分解

 

SVD_kNN


 xxx

 

[引用资料]

[1]王元涛. Netflix数据集上的协同过滤算法[D]. 清华大学, 2009.

[2]奇异值分解(SVD)原理与在降维中的应用 - 刘建平Pinard(https://www.cnblogs.com/pinard/p/6251584.html)

推荐算法之矩阵分解

标签:msu   atom   位置   ati   属性   预测   global   lob   image   

原文地址:https://www.cnblogs.com/lokvahkoor/p/8655491.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!