`
zhouqiang128
  • 浏览: 94357 次
  • 性别: 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)常用向量之间夹角的余弦值表示,公式为:

其中,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个向量间的夹角大小,通过夹角的...

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

    在机器学习领域,余弦相似度是一种常用的度量两个非零向量之间角度的方法,它在计算图片相似性时有着广泛的应用。通过比较图片特征向量之间的夹角余弦值,我们可以判断图片内容的相似程度。这篇博文链接()可能详细...

    余弦相似度计算代码

    ### 余弦相似度计算代码解析 #### 一、引言 余弦相似度是一种用于衡量两个非零向量之间角度的度量方法,广泛应用于信息检索、文本挖掘、推荐系统等领域。它通过计算两个向量之间的夹角余弦值来评估它们之间的相似...

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

    在Python编程环境中,余弦相似度算法是一种常用于计算文本相似度的方法,尤其适用于文档向量化处理后的场景。本文将详细介绍如何使用Python实现余弦相似度,并探讨其背后的概念、步骤以及具体源码分析。 余弦相似度...

    余弦相似度MATLAB代码

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

    余弦相似度算法实现

    余弦相似度是一种在信息检索和数据挖掘领域广泛使用的衡量两个非零向量之间相似性的方法。在文本分析中,它被用来评估两篇文档或两个词汇集合的相似度。这个算法基于向量空间模型,其中每个文档或词汇集合被表示为一...

    Python代码实现 余弦相似度(文本相似度算法)

    余弦相似度算法

    余弦相似度算法计算方法

    余弦相似度算法计算方法 余弦相似度算法是机器学习和数据挖掘中常用的相似度计算方法之一,用于衡量两个向量之间的相似程度。该算法基于向量空间模型,通过计算向量之间的夹角余弦来评估相似度。 余弦相似度算法的...

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

    根据给定的文件信息,本文将详细介绍如何使用Java实现基于字符串的余弦相似度算法,并应用于推荐系统中。 ### 一、引言 在推荐系统领域,为了衡量两个字符串之间的相似性,通常会采用多种算法,其中余弦相似度算法...

    2.9.5 余弦相似度-明鉴1

    余弦相似度是一种在数据挖掘和机器学习领域中广泛使用的度量两个非零向量之间相似性的方法。它尤其在文本分析和信息检索中扮演着重要角色,因为这些领域经常处理高维空间中的数据,例如词袋模型或TF-IDF表示的文档。...

    基于余弦相似度的人脸识别系统的实现.pdf

    基于余弦相似度的人脸识别系统的实现 人脸识别是生物特征识别和人工智能领域的一个重要研究课题,基于余弦相似度的人脸识别系统的实现是其中的一种方法。该系统使用 PHP 语言并结合 OpenCV 计算机视觉库,利用计算...

    Matlab余弦相似度算法判断图片相似度并识别源代码

    余弦相似度算法是一种有效的方法,尤其适用于高维向量空间的数据比较。在本案例中,我们使用Matlab来实现这一算法,用于判断图片之间的相似度。以下是关于Matlab、余弦相似度、图像匹配以及如何在Matlab中直接运行...

    cos.zip_-baijiahao_python 实现计算余弦相似度_text similarity_travel5we_相似

    在自然语言处理(NLP)领域,余弦相似度是一种常用的方法来衡量两个文本或词向量之间的相似性。这个“cos.zip_-baijiahao_python 实现计算余弦相似度_text similarity_travel5we_相似”文件包显然是一个Python实现的...

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

    在自然语言处理(NLP)领域,余弦相似度是一种常用的方法来衡量两篇文章或文本片段之间的相似性。本文将详细介绍如何使用Python3实现文章的余弦相似度计算。 余弦相似度是通过计算两个非零向量在多维空间中的夹角...

    余弦相似度和ssim值_imageprocessing_

    在图像处理领域,余弦相似度和结构相似度指数(SSIM)是两种广泛使用的衡量图像相似性的方法。本文将深入探讨这两个概念以及如何使用Python来实现它们。 首先,余弦相似度是一种衡量向量间角度的度量,常用于文本分析...

    余弦相似度算法的文档。

    余弦相似度算法的文档 余弦相似度算法是一种常用的文本相似度计算算法,通过测量两个向量之间的角的余弦值来度量它们之间的相似性。该算法广泛应用于自然语言处理、信息检索、文档比较等领域。 余弦相似性 余弦...

Global site tag (gtag.js) - Google Analytics