初步认识一下余弦定理余&&余弦相似度

数学公式:



一点点理解:余弦值在[0, π]的区间范围单调递减,故余弦值越小,角度越大;反之,余弦值越大,角度越小.

代码联系如下:

from math import sqrt##sqrt开平方函数

import numpy as np

i=[1,2,3]
c=[100000,100000000,4500046]
mun=0
fenmu=0
fenmu1=0
aa=0
for a in range(len(i)):
    p=i[a]*c[a]
    mun=mun+p
    f=i[a]**2
    fenmu=fenmu+f
    f2=c[a]**2
    fenmu1=fenmu1+f2
print(mun)
aa=sqrt(fenmu)*sqrt(fenmu1)
print(aa)
print(mun/aa)

#余弦定理的图像是一个循环函数  区间是-1到1  所以数值相差很大余弦值也很接近  可能是到下一个循环了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
余弦定理相似度计算法是一种常用的文本相似度计算方法,用于度量两个文本向量之间的夹角余弦值,从而判断它们的相似程度。该算法基于向量空间模型(VSM),将文本转化为向量表示,并通过计算向量之间的余弦相似度,来衡量文本之间的相似度。 具体来说,对于两个文本$A$和$B$,可以将它们表示为向量$\vec{a}$和$\vec{b}$,每个维度表示对应词汇在文本中出现的次数或权重。例如,假设文本$A$和$B$中包含的词汇集合为$V=\{w_1, w_2, ..., w_n\}$,则可以将它们表示为一个$n$维向量,每个维度表示对应词汇在文本中出现的次数或权重。例如,对于文本$A$和$B$,分别表示为向量$\vec{a}=(a_1, a_2, ..., a_n)$和$\vec{b}=(b_1, b_2, ..., b_n)$,其中$a_i$和$b_i$表示词汇$w_i$在文本$A$和$B$中出现的次数或权重。 然后,通过计算向量$\vec{a}$和$\vec{b}$之间的余弦相似度,来衡量文本$A$和$B$之间的相似度。余弦相似度的计算公式如下: $$\cos(\theta)=\frac{\vec{a}\cdot\vec{b}}{\|\vec{a}\|\|\vec{b}\|}$$ 其中,$\vec{a}\cdot\vec{b}$表示向量$\vec{a}$和$\vec{b}$的点积,$\|\vec{a}\|$和$\|\vec{b}\|$分别表示向量$\vec{a}$和$\vec{b}$的模长,$\theta$表示向量$\vec{a}$和$\vec{b}$之间的夹角。 余弦相似度的取值范围在$[-1, 1]$之间,当$\cos(\theta)=1$时,表示两个向量夹角为0度,即完全相似;当$\cos(\theta)=-1$时,表示两个向量夹角为180度,即完全不相似;当$\cos(\theta)=0$时,表示两个向量夹角为90度,即没有相关性。 余弦定理相似度计算法的优点是简单易懂,适用于处理各种类型的文本数据,缺点是没有考虑词汇之间的语义关系,对于一些语义相似但表现形式不同的文本,可能会出现误判的情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cfplhyl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值