推荐系统中相似度计算可以说是基础中的基础了,因为基本所有的推荐算法都是在计算相似度,用户相似度或者物品相似度,这里罗列一下各种相似度计算方法和适用点
余弦相似度
similarity=cos(θ)=A⋅B∥A∥∥B∥=∑i=1nAi×Bi∑i=1n(Ai)2−−−−−−−√×∑i=1n(Bi)2−−−−−−−√
这个基本上是最常用的,最初用在计算文本相似度效果很好,一般像tf-idf一下然后计算,推荐中在协同过滤以及很多算法中都比其他相似度效果理想。
由于余弦相似度表示方向上的差异,对距离不敏感,所以有时候也关心距离上的差异会先对每个值都减去一个均值,这样称为调整余弦相似度
欧式距离
d(x,y):=(x1−y1)2+(x2−y2)2+⋯+(x