0%

余弦距离介绍

概述:在机器学习领域中,通常将特征表示为向量的形式,所以在分析两个特征向量之间的相似性时,常用余弦相似度表示。例如将两篇文章向量化,余弦距离可以避免因为文章的长度不同而导致距离偏大,余弦距离只考虑两篇文章生成的向量的夹角。

余弦相似度的取值范围是[-1,1],相同两个向量的之间的相似度为1。

余弦距离的取值范围是[0,2]。

余弦相似度的定义公式为: $\cos (A, B)=\frac{A \cdot B}{|A|{2}|B|{2}} $

归一化后::A2=1,B2=1,A2B2=1\|A\|_{2}=1,\|B\|_{2}=1,\|A\|_{2}\|B\|_{2}=1

余弦距离:

$\operatorname{dist}(A, B)=1-\cos (A, B)=\frac{|A|{2}|B|{2}-A \cdot B}{|A|{2}|B|{2}}

欧式距离:AB2=A22+B222AB=22AB=2(1AB)=>AB=2dist(A,B)|A-B|^{2}=|A|*{2}^{2}+|B|*{2}^{2}-2 A \cdot B=2-2 A \cdot B=2(1-A \cdot B)=>|A-B|=\sqrt{2 d i s t(A, B)}

由公式可以看出归一化后,欧式距离与余弦距离存在单调性关系。此时两种距离的值域都为[0,2]。

欧式距离与余弦距离的对比:

1.欧式距离的数值受到维度的影响,余弦相似度在高维的情况下也依然保持低维完全相同时相似度为1等性质。

2.欧式距离体现的是距离上的绝对差异,余弦距离体现的是方向上的相对差异。

不同情况不同选择:

1.两个人分别取了蓝球(1,0)与红球(0,1),这两个向量的欧式距离较小,可是事实是这两个球是不同的,而余弦距离为2表示的是完全不同的意思。所以在这种情况下选择余弦距离更具合理性。

2.两个人对APP的使用次数与使用时长分别表示为(1,10),(10,100),可知余弦相似度较小,说明这两个人的行为时相同的,可是,事实是不同的,两个人的活跃度有着极大的差异,第二个人的活跃度更高。

余弦距离满足正定性和对称性,但是不满足三角不等式,因此余弦距离不是一个严格定义的距离。

距离的定义:

在一个集合中,如果每一对元素均可唯一确定一个实数,使得三条距离公理(正定性,对称性,三角不等式)成立,则该实数可以称为这对元素之间的距离。

证明:

1.正定性

余弦距离公式:dist(A,B)=1cosθ\operatorname{dist}(A, B)=1-\cos \theta,因为1cosθ1-1 \leq \cos \theta \leq 1,所以dist(A,B)0\operatorname{dist}(A, B) \geq 0满足正定性。

2.对称性:

dist(A,B)=1cos(A,B)=A2B2ABA2B2=B2A2BAB2A2=dist(B,A)\operatorname{dist}(A, B)=1-\cos (A, B)=\frac{\|A\|_{2}\|B\|_{2}-A \cdot B}{\|A\|_{2}\|B\|_{2}}=\frac{\|B\|_{2}\|A\|_{2}-B \cdot A}{\|B\|_{2}\|A\|_{2}}=\operatorname{dist}(B, A)满足对称性。

3.三角不等式:

给定A=(1,0),B=(1,1),C=(0,1),则有dist(A,B)=122,dist(B,C)=122,dist(A,C)=1\operatorname{dist}(A, B)=1-\frac{\sqrt{2}}{2}, \operatorname{dist}(B, C)=1-\frac{\sqrt{2}}{2}, \operatorname{dist}(A, C)=1,因此有dist(A,B)+dist(B,C)=22<1=dist(A,C)\operatorname{dist}(A, B)+\operatorname{dist}(B, C)=2-\sqrt{2}<1=\operatorname{dist}(A, C),所以得出余弦距离不符合三角不等式。

-------------本文结束感谢您的阅读-------------

欢迎关注我的其它发布渠道