机器学习数学基础之 杰卡德(Jaccard)距离、余弦距离

杰卡德距离(Jaccard Distance):

  杰卡德相似系数(Jaccard similarity coefficient):两个集合A和B的交集元素在A,B的并集中所占的比例,称为两个集合的杰卡德相似系数,用符号J(A,B)表示:

  \(J\left ( A,B\right ) = \frac{\left | A\cap B\right |}{\left | A\cup B\right |}\)

  杰卡德距离(Jaccard Distance): 与杰卡德相似系数相反,用两个集合中不同元素占所有元素的比例来衡量两个集合的区分度:

  \(J_{\delta }\left ( A,B\right ) = 1-J\left ( A,B\right )=\frac{\left | A\cup B\right |-\left | A\cap B\right |}{\left | A\cup B\right |}\)

  •   Matlab计算杰卡德距离:(Matlab中将杰卡德距离定义为不同的维度的个数占“非全零维度”的比例

                  

 

                

 

 余弦距离(Cosine Distance):

  几何中,夹角余弦可用来衡量两个向量方向的差异;机器学习中,借用这一概念来衡量样本向量之间的差异。

二维空间中向量 a(x1,x2),b(y1,y2) 的夹角余弦公式:

    \(cos\theta = \frac{x_{1}y_{1}+ x_{2}y_{2}}{\sqrt{x_{1}^{2}+x_{2}^{2}}\sqrt{y_{1}^{2}+y_{2}^{2}}}\)

  两个n维样本点 a(x1,x2,......,xn),b(y1,y2,......yn)的夹角余弦为:

    \(cos\theta = \frac{\vec{a}\cdot \vec{b}}{\left | a\right |\left | b\right |}\)

  即:

    \(cos\theta = \frac{\sum_{i=1}^{n}x_{i}y_{i}}{\sqrt{\sum_{i=1}^{n}x_{i}^{2}}\sqrt{\sum_{i=1}^{n}y_{i}^{2}}}\)

  夹角余弦取值范围为[-1,1]。余弦越大表示两个向量的夹角越小,余弦越小表示两向量的夹角越大。当两个向量的方向重合时余弦取最大值1,当两个向量的方向完全相反余弦取最小值-1。

  Matlab计算夹角余弦(Matlab中的pdist(X, ‘cosine’)得到的是1减夹角余弦的值):

  

 学习博客:here

posted @ 2022-05-08 19:48  swsyya  阅读(2066)  评论(0编辑  收藏  举报

回到顶部