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Σ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)