余弦距离
作者:互联网
原文:https://blog.csdn.net/lucky_kai/article/details/89514868
概述: 在机器学习领域中,通常将特征表示为向量的形式,所以在分析两个特征向量之间的相似性时,常用余弦相似度表示。例如将两篇文章向量化,余弦距离可以避免因为文章的长度不同而导致距离偏大,余弦距离只考虑两篇文章生成的向量的夹角。
余弦相似度的取值范围是[-1,1],相同两个向量的之间的相似度为1。
余弦距离的取值范围是[0,2]。
余弦相似度的定义公式为
c
o
s
(
A
,
B
)
=
A
⋅
B
∥
A
∥
2
∥
B
∥
2
cos(A,B)=\frac{A\cdot B}{\left \| A \right \|_{2}\left \| B \right \|_{2}}
cos(A,B)=∥A∥2∥B∥2A⋅B
归一化后
∥
A
∥
2
=
1
\left \| A \right \|_{2}=1
∥A∥2=1,
∥
B
∥
2
=
1
\left \| B \right \|_{2}=1
∥B∥2=1,
∥
A
∥
2
∥
B
∥
2
=
1
\left \| A \right \|_{2}\left \| B \right \|_{2} = 1
∥A∥2∥B∥2=1
余弦距离:
d
i
s
t
(
A
,
B
)
=
1
−
c
o
s
(
A
,
B
)
=
∥
A
∥
2
∥
B
∥
2
−
A
⋅
B
∥
A
∥
2
∥
B
∥
2
dist(A,B)= 1-cos(A,B) = \frac{\left \|A \right \|_{2}\left \|B \right \|_{2}-A\cdot B}{\left \| A\left \|_{2} \right \|B \right \|_{2}}
dist(A,B)=1−cos(A,B)=∥A∥2∥B∥2∥A∥2∥B∥2−A⋅B
欧式距离:
∥
A
−
B
∥
2
=
∥
A
∥
2
+
∥
B
∥
2
−
2
A
⋅
B
=
2
−
2
A
⋅
B
=
2
d
i
s
t
(
A
,
B
)
\left \| A-B \right \|^{2} = \left \| A \right \|^{2} + \left \| B \right \|^{2} -2A\cdot B = 2-2A\cdot B =\sqrt[]{2dist(A,B)}
∥A−B∥2=∥A∥2+∥B∥2−2A⋅B=2−2A⋅B=2dist(A,B)
由公式可以看出归一化后,欧式距离与余弦距离存在单调性关系。此时两种距离的值域都为[0,2]。
欧式距离与余弦距离的对比:
1.欧式距离的数值受到维度的影响,余弦相似度在高维的情况下也依然保持低维完全相同时相似度为1等性质。
2.欧式距离体现的是距离上的绝对差异,余弦距离体现的是方向上的相对差异。
不同情况不同选择:
1.两个人分别取了蓝球(1,0)与红球(0,1),这两个向量的欧式距离较小,可是事实是这两个球是不同的,而余弦距离为2表示的是完全不同的意思。所以在这种情况下选择余弦距离更具合理性
2.两个人对APP的使用次数与使用时长分别表示为(1,10),(10,100),可知余弦相似度较小,说明这两个人的行为时相同的,可是,事实是不同的,两个人的活跃度有着极大的差异,第二个人的活跃度更高
余弦距离满足正定性和对称性,但是不满足三角不等式,因此余弦距离不是一个严格定义的距离。
距离的定义:
在一个集合中,如果每一对元素均可唯一确定一个实数,使得三条距离公理(正定性,对称性,三角不等式)成立,则该实数可以称为这对元素之间的距离。
标签:right,距离,余弦,2A,欧式,left 来源: https://blog.csdn.net/xz1308579340/article/details/111597223