跳至正文
学习资料 — 集体智慧编程

集体智慧编程

第一章:提供推荐

欧几里得距离

欧氏距离是平方和的开方,欧氏距离越小,则两个向量的相似度越大(有时也说距离越近)。

d=(x1x2)2+(y1y2)2d = \sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}

对于两个 n 维向量 A=(a1,a2,...,an)\mathbf{A} = (a_1, a_2, ..., a_n)B=(b1,b2,...,bn)\mathbf{B} = (b_1, b_2, ..., b_n),它们之间的欧氏距离 dd 可以表示为:

d(A,B)=i=1n(aibi)2d(\mathbf{A}, \mathbf{B}) = \sqrt{\sum_{i=1}^{n}(a_i - b_i)^2}

曼哈顿距离

又称城市街区距离(City Block Distance),曼哈顿距离是两个点在标准坐标系上的绝对轴距总和。

D=x1x2+y1y2D = |x_1 - x_2| + |y_1 - y_2|

同样,对于这两个 n 维向量 A\mathbf{A}B\mathbf{B},它们之间的曼哈顿距离 DD 可以表示为:

D(A,B)=i=1naibiD(\mathbf{A}, \mathbf{B}) = \sum_{i=1}^{n}|a_i - b_i|

曼哈顿距离与欧氏距离的区别:曼哈顿距离强调城市街区似的行和列的和的距离,欧氏距离强调直线距离。

皮尔逊相关系数

皮尔逊相关系数(Pearson product-moment correlation coefficient,PPMCC),也称为皮尔逊积矩相关系数,是用于衡量两个变量之间线性关系强度的统计指标。它的值介于 -1 和 1 之间,其中:

  • 1 表示完全正相关:一个变量增加时,另一个变量也会以固定比率增加。
  • -1 表示完全负相关:一个变量增加时,另一个变量会以固定比率减少。
  • 0 表示没有线性相关:两个变量之间没有线性关系。

皮尔逊相关系数的计算公式是:

r=i=1n(XiXˉ)(YiYˉ)i=1n(XiXˉ)2i=1n(YiYˉ)2r = \frac{\sum_{i=1}^{n}(X_i - \bar{X})(Y_i - \bar{Y})}{\sqrt{\sum_{i=1}^{n}(X_i - \bar{X})^2 \sum_{i=1}^{n}(Y_i - \bar{Y})^2}}

这里:

  • XiX_iYiY_i 是两个变量的观测值。
  • Xˉ\bar{X}Yˉ\bar{Y} 是这两个变量的平均值。
  • nn 是观测值的数量。

皮尔逊相关系数广泛用于各种领域,包括心理学、社会科学、生物学和金融学,用于研究两个变量之间的线性关系。它是最常用的相关性度量之一。

注意事项:

  • 皮尔逊相关系数只能衡量线性关系的强度,不能表明因果关系。
  • 对于非线性关系,这个系数可能无法正确反映变量之间的关系。
  • 异常值可能对皮尔逊相关系数产生较大影响。

杰卡德系数

杰卡德系数(Jaccard Coefficient),也称为杰卡德相似性系数,是用来衡量两个集合之间相似性和差异性的统计指标。这个系数的值介于 0 和 1 之间,其中 0 表示没有相似性,1 表示完全相同。

杰卡德系数的计算公式如下:

J(A,B)=ABABJ(A, B) = \frac{|A \cap B|}{|A \cup B|}

这里:

  • AABB 是两个集合。
  • AB|A \cap B| 是集合 A 和集合 B 的交集元素个数。
  • AB|A \cup B| 是集合 A 和集合 B 的并集元素个数。

例如,假设有两个集合:

  • 集合 A = {1, 2, 3}
  • 集合 B = {2, 3, 4}

那么,它们的交集 ABA \cap B = {2, 3},并集 ABA \cup B = {1, 2, 3, 4}。因此,杰卡德系数计算为:

J(A,B)=2,31,2,3,4=24=0.5J(A, B) = \frac{|{2, 3}|}{|{1, 2, 3, 4}|} = \frac{2}{4} = 0.5

这意味着集合 A 和集合 B 有 50% 的相似度。

杰卡德系数广泛用于生态学、计算机科学(特别是在文本相似性和机器学习领域)、信息检索等多个领域。在文本分析中,它可以用来衡量两个文本或文档的相似性。在生物多样性研究中,它可以用来衡量两个生态群落的相似性。

基于何种维度的相似度比较

通常来说,存在基于用户的协作型过滤和基于物品的协作型过滤。一方面如果有上百万的用户,那么基于用户的协作性过滤的计算速度是无法忍受的,而物品间的比较不会像用户间的比较那么频繁,意味着可以持久化到数据库里,即可以显著提高推荐接口的响应速度。

发现群组

监督学习和无监督学习

本文共 1301 字,创建于 Mar 18, 2024
博客助手

正在打开博客助手…