还是刚刚那个例子,我们如果把每个人对每首歌曲的喜爱程度表示出来,就是下面这个样
子。图中,某个人对某首歌曲是否喜爱,我们不再用“1”或者“0”来表示,而是对应一
个具体的分值。
有了这样一个用户对歌曲的喜爱程度的对应表之后,如何来判断两个用户是否口味相似呢?
显然,我们不能再像之前那样,采用简单的计数来统计两个用户之间的相似度。还记得我们
之前讲字符串相似度度量时,提到的编辑距离吗?这里的相似度度量,我们可以使用另外一
个距离,那就是欧几里得距离(Euclidean distance)。欧几里得距离是用来计算两个向量
之间的距离的。这个概念中有两个关键词,向量和距离,我来给你解释一下。
一维空间是一条线,我们用 1,2,3……这样单个的数,来表示一维空间中的某个位置;二
维空间是一个面,我们用(1,3)(4,2)(2,2)……这样的两个数,来表示二维空间
中的某个位置;三维空间是一个立体空间,我们用(1,3,5)(3,1,7)(2,4,3)
……这样的三个数,来表示三维空间中的某个位置。一维、二维、三维应该都不难理解,那
更高维中的某个位置该如何表示呢?
类比一维、二维、三维的表示方法,K 维空间中的某个位置,我们可以写作( , ,
,…, )。这种表示方法就是向量(vector)。我们知道,二维、三维空间中,两
个位置之间有距离的概念,类比到高纬空间,同样也有距离的概念,这就是我们说的两个向
量之间的距离。
评论0