第一章:提供推荐
欧几里得距离
欧氏距离是平方和的开方,欧氏距离越小,则两个向量的相似度越大(有时也说距离越近)。
对于两个 n 维向量 和 ,它们之间的欧氏距离 可以表示为:
曼哈顿距离
又称城市街区距离(City Block Distance),曼哈顿距离是两个点在标准坐标系上的绝对轴距总和。
同样,对于这两个 n 维向量 和 ,它们之间的曼哈顿距离 可以表示为:
曼哈顿距离与欧氏距离的区别:曼哈顿距离强调城市街区似的行和列的和的距离,欧氏距离强调直线距离。
皮尔逊相关系数
皮尔逊相关系数(Pearson product-moment correlation coefficient,PPMCC),也称为皮尔逊积矩相关系数,是用于衡量两个变量之间线性关系强度的统计指标。它的值介于 -1 和 1 之间,其中:
- 1 表示完全正相关:一个变量增加时,另一个变量也会以固定比率增加。
- -1 表示完全负相关:一个变量增加时,另一个变量会以固定比率减少。
- 0 表示没有线性相关:两个变量之间没有线性关系。
皮尔逊相关系数的计算公式是:
这里:
- 和 是两个变量的观测值。
- 和 是这两个变量的平均值。
- 是观测值的数量。
皮尔逊相关系数广泛用于各种领域,包括心理学、社会科学、生物学和金融学,用于研究两个变量之间的线性关系。它是最常用的相关性度量之一。
注意事项:
- 皮尔逊相关系数只能衡量线性关系的强度,不能表明因果关系。
- 对于非线性关系,这个系数可能无法正确反映变量之间的关系。
- 异常值可能对皮尔逊相关系数产生较大影响。
杰卡德系数
杰卡德系数(Jaccard Coefficient),也称为杰卡德相似性系数,是用来衡量两个集合之间相似性和差异性的统计指标。这个系数的值介于 0 和 1 之间,其中 0 表示没有相似性,1 表示完全相同。
杰卡德系数的计算公式如下:
这里:
- 和 是两个集合。
- 是集合 A 和集合 B 的交集元素个数。
- 是集合 A 和集合 B 的并集元素个数。
例如,假设有两个集合:
- 集合 A = {1, 2, 3}
- 集合 B = {2, 3, 4}
那么,它们的交集 = {2, 3},并集 = {1, 2, 3, 4}。因此,杰卡德系数计算为:
这意味着集合 A 和集合 B 有 50% 的相似度。
杰卡德系数广泛用于生态学、计算机科学(特别是在文本相似性和机器学习领域)、信息检索等多个领域。在文本分析中,它可以用来衡量两个文本或文档的相似性。在生物多样性研究中,它可以用来衡量两个生态群落的相似性。
基于何种维度的相似度比较
通常来说,存在基于用户的协作型过滤和基于物品的协作型过滤。一方面如果有上百万的用户,那么基于用户的协作性过滤的计算速度是无法忍受的,而物品间的比较不会像用户间的比较那么频繁,意味着可以持久化到数据库里,即可以显著提高推荐接口的响应速度。