相似度和相异度、常用距离度量、余弦相似度

通常,具有若干属性的对象之间的邻近度用单个属性的邻近度的组合来定义,因此我们首先讨论具有单个属性的对象之间的邻近度。考虑由一个标称属性描述的对象,对于两个这样的对象,相似意味什么呢?由于标称属性只携带了对象的相异性信息,因此我们只能说两个对象有相同的值,或者没有。因而在这种情况下,如果属性值匹配,则相似度定义为1,否则为0;相异度用相反的方法定义:如果属性值匹配,相异度为0,否则为1。

对于具有单个序数属性的对象,情况更为复杂,因为必须考虑序信息。考虑一个在标度{poor, fair, OK, good, wonderful}上测量产品(例如,糖块)质量的属性。一个评定为wonderful的产品P1与一个评定为good的产品P2应当比它与一个评定为OK的产品P3更接近。为了量化这种观察,序数属性的值常常映射到从0或1开始的相继整数,例如,{poor = 0, fair =1, OK = 2, good = 3, wonderful = 4}。于是,P1与P2之间的相异度d(P1, P2) = 3   2 = 1,或者,如果我们希望相异度在0和1之间取值,d(P1, P2) = (3   2)/4 = 0.25;序数属性的相似度可以定义为s = 1   d。

序数属性相似度(相异度)的这种定义可能使读者感到有点担心,因为这里我们定义了相等的区间,而事实并非如此。如果根据实际情况,我们应该计算出区间或比率属性。值fair与good的差真和OK与wonderful的差相同吗?可能不相同,但是在实践中,我们的选择是有限的,并且在缺乏更多信息的情况下,这是定义序数属性之间邻近度的标准方法。

对于区间或比率属性,两个对象之间的相异性的自然度量是它们的值之差的绝对值。例如,我们可能将现在的体重与一年前的体重相比较,说"我重了10磅。"在这类情况下,相异度通常在0和 之间,而不是在0和1之间取值。如前所述,区间或比率属性的相似度通常转换成相异度。

表2-7总结了这些讨论。在该表中,x和y是两个对象,它们具有一个指明类型的属性,d(x, y)和s(x, y)分别是x和y之间的相异度和相似度(分别用d和s表示)。其他方法也是可能的,但是表中的这些是最常用的。

表2-7  简单属性的相似度和相异度



闵可夫斯基距离(Minkowski distance)来推广:

 

其中r是参数。下面是闵可夫斯基距离的三个最常见的例子。

r = 1,城市街区(也称曼哈顿、出租车、L1范数)距离。一个常见的例子是汉明距离(Hamming distance),它是两个具有二元属性的对象(即两个二元向量)之间不同的二进制位个数。

r = 2,欧几里得距离(L2范数)。

r =  ,上确界(Lmax或L 范数)距离。这是对象属性之间的最大距离。切比雪夫距离,更正式地,L 距离由公式(2-3)定义:

 

注意不要将参数r与维数(属性数)n混淆。欧几里得距离、曼哈顿距离和上确界距离是对n的所有值(1, 2, 3,...)定义的,并且指定了将每个维(属性)上的差的组合成总距离的不同方法。

通常,文档用向量表示,向量的每个属性代表一个特定的词(术语)在文档中出现的频率。当然,实际情况要复杂得多,因为需要忽略常用词,并使用各种技术处理同一个词的不同形式、不同的文档长度以及不同的词频。

尽管文档具有数以百千计或数以万计的属性(词),但是每个文档向量都是稀疏的,因为它具有相对较少的非零属性值。(文档规范化并不对零词目创建非零词目,即文档规范化保持稀疏性。)这样,与事务数据一样,相似性不能依赖共享0的个数,因为任意两个文档多半都不会包含许多相同的词,从而如果统计0-0匹配,则大多数文档都与其他大部分文档非常类似。因此,文档的相似性度量不仅应当像Jaccard度量一样需要忽略0-0匹配,而且还必须能够处理非二元向量。下面定义的余弦相似度(cosine similarity)就是文档相似性最常用的度量之一。如果x和y是两个文档向量,则

 

其中," "表示向量点积,

例2.18  两个文档向量的余弦相似度  该例计算下面两个数据对象的余弦相似度,这些数据对象可能代表文档向量:


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值