要讨论相似度(similarity)和相异度(dissimilarity),我们先引入一个术语叫邻近度(proximity)。邻近度可以表示相似性或者相异性,相当于是一个总括概念。邻近度度量有很多,比如相关和欧几里得距离(在时间序列这样的稠密数据或者二维点用到)、余弦相似度和Jaccard系数(文档类稀疏数据)。我们接下来简明扼要地来探讨梳理一下。

本文讲解的目录是:

一、相异度

二、相似度

三、邻近性度量实例

四、邻近度计算问题

五、如何选择邻近性度量


一、相异度

距离

我们最属性的距离就是欧几里得距离d。这是我们中学时就用到的。引申到一维、二维、或更高维度的数据空间中也一样适用。它就是表征两个数据(点)之间的差距嘛!所以可以用来表征相异度。

如果一个点有多个属性值,如x={x1,x2...xk}, y={y1,y2...yk},那么他们的欧几里得距离可以表示为:

但是我们到了大学之后,特别是研究生搞科研阶段,不好意思再用这么简单的距离了吧?应该说是要根据问题的形态选取合适的度量(这个我们在本文第5部分深入讲)。所以有些牛人就构造了更牛x的距离表达式,瞬间让你高大上的:

闵可夫斯基距离:

r=1:城市街区距离。比如常见的汉明距离。实际上是表征两个二元向量之间不同的二进制位的个数。二元向量就是具有二元属性的对象,在上一篇博文《数据预处理工作中的几个关键主题探讨:聚集、抽样、降维、变量变换等》中我们讲过如何用二元属性来表征一个数据对象哦!

r=2:欧几里得距离。就是我们上面讲的。也叫L2范数。范数是矩阵论中的内容,若有兴趣可以自学了解一下!也是很有用的。

r=∞:上确界距离。也叫无穷范数。是对象属性之间的最大距离。即表示为:

需要指出的是,距离具有一些通用的性质。

1、非负性。距离肯定是非负数的。

2、对称性。d(x,y)=d(y,x)。

3、三角不等式。即两边之和大于(这里可以等于)第三边!!d(x,z)≤d(x,y)+d(y,z)。

满足这些性质的测度才可以称为度量。但是实践中根据需要我们常常违反这一规定。比如:时间。

比如d(1pm,2pm)=1h,而d(2pm,1pm)=23h,这种定义是有意义的,考虑到了隔天(跨天)的实际情况。但是不符合上面的度量的全部性质。

二、相似度

对于相似度,三角不等式通常不成立,但对称性和非负性通常成立。

用s(x,y)表示相似度。则:

1、s取值范围是[0,1],当且仅当x=y时s=1。

2、s(x,y)=s(y,x)。即对称性。

三、邻近性度量实例

这里我们讨论几种邻近性度量实例,包括二元数据的度量、余弦相似度、非常重要的统计学概念相关性等等。

二元数据的相似性度量——相似系数(similarity coefficient)

设x,y是两个二元向量。记:

f00=x取0且y取0的属性个数;

f01=x取0且y取1的属性个数;

f10=x取1且y取0的属性个数;

f11=x取1且y取1的属性个数。

简单匹配系数(Simple Matching Coefficeient, SMC)

注意到,SMC对属性为0的也进行了技术。而更多时候我们不关心属性记号为0,我们只关心一个对象有什么属性,而不是他不具有什么属性。所以SMC可能更适合0和1标号同等重要的情况,比如判断对错的是非题。

Jaccard系数

对上述问题做了改进:

我们通过一个例子比较二者:

余弦相似度

余弦相似度常使用在文档数据中。它可以忽略0-0的匹配,而且还能够处理非二元的向量。

这个计算就是中学时候求向量夹角一样简单:

只是这里x,y可能是高维的向量,因为机器学习、数据挖掘中,数据的维度都比较高。求法是把对应位置坐标(属性值)相乘后求和、除以模长乘积就可以了。或者先对每个向量做标准化(归一化),然后坐标相乘求和。

有时候判断两个数据是否属于同一类,就用余弦相似度来评价。

广义Jaccard系数

也可以用于文档数据,只是在二元属性情况下则规约为Jaccard系数(上面讲到了)。

该系数用EJ表示:

这样比简单的Jaccard系数扩展了一些,可以适用于非二元属性的简单数据对象情形之中了。

相关性

即皮尔森相关系数:是统计学中非常重要的概念,在数据处理领域也常常用得上。

其中:

相关系数值域[-1,1],1表示完全正相关,-1表示完全负相关。若为0表示两个对象之间不具备线性关系(但可能存在非线性关系)。

需要注意的是,皮尔逊系数只是表达是否具有线性关系!不能完全依赖它作为数据相似性的度量。

四、邻近度计算中几个重要问题

1、当属性具有不同值域?

标准化!都归为[0,1]!

2、当属性具有不同类型?

简单粗暴,把异种属性忽略掉!

3、当属性权重不同?

修改邻近度公式,对每个属性的贡献加权,一般情况下,wk和为1。则上面(2-15)改写为:

闵可夫斯基距离改写为:

4、属性之间相关?

用Mahalanobis距离!

其中,Σ是协方差矩阵。它的第ij个元素是第i个和第j个属性的协方差。

五、如何选择邻近性度量

一言以蔽之,所选择的邻近性度量要与数据类型相对应。比如连续稠密的数据,常常用距离来描述。对于上面讲到的,需要忽略0-0匹配的数据,就可以用余弦相似度或者Jaccard系数。广义的Jaccard系数不仅仅只适用于具备二元属性的对象。等等。

最好是我们在处理这堆数据前先查资料看看前人使用何种度量。如果别人已经论证过哪种度量在哪种算法中好用,就引用他的论证就好了,站在巨人的肩膀上,高瞻远瞩!

感谢您的阅读和对原创分享的支持。

数据的相似性和相异性的度量相关推荐

  1. 数据挖掘 第二篇:基于距离评估数据的相似性和相异性

    聚类分析根据对象之间的相异程度,把对象分成多个簇,簇是数据对象的集合,聚类分析使得同一个簇中的对象相似,而与其他簇中的对象相异.相似性和相异性(dissimilarity)是根据数据对象的属性值评估的 ...

  2. 数据挖掘基础:度量数据的相似性和相异性

    数据矩阵(data matrix)或称对象-属性结构:这种数据结构用关系表的形式或n×p(n个对象×p个属性)矩阵存放n个数据对象:  相异性矩阵(dissimilarity matrix)或称对象- ...

  3. 相似性和相异性的度量

    相似度和相异度简介 相似度(Similarity): 两个数据对象相似程度的数值度量: 对象越相似,值越高: 通常在[0, 1]区间取值. 有时候相似度的取值范围可能在[-1, 1]之间,这时正负号包 ...

  4. 数据的相似性与相异性矩阵

    数据矩阵:对象-属性结构:存放着数据对象 相异性矩阵:对象-对象结构:存放着对象之间的邻近度 一.  相异性矩阵(标称属性) 1.假设我们有表1中的样本数据 表1  样本数据表 对象 标识符 Leng ...

  5. 七、度量数据的相似性和想异性

    1.相似性和想异性度量 度量数据的相似性和相异性主要包括以下方面的内容: 数数据矩阵和相异性矩阵: 标称属性的临近性度量: 二元属性的临近性度量: 数值属性的相异性:闵科夫斯基距离 2 数据矩阵和相异 ...

  6. ​数据科学中 17 种相似性和相异性度量

    本文解释了计算距离的各种方法,并展示了它们在我们日常生活中的实例.限于篇幅,便于阅读,将本文分为上下两篇,希望对你有所帮助. "There is no Royal Road to Geome ...

  7. 【机器学习算法】聚类分析-1 聚类是什么,我们如何确定类别间的相似性或者相异性

    目录 聚类分析 聚类的概念 如何衡量两笔数据的相似性 二元变量的相似性的衡量方法 混合类别型变量与数值型变量的的相似性衡量 距离的计算 明天我们在接下来解决剩下两个问题 我的主页:晴天qt01的博客_ ...

  8. ​【机器学习】数据科学中 17 种相似性和相异性度量(上)

    本文解释了计算距离的各种方法,并展示了它们在我们日常生活中的实例.限于篇幅,便于阅读,将本文分为上下两篇,希望对你有所帮助. "There is no Royal Road to Geome ...

  9. 通过相似性或相异指数的数值分布比较群落Beta多样性高低

    在基于高通量测序的微生物群落分析中,若提到如何描述不同群落β多样性是否存在差异或者评估组内或组间的差异程度,我们通常可以想到很多方法,这些都是描述群落β多样性特征的常见分析.例如,一般我们首先会基于微 ...

最新文章

  1. 别让SSL证书暴露了你的网站服务器IP
  2. 车辆管理系统之开始自己的任务(三)
  3. SharePoint 2013 APP 开发示例 系列
  4. limit mysql 性能_MySQL 用 limit 为什么会影响性能?
  5. Node.js实现Excel转JSON
  6. 十种排序算法的java汇总
  7. ES6_类_note
  8. 使用栈将递归函数转化为非递归函数_栈(Stack)及其应用-Python实现
  9. 字节跳动最爱考的前端面试题:计算机网络基础
  10. 踩坑:VScode 集成 eslint 插件
  11. cad卸载_CAD绘图效率太低?1GCAD逆天插件送给你,用了再也不卸载
  12. excel表用office2007一保存就闪退
  13. OpenCore引导配置说明第十四版-基于OpenCore-0.6.7
  14. web功能测试方法大全——完整!全面!(纯干货,建议收藏哦~)
  15. html闹钟设置,设置闹钟标签.html
  16. virtualbox不能桥接的解决办法
  17. matlab三个坐标,[MATLAB基础] 画有一个有xyz三个坐标的图
  18. haproxy代理https配置方法【转】
  19. 全球与中国马铃薯面粉市场深度研究分析报告
  20. TOR交换机和普通交换机有什么区别?

热门文章

  1. 解决IDEA src下的目录全部变灰无法运行
  2. 电商网络支付结算风险与防范
  3. Androidstudio之TextView点击变色
  4. 9.ESP32--ADC
  5. oracle分类账设置,Oracle EBS R12 总帐和子分类账关系详解[转载]
  6. 【python机器学习】线性回归--梯度下降实现(基于波士顿房价数据集)
  7. OmniPeek tools install and setting
  8. 解决Application、Session丢失问题 — ASP.NET Application_End事件
  9. 上学期c语言作业答案,C语言作业答案4
  10. 【机器学习中的矩阵分解】LU分解、QR分解、SVD分解