欧几里德距离的相似度 —— Euclidean Distance-based Similarity

欧几里德距离的相似度 —— Euclidean Distance-based Similarity


欧几里德距离计算相似度是所有相似度计算里面最简单、最易理解的方法。它以经过人们一致评价的物品为坐标轴,然后将参与评价的人绘制到坐标系上,并计算他们彼此之间的直线距离。

 

图中用户A和用户B分别对项目X、Y进行了评分。用户A对项目X的评分为2,对项目Y的评分为4,表示到坐标系中为坐标点A(1.8, 4);同样用户B对项目X、Y的评分表示为坐标点B(4.5, 2.5),因此他们之间的欧几里德距离(直线距离)为:sqrt((B.x - A.x)^2 + (A.y - B.y)^2)

计算出来的欧几里德距离是一个大于0的数,为了使其更能体现用户之间的相似度,可以把它规约到(0, 1]之间,具体做法为:1 / (1 + d)。参见Table2

只要至少有一个共同评分项,就能用欧几里德距离计算相似度;如果没有共同评分项,那么欧几里德距离也就失去了作用。其实照常理理解,如果没有共同评分项,那么意味着这两个用户或物品根本不相似。

二维的公式

  d = sqrt((x1-x2)^2+(y1-y2)^2)

三维的公式

  d=sqrt(x1-x2)^2+(y1-y2)^2+(z1-z2)^2)

  推广到n维空间,

欧氏距离的公式

  d=sqrt( ∑(xi1-xi2)^2 ) 这里i=1,2..n

  xi1表示第一个点的第i维坐标,xi2表示第二个点的第i维坐标

  n维欧氏空间是一个点集,它的每个点可以表示为(x(1),x(2),...x(n)),其中x(i)(i=1,2...n)是实数,称为x的第i个坐标,两个点x和y=(y(1),y(2)...y(n))之间的距离d(x,y)定义为上面的公式.

你可能感兴趣的:(推荐算法)