用余弦距离表示向量之间的相似度

很多深度学习的应用里用余弦距离来表示特征向量之间的相似度。这怎么弄呢?

首先人为制造一个定义:两个向量的夹角越小,则两个向量越相似。


在这里插入图片描述

夹角可以通过 cosin \text{cosin} cosin 函数来算: cos ⁡ ( θ ) = a ⃗ ⋅ b ⃗ ∣ a ⃗ ∣ ∣ b ⃗ ∣ \cos(\theta) =\frac{ \vec{a} \cdot \vec{b} } {|\vec{a}| |\vec{b}|} cos(θ)=a b a b

先对 a ⃗ \vec{a} a b ⃗ \vec{b} b 归一化之后再算也是一样的。
a ⃗ \vec{a} a 归一化后为 a \pmb{a} aaa b ⃗ \vec{b} b 归一化后为 b \pmb{b} bbb
cos ⁡ ( θ ) = a ⋅ b \cos(\theta) = \pmb{a} \cdot \pmb{b} cos(θ)=aaabbb

假设 θ ∈ [ 0 , π ] \theta \in [0, \pi] θ[0,π],则 cos ⁡ ( θ ) \cos(\theta) cos(θ) 在这个区间是单调递减的。

所以夹角 θ \theta θ 越大,越不相似。
cos ⁡ ( θ ) \cos(\theta) cos(θ) 越小,越不相似。

这种反着看不直观,令 d = 1 − a ⋅ b d = 1 - \pmb{a} \cdot \pmb{b} d=1aaabbb,则夹角越大, d d d 越大。

所以可以直接用 d d d 来表示余弦距离。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值