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

欧几里德距离的类似度 —— Euclidean Distance-based Similarityide


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

 

图中用户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)spa

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

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

二维的公式

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

三维的公式

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

  推广到n维空间, 方法

欧氏距离的公式

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

  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)定义为上面的公式.