余弦相似度

本文介绍了余弦相似度的概念,通过二维向量的理论推导阐述其计算方式,并分析了不同夹角时的特征情况,揭示了余弦相似度在衡量向量间相似性的重要作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在机器学习算法中,有各种方式衡量用户或者物品的距离或者相似度,如曼哈顿距离、欧几里得距离、Pearson相关系数、Jaccard系数等(可参考http://blog.csdn.net/lin00jian/article/details/51209715),我们这里主要详细介绍一下余弦相似度。余弦相似度被广泛用于协同过滤算法中,尤其是Item-base的协同过滤。

1、余弦相似度

余弦相似度衡量的是2个向量间的夹角大小,通过夹角的余弦值表示结果,因此2个向量的余弦相似度为:

cos ⁡ θ = A ⋅ B ∣ ∣ A ∣ ∣ ∗ ∣ ∣ B ∣ ∣ ( 1 ) \cos\theta=\frac{A\cdot B}{||A|| *||B||} \qquad(1) cosθ=ABAB(1)
分子为向量A与向量B的点乘,分母为二者各自的L2相乘,即将所有维度值的平方相加后开方。
余弦相似度的取值为[-1,1],值越大表示越相似。

2、理论推导

我们以二维向量为例,计算向量 ( x 1 , y 1 ) (x_1,y_1) (x1,y1)与向量 ( x 2 , y 2 ) (x_2,y_2) (x2,y2)的余弦相似度。
先回顾一下初中的知识,一个三角形三条边的长度关系为:
c 2 = a 2 + b 2 − 2 a b cos ⁡ θ ( 2 ) c^2=a^2+b^2-2ab\cos\theta \qquad(2) c2=a2+b

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值