模式识别之相似度计量---常用相似度计量方法

常用相似性度量(距离 相似系数)

在分类聚类算法,推荐系统中,常要用到两个输入变量(通常是特征向量的形式)距离的计算,即相似性度量.不同相似性度量对于算法的结果,有些时候,差异很大.因此,有必要根据输入数据的特征,选择一种合适的相似性度量方法.

X=(x1,x2,..,xn)T,Y=(y1,y2,...yn)T为两个输入向量,

1.欧几里得距离(Euclidean distance)

相当于高维空间内向量说表示的点到点之间的距离。
由于特征向量的各分量的量纲不一致,通常需要先对各分量进行标准化,使其与单位无关。
优点:简单,应用广泛(如果也算一个优点的话)
缺点:没有考虑分量之间的相关性,体现单一特征的多个分量会干扰结果。



2.马氏距离(Mahalanobis distance)

C=E[(X-X平均)(Y-Y平均)]为该类输入向量X的协方差矩阵.(T为转置符号,E取平均时是样本因此为n-1)

适用场合:
1)度量两个服从同一分布并且其协方差矩阵为C的随机变量X与Y的差异程度
2)度量X与某一类的均值向量的差异程度,判别样本的归属。此时,Y为类均值向量.
优点:
1)独立于分量量纲
2)排除了样本之间的相关性影响。
缺点:不同的特征不能差别对待,可能夸大弱特征。



3.闵可夫斯基距离(Minkowsk distance)

可看成是欧氏距离的指数推广,还没有见到过很好的应用实例,但通常,推广都是一种进步:)
特别的,当p=1,也成做街坊距离或曼哈顿距离,也称绝对距离。



4.汉明距离(Hamming distance)

还记得汉明码吗,海明距离就是表示X,Y取值不同的分量数目,只适用分量只取-1或1的情况。



5.Tanimoto系数(又称广义Jaccard系数)

通常应用于X为布尔向量,即各分量只取0或1的时候。此时,表示的是X,Y的公共特征的占X,Y所占有的特征的比例。



6.皮尔逊相关系数(Pearson correlation coefficient)

其实就是高中学过的相关系数啦,等于X,Y的协方差除以X,Y的标准差之积。不多说了。
    这东西在多元统计课本上出现时竟然就称为相关系数,什么名称都没有。



7.余弦相似度(cosine similarity)

就是两个向量之间的夹角的余弦值。

应用场合:通常应用于X为布尔向量,即各分量只取0或1的时候。此时,和Tanimoto类似,是X,Y公共特征数目的测量。

优点:不受坐标轴旋转,放大缩小的影响。

还有一个调整余弦相似度(Adjusted Cosine Similarity),和余弦相似度的计算不同的是,X,Y在减去用户平均评分向量后再代入余弦相似度公式中计算。调整余弦相似度和余弦相似度,皮尔逊相关系数在推荐系统中应用较多。在基于项目的推荐中,GroupLens有篇论文结果表明调整余弦相似度性能要优于后两者。

http://blog.csdn.net/u012160689/article/details/15341303 余弦度量

http://blog.csdn.net/linvo/article/details/9333019 欧式度量 

参考资料:

http://en.wikipedia.org/wiki/Metric_space#Examples_of_metric_spaces
《模式识别导论》--齐敏等

#统计学

http://hi.baidu.com/black/item/79295353bb1bb8dfd58bac62

时间: 2025-02-01 14:52:55

模式识别之相似度计量---常用相似度计量方法的相关文章

Mahout 常用相似度度量(笔记)

Mahout 基于推荐系统,分类,聚类算法 等经常用到的相似度度量: PearsonCorrelationSimilarity 皮尔森距离 EuclideanDistanceSimilarity 欧几里德距离 CosineMeasureSimilarity   余弦距离(0.7变成了UncenteredCosineSimilarity) SpearmanCorrelationSimilarity 斯皮尔曼等级相关, 排序后的皮尔森距离 TanimotoCoefficientSimilarity 

3度带、6度带带号与中央经线

通过分带计算,我们可以知道某地的中央经线所在的分度代号. 在分度带的投影坐标系统中,我们常用的投影方法是 "高斯-克吕格"投影.6度带自0度子午线起每隔经差6度自西向东分带,带号依次编为第 1.2…60带;3度带自1.5度子午线起每隔经差3度自西向东分带,带号依次编为三度带第 1.2…120带. 6度分带和6度分带划分图示为: 分度代号计算: 3度分带:N = L/3 6度分带:N = (L+3)/6 中央经线计算: 3度分带:L = N*3 6度分带:L = N*6-3 通常,1:1

图像相似度计算之哈希值方法OpenCV实现

http://blog.csdn.net/fengbingchun/article/details/42153261 图像相似度计算之哈希值方法OpenCV实现 2014-12-25 21:27 2959人阅读 评论(0) 收藏 举报  分类: OpenCV(72)  Image Processing(18)  版权声明:本文为博主原创文章,未经博主允许不得转载. 感知哈希算法(perceptual hash algorithm),它的作用是对每张图像生成一个“指纹”(fingerprint)字

Jackcard类似度和余弦类似度(向量空间模型)的java实现

版权声明:本文为博主原创文章,地址:http://blog.csdn.net/napoay,转载请留言. 总结Jackcard类似度和余弦类似度. 一.集合的Jackcard类似度 1.1Jackcard类似度 Jaccard类似指数用来度量两个集合之间的类似性,它被定义为两个集合交集的元素个数除以并集的元素个数. 数学公式描写叙述: J(A,B)=|A∩B||A∪B| 这个看似简单的算法有非常大的用处.比方: 抄袭文档 高明的抄袭者为了掩盖自己抄袭的事实,会选择性的抄袭文档中的一些段落,或者对

Jackcard相似度和余弦相似度(向量空间模型)的java实现

版权声明:本文为博主原创文章,地址:http://blog.csdn.net/napoay,转载请留言. 总结Jackcard相似度和余弦相似度. 一.集合的Jackcard相似度 1.1Jackcard相似度 Jaccard相似指数用来度量两个集合之间的相似性,它被定义为两个集合交集的元素个数除以并集的元素个数. 数学公式描述: J(A,B)=|A∩B||A∪B| 这个看似简单的算法有很大的用处,比如: 抄袭文档 高明的抄袭者为了掩盖自己抄袭的事实,会选择性的抄袭文档中的一些段落,或者对词语或

常用验证码的识别方法

此文已由作者杨杰授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 全自动区分计算机和人类的图灵测试(Completely Automated Public Turing test to tell Computers and Humans Apart,简称CAPTCHA),俗称验证码,是一种区分用户是计算机和人的公共全自动程序.验证码的主要目的是强制人机交互来抵御机器自动化攻击,为了确保服务器系统的稳定和用户信息的安全,越来越多的网站采用了验证码技术.图片验证码是目前最常用

java中常用的包、类、以及包中常用的类、方法、属性-----io包

由于最近有需要,所以下面是我整理的在开发中常用的包.类.以及包中常用的类.方法.属性:有需要的看看 java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.math.*; java.sql.*; java.text.*; java.awt.*; javax.swing.*;   包名 接口 类 方法 属性 java.io.*; java.io.Serializable实现序列化 java.io.Buffe

python常用数据类型内置方法介绍

熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 一.整型 a = 100 a.xxx() class int(object): def bit_length(self): ##如果将某个整数用2进制表示,返回这个2进制所占bit位数. return 0 def conjugate(self, *args, **kwargs): ##共轭复数 @classmethod # known case def from_bytes(cls, bytes, byteorder, *ar

Sublime Text 3 常用插件以及安装方法(转)

Sublime Text 3 常用插件以及安装方法(转) http://www.cnsecer.com/460.html 安装Sublime Text 3插件的方法: 朋友们,小站活着不容易,全靠广告费养着了,如果本文对你有帮助.麻烦动下手点下页面的广告吧,谢谢! 直接安装 安装Sublime text 2插件很方便,可以直接下载安装包解压缩到Packages目录(菜单->preferences->packages). 使用Package Control组件安装 也可以安装package co