余弦于相似度cos similarity

  1. Motivation
    在计算两个特征之间的相似程度的时候经常会用到余弦相似度公式,这个公式以前在高中学过,不高好像已经基本还给老师了,今天再这里补充一下。在NLP中经常需要对特征表征之后的高维向量之间计算相似度,有向量 a \mathrm a a和向量 b \mathrm b b a = ( x 1 , x 2 , . . . , x n ) \mathrm a=(x_1,x_2,...,x_n) a=(x1,x2,...,xn), b = ( x 1 ′ , x 2 ′ , . . . , x n ′ ) \mathrm b=(x'_1,x'_2,...,x'_n) b=(x1,x2,...,xn),则向量 a \mathrm a a b \mathrm b b之间的余弦相似度为
    c o s &lt; a , b &gt; = a ⋅ b ∣ a ∣ ∣ b ∣ = x 1 x 1 ′ + x 2 x 2 ′ + , . . . , + x n x n ′ x 1 ² + x 2 ² + , . . . , + x n ² x 1 ′ ² + x 2 ′ ² + , . . . , + x n ′ ² = u T v ∣ ∣ u ∣ ∣ 2 ∣ ∣ v ∣ ∣ 2 cos&lt;\mathrm a,\mathrm b&gt;=\frac{\mathrm a·\mathrm b}{|\mathrm a||\mathrm b|}=\frac{x_1x&#x27;_1+x_2x&#x27;_2+,...,+x_nx_n&#x27;}{\sqrt{x_1²+x_2²+,...,+x_n²}\sqrt{x&#x27;_1²+x&#x27;_2²+,...,+x&#x27;_n²}}=\frac{u^Tv}{||u||_2||v||_2} cos<a,b>=abab=x1²+x2²+,...,+xn² x1²+x2²+,...,+xn² x1x1+x2x2+,...,+xnxn=u2v2uTv

2.Derivation proof
首先需要该公式来之于两向量的数量积公式 a ⋅ b = ∣ a ∣ ∣ b ∣ c o s &lt; a , b &gt; \mathrm a·\mathrm b=|\mathrm a||\mathrm b|cos&lt;\mathrm a,\mathrm b&gt; ab=abcos<a,b>该公式的推导如下:
在这里插入图片描述
在图片中有 c = a − b \mathrm c = \mathrm a - \mathrm b c=ab,(注:为了表示的方便我们在二维的平面上表示向量,实际上特征的维度一般可以达到几百甚至几千维)由余弦定理可以得到如下公式
c ² = a ² + b ² − 2 ∣ a ∣ ∣ b ∣ c o s &lt; a , b &gt; ① c²=\mathrm a²+\mathrm b²-2|\mathrm a||\mathrm b|cos&lt;\mathrm a,\mathrm b&gt;① c²=a²+b²2abcos<a,b>
c = a − b \mathrm c = \mathrm a - \mathrm b c=ab带入到公式①中化简之后便可以得到数量积公式。
a ⋅ b = ∣ a ∣ ∣ b ∣ c o s &lt; a , b &gt; \mathrm a·\mathrm b=|\mathrm a||\mathrm b|cos&lt;\mathrm a,\mathrm b&gt; ab=abcos<a,b>
补充:
关于余弦定理的几何证明方法如下:
在这里插入图片描述

如图所示,在△ABC中,BC=a,AC=b,AB=c,
作AD⊥BC于D,则AD=c*sinB,DC=a-BD=a-c*cosB
在Rt△ACD中,
b²=AD²+DC²=(c*sinB)²+(a-c*cosB)²
=c²sin²B+a²-2ac*cosB+c²cos²B
=c²(sin²B+cos²B)+a²-2ac*cosB
=c²+a²-2ac*cosB

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值