`
isiqi
  • 浏览: 16488424 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

向量相似度的计算和向量夹角余旋的关系

阅读更多

在向量空间模型中,文本泛指各种机器可读的记录。用D(Document)表示,特征项(Term,用t表示)是指出现在文档D中且能够代表该文档内容的基本语言单位,主要是由词或者短语构成,文本可以用特征项集表示为D(T1,T2,…,Tn),其中Tk是特征项,1<=k<=N。例如一篇文档中有a、b、c、d四个特征项,那么这篇文档就可以表示为D(a,b,c,d)。对含有n个特征项的文本而言,通常会给每个特征项赋予一定的权重表示其重要程度。即D=D(T1,W1;T2,W2;…,Tn,Wn),简记为D=D(W1,W2,…,Wn),我们把它叫做文本D的向量表示。其中Wk是Tk的权重,1<=k<=N。在上面那个例子中,假设a、b、c、d的权重分别为30,20,20,10,那么该文本的向量表示为D(30,20,20,10)。在向量空间模型中,两个文本D1和D2之间的内容相关度Sim(D1,D2)常用向量之间夹角的余弦值表示,公式为:
http://marssection.bbs.topzj.com/attachments/m12//12/85/12856/forumid_19946/zrTDMP7_968uATrvfvgg.jpg
其中,W1k、W2k分别表示文本D1和D2第K个特征项的权值,1<=k<=N。
在自动归类中,我们可以利用类似的方法来计算待归类文档和某类目的相关度。例如文本D1的特征项为a,b,c,d,权值分别为30,20,20,10,类目C1的特征项为a,c,d,e,权值分别为40,30,20,10,则D1的向量表示为D1(30,20,20,10,0),C1的向量表示为C1(40,0,30,20,10),则根据上式计算出来的文本D1与类目C1相关度是0.86

那个相关度0.86是怎么算出来的?

是这样的,抛开你的前面的赘述

在数学当中,n维向量是 V{v1, v2, v3, ..., vn}
他的模: |v| = sqrt ( v1*v1 + v2*v2 + ... + vn*vn )
两个向量的点击 m*n = n1*m1 + n2*m2 + ...... + nn*mn
相似度 = (m*n) /(|m|*|n|)
物理意义就是两个向量的空间夹角的余弦数值
对于你的例子
d1*c1 = 30*40 + 20*0 + 20*30 + 10*20 + 0*10 = 2000
|d1| = sqrt(30*30 +20*20 + 20*20 + 10*10 + 0*0) = sqrt(1800)
|c1| = sqrt(40*40 + 0*0 + 30*30 + 20*20 + 10*10) = sqrt(3000)
相似度 = d1*c1/(|d1|*|c1|)= 2000/sqrt(1800*3000)= 0.86066

分享到:
评论

相关推荐

    余弦相似度算法(python代码)

    余弦相似度,又称为余弦相似性,是通过计算两个向量的夹角余弦值, 来评估他们的相似度。 余弦相似度将向量根据坐标值,绘制到向量空间中,如常见的二维空间。 余弦相似度衡量的是2个向量间的夹角大小,通过夹角的...

    余弦相似度算法计算方法

    该算法基于向量空间模型,通过计算向量之间的夹角余弦来评估相似度。 余弦相似度算法的计算方法可以分为四种:欧氏距离、曼哈顿距离、标准化欧氏距离和夹角余弦。 1. 欧氏距离(Euclidean Distance) 欧氏距离是...

    余弦相似度计算代码

    它通过计算两个向量之间的夹角余弦值来评估它们之间的相似性:值越接近1表示两向量越相似;值越接近0则表示两向量差异越大。 #### 二、代码解读 本节将详细分析给定的Java代码,并从中提取出关键的知识点。 #####...

    (python)使用余弦相似度算法计算两个文本的相似度的简单实现

    余弦相似度是通过计算两个非零向量之间的夹角余弦值来衡量它们之间的相似性。在文本处理中,每个文本可以被看作一个由词频构成的向量,而余弦相似度则衡量了这两个向量在多大程度上指向相同的方向。数值范围在-1到1...

    机器学习-余弦相似度计算图片相似性

    通过比较图片特征向量之间的夹角余弦值,我们可以判断图片内容的相似程度。这篇博文链接()可能详细介绍了如何利用余弦相似度来分析和比较图像。 首先,我们需要理解余弦相似度的基本概念。在二维或高维空间中,两...

    余弦相似度MATLAB代码

    衡量两个向量x、y的相关性(夹角的余弦) MATLAB 代码 ,余弦相似度也被⼀些迁移学习研究所使用。

    word2vec词向量训练及中文文本相似度计算

    常用的相似度度量有余弦相似度,它通过比较两个向量的夹角余弦值来衡量它们的相似性。在中文文本处理中,可以将待比较的文本转换为词向量序列,然后计算这两个序列的平均向量,再用该平均向量与其他词向量进行相似度...

    C#余弦算法比较文章相似度

    余弦相似度是计算两个非零向量夹角余弦的一种方法,被广泛应用于文本相似度计算。在文本处理中,每个文档可以被视为一个向量,其维度对应词汇表中的每个词,向量的每个分量是该词的TF-IDF值。两篇文章的余弦相似度...

    Python 余弦相似度与皮尔逊相关系数 计算实例

    几何中夹角余弦可用来衡量两个向量方向的差异,机器学习中借用这一概念来衡量样本向量之间的差异。 (1)在二维空间中向量A(x1,y1)与向量B(x2,y2)的夹角余弦公式: (2) 两个n维样本点a(x11,x12,…,x1n)和b(x21,x22,…...

    基于向量夹角余弦的夹具案例检索方法研究.pdf

    3. 向量夹角余弦算法:向量夹角余弦算法是一种常用的相似度计算算法,能够快速计算出两向量之间的相似度。 4. 特征编码:特征编码是一种将文本信息转换为数字向量的方法,能够使文本信息更符合向量夹角余弦算法的...

    基于Python实现VSM余弦相似度计算

    余弦相似度则是通过计算两个向量的夹角余弦来度量它们的相似度,值域在-1到1之间,1表示完全相同,-1表示完全不同。 首先,我们需要了解如何构建VSM。对于每个文档,我们提取其关键词,如在`doc1.txt`和`doc2.txt`...

    向量空间模型(VSM)的余弦定理公式(cos)

    向量空间模型(VSM)的余弦定理公式(cos) 向量空间模型(VSM)是自然语言处理和...VSM的余弦定理公式(cos)是计算文本相似度的核心公式,它将文本表示为向量,并计算两个向量之间的夹角余弦值,以评估文本之间的相似度。

    Java 推荐系统 字符串 余弦相似度 算法

    该算法的核心思想是通过计算两个向量的夹角余弦值来评估它们之间的相似性。当两个向量的夹角越小(即余弦值越接近1),则表示这两个字符串越相似;反之,则表示相似度较低。 ### 二、余弦相似度算法原理 余弦...

    基于聚集度与向量相似度的粒子群算法.pdf

    两个粒子的向量夹角余弦值越大,表示它们的方向越接近,相似度越高。通过计算相似度,可以识别出过于相似的粒子并进行变异操作,以增加种群的探索能力。 3. 散离策略:为了跳出局部最优,论文还引入了散离策略。当...

    基于灰度值的空间向量图像相似度算法源码

    通过加权求和,得到64个数值,这些数值便是图像的“指纹”,将两组图像的指纹映射到64维空间,得到两组64维空间向量,通过空间夹角余弦公式得到两组图像的余弦值,将余弦值加一后除二,得到的小数乘100便是相似度。...

    Python-Python3实现的文章余弦相似度计算

    余弦相似度是通过计算两个非零向量在多维空间中的夹角余弦值来评估它们之间的相似程度。在文本分析中,向量可以表示为每个词在文集中出现的频率,即词频向量。以下是一步步实现这个过程的步骤: 1. **预处理**:...

    余弦相似度

    余弦相似度是通过计算这两个向量的夹角余弦值来衡量它们的相似性。余弦值范围在-1到1之间,1表示完全相同,-1表示完全不同,0表示两个向量正交,即它们在概念上不相关。 在C++中实现余弦相似度,首先需要对输入的...

    基于向量相似度的多属性排序方法及matlab应用.pdf

    其次,E相似度(Euclidean similarity)是基于两个向量的夹角余弦值,公式为E(X,Y)=2*XY/(X^2+Y^2),这同样考虑了向量的长度关系,但不考虑它们的相对位置。 C相似度(Consine similarity)直接计算两个向量的内积...

    2.9.5 余弦相似度-明鉴1

    然后,它计算了这两个向量的点积和各自的模,最后求出余弦相似度并打印结果。 **上下界适用性** 无论向量处于多少维空间,余弦相似度的上下界(-1到1)始终适用。在高维空间中,这个特性使得余弦相似度成为一种有效...

Global site tag (gtag.js) - Google Analytics