余弦相似性
余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是-1。从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。两个向量有相同的指向时,余弦相似度的值为1;两个向量夹角为90°时,余弦相似度的值为0;两个向量指向完全相反的方向时,余弦相似度的值为-1。这结果是与向量的长度无关的,仅仅与向量的指向方向相关。余弦相似度通常用于正空间,因此给出的值为0到1之间。
注意这上下界对任何维度的向量空间中都适用,而且余弦相似性最常用于高维正空间。例如在信息检索中,每个词项被赋予不同的维度,而一个文档由一个向量表示,其各个维度上的值对应于该词项在文档中出现的频率。余弦相似度因此可以给出两篇文档在其主题方面的相似度。
另外,它通常用于文本挖掘中的文件比较。此外,在数据挖掘领域中,会用到它来度量集群内部的凝聚力。[1]
定义
[编辑]两个向量间的余弦值可以通过使用欧几里得点积公式求出:
给定两个属性向量, A 和B,其余弦相似性θ由点积和向量长度给出,如下所示:
- ,这里的和分别代表向量和的各分量。
给出的相似性范围从-1到1。-1意味着两个向量指向的方向正好截然相反,1表示它们的指向是完全相同的,0通常表示它们之间是独立的,而在这之间的值则表示中间的相似性或相异性。
对于文本匹配,属性向量A 和B 通常是文档中的词频向量。余弦相似性,可以被看作是在比较过程中把文件长度正规化的方法。
在信息检索的情况下,由于一个词的频率(TF-IDF权)不能为负数,所以这两个文档的余弦相似性范围从0到1。并且,两个词的频率向量之间的角度不能大于90°。
角相似性
[编辑]“余弦相似性”一词有时也被用来表示另一个系数,尽管最常见的是像上述定义那样的。透过使用相同计算方式得到的相似性,向量之间的规范化角度可以作为一个范围在[0,1]上的有界相似性函数,从上述定义的相似性计算如下:
这式子适用于向量系数可以为正或负的情况。
或者,用以下式子计算
这式子适用于向量系数总为正的情况。
虽然“余弦相似性”一词有时会用来表示这个角距离,但实际上很少这样说,因为角度的馀弦值只是作为一种计算角度的简便方法而被用到,本身并不是意思的一部分。角相似系数的优点是,当作为一个差异系数(从1减去它)时,产生的函数是一个严格距离度量,而对于第一种意义的“余弦相似性”则不然。然而,对于大多数的用途,这不是一个重要的性质。若对于某些情况下,只有一组向量之间的相似性或距离的相对顺序是重要的,那么不管是使用哪个函数,所得出的顺序都是一样的。
与“Tanimoto”系数的混淆
[编辑]有时,余弦相似性会跟一种特殊形式的、有著类似代数形式的相似系数相混淆:
事实上,这个代数形式是首先被Tanimoto定义,作为在所比较集合由位元向量表示时计算其Jaccard系数的方法。虽然这公式也可以扩展到向量,它具有和余弦相似性颇为不同的性质,并且除了形式相似外便没有什么关系。
Ochiai系数
[编辑]这个系数在生物学中也叫Ochiai系数,或Ochiai-Barkman系数[2][3]:
这里和是集合,是的元素个数。如果集合由位元向量所代表,那么可看到Ochiai系数跟馀弦相似性是等同的。
另见
[编辑]外部链接
[编辑]- 加权的余弦措施 (页面存档备份,存于互联网档案馆)
- http://www.miislita.com/information-retrieval-tutorial/cosine-similarity-tutorial.html#Cosim (页面存档备份,存于互联网档案馆)
参考文献
[编辑]- ^ P.-N. Tan, M. Steinbach & V. Kumar, "Introduction to Data Mining", , Addison-Wesley (2005), ISBN 0-321-32136-7, chapter 8; page 500.
- ^ Ochiai A. Zoogeographical studies on the soleoid fishes found Japan and its neighboring regions. II // Bull. Jap. Soc. sci. Fish. 1957. V. 22. № 9. P. 526-530.
- ^ Barkman J.J. Phytosociology and ecology of cryptogamic epiphytes, including a taxonomic survey and description of their vegetation units in Europe. – Assen. Van Gorcum. 1958. 628 p.