机器学习中的度量——类似度

      机器学习是时下流行AI技术中一个很重要的方向,不管是有监督学习仍是无监督学习都使用各类“度量”来获得不一样样本数据的差别度或者不一样样本数据的类似度。良好的“度量”能够显著提升算法的分类或预测的准确率,本文中将介绍机器学习中各类“度量”,“度量”主要由两种,分别为距离、类似度和相关系数,距离的研究主体通常是线性空间中点;而类似度研究主体是线性空间中向量;相关系数研究主体主要是分布数据。本文主要介绍类似度。算法

1 Jaccard类似度——集合论的妙用

      Jaccard类似度,或者叫作并交比。是用于比较样本集的类似性与多样性的统计量。雅卡尔系数可以量度有限样本集合的类似度,其定义为两个集合交集大小与并集大小之间的比例:机器学习

      设A和B是两个集合,则A和B的Jaccard类似度为:学习

\[ sim_{Jaccard}(A,B) = sim_{Jaccard}(B,A)=\frac{{\left| {A \cap B} \right|}}{{\left| {A \cup B} \right|}} = \frac{{\left| {A \cap B} \right|}}{{\left| A \right| + \left| B \right| - \left| {A \cap B} \right|}} \]
      若集合A和B彻底同样则定义J(A,B)=1,显示0<=J(A,B)<=1spa


图1 集合A和集合B的交集和并集

      下面经过简单例子来讲明Jaccard类似度如何计算的,设
      集合A = {“A”,“B”, “C”,“D“}
      集合B = {“A”,“B”, “E”,F“, “G”}
      A和B的并集A∪B = {“A”,“B”, “C”,“D“, “E”,“F”, “G”}
      A和B的交集A∩B = {“A”, “B” }
      因此|A∪B| = 7, | A∩B| =2
      因此A和B的Jaccard类似度为2/7blog

2 余弦类似度——NLP领域大杀器

      余弦类似度经过测量两个向量内积空间的夹角的余弦值来度量它们之间的类似性。0度角的余弦值是1,而其余任何角度的余弦值都不大于1。用向量空间中两个向量夹角的余弦值做为衡量两个个体间差别的大小的度量,也就是衡量两个向量在方向上的差异。文档

      若是向量a = (a1, a2,..., an) 和向量b = (b1, b2, ..., bn) 是两个欧式空间点,则两向量的点积为a⋅b=|a|⋅|b|⋅cos⁡⟨a,b⟩,向量都是有方向的量,cos⁡⟨a,b⟩就是a和b夹角的余弦,因此两个向量a和b的余弦类似度计算公式为:
\[\begin{array}{l} si{m_{Cos}}\left( {{\bf{a}},{\bf{b}}} \right){\rm{ = }}si{m_{Cos}}\left( {{\bf{a}},{\bf{b}}} \right) = \frac{{{\bf{a}} \cdot {\bf{b}}}}{{{{\left\| {\bf{a}} \right\|}_2}{{\left\| {\bf{b}} \right\|}_2}}} \\ \quad \quad \quad \quad \quad \quad \quad \quad \quad \; = \frac{{{a_1}{b_1} + {a_2}{b_2} + \cdots + {a_n}{b_n}}}{{\sqrt {a_1^2 + a_2^2 + \cdots + a_n^2} \sqrt {b_1^2 + b_2^2 + \cdots + b_n^2} }} \\ \end{array}\]数据挖掘

      好比向量x=(0,1,2)和y=(1,0,2),那么它们余弦距离为class

      

\[\cos \left( {x,y} \right) = \frac{{0 \times 1 + 1 \times 0 + 2 \times 2}}{{\sqrt {{0^2} + {1^2} + {2^2}} \cdot \sqrt {{1^2} + {0^2} + 2} }} = \frac{4}{5}\]集群

      余弦类似度一般用于信息检索中。在信息检索领域中,每一个词条拥有不一样的度,一个文档是由一个由有权值的特征向量表示的,权值的计算取决于词条在该文档中出现的频率。余弦类似度所以能够给出两篇文档其主题方面的类似度。另外,它一般用于文本挖掘中的文件比较。此外,在数据挖掘领域中,用它来衡量集群内部的凝聚力。im

相关文章
相关标签/搜索