向量之间的相似度
度量向量之间的相似度方法很多了,你可以用距离(各种距离)的倒数,向量夹角,Pearson相关系数等。
皮尔森相关系数计算公式如下:
分子是协方差,分子是两个变量标准差的乘积。显然要求X和Y的标准差都不能为0。
因为,所以皮尔森相关系数计算公式还可以写成:
当两个变量的线性关系增强时,相关系数趋于1或-1。
用户评分预测的基本原理是:
step1.如果用户i对项目j没有评过分,就找到与用户i最相似的K个邻居(使用向量相似度度量方法)
step2.然后用这K个邻居对项目j的评分的加权平均来预测用户i对项目j的评分。
iterm1 | ………… | itemn | |
user1 | R11 | R1n | |
…… | Rij | ||
userm | Rm1 | Rmn |
用户评分数据矩阵
step1.
用户评分矩阵是个高度稀疏的矩阵,即用户对很多项目都没有评分。在高度稀疏的情况下用传统的向量相似度度量方法来度量两个用户的相似度就会很不准确。一种简单的处理办法是对未评分的项都令其等于该用户的平均评分值。
度量用户i和用户j相似度更好的方法是:
1.用户i参与评分的项目集合为Ii,用户j参与评分的项目集合为Ij,找到它们的并集
2.在集合中用户i未评分的项目是,重新估计用户i对中每个项目的评分。
2.1.取出评分矩阵的两列,计算这两列的相似度就是这两个项目的相似度。。找到与最相似的V个项目构成集合。
2.2.
3.这样用户i和j对的评分就都是非0值了,在此情况下计算他们的相似度。
step2.
表示用户u对所有评分过的项目的评分平均值。
引用:
http://zh.wikipedia.org/wiki/%E7%9A%AE%E5%B0%94%E9%80%8A%E7%A7%AF%E7%9F%A9%E7%9B%B8%E5%85%B3%E7%B3%BB%E6%95%B0
http://www.cnblogs.com/zhangchaoyang/articles/2664366.html
【推荐系统】协同过滤--高度稀疏数据下的数据清理(皮尔逊相关系数),布布扣,bubuko.com
【推荐系统】协同过滤--高度稀疏数据下的数据清理(皮尔逊相关系数)
原文地址:http://blog.csdn.net/wbj01100/article/details/38733985