这篇文章中主要记录如何分析样本间相似性的内容,相似性分析在分类算法(如K最邻近分类)和聚类任务中会涉及到。相似性分析基于样本属性取值,因此对于样本属性类型及其取值的特征也有必要说明。

1.数据测量及属性分类

 测量某个对象得到数据的过程实质上是描述该对象的属性(特征)、并将该属性映射到某个值上,在这些值上一般可以定义如下几种操作:

  • 相异性       、
  • 序            
  • 加减          
  • 乘除          

依据测量值能进行的操作类型,可以将属性分为:标称型(nominal)、序数型(ordinal)、区间型(interval)和比率型(ratio),不同类型的定义及区别见下表


       从属性取值个数方面,可以将属性分为:属性型(binary attribute)、离散型(discrete)、连续型(continuous)。取值为属性型时,其值只能为两个,如真/假、是/否、男/女、0/1等,这种取值的属性称为二元属性。        标称型、序数型数据的含义比较直观,而对于区间型数据,就以日历日期为例说明,现有两个日期值2017(年)、2018(年),二者之间的差值可以理解为间隔一年,但是二者间乘或除得到的值则毫无意义,这就是区间值的特征。对于比率型数据,以体重为例,100kg的人可以说是50kg的人体重的两倍,这是有现实直观意义的。有的数据类型可能兼具多种操作方法(如体重可以加减,也可以除),可能在属性类型分类上不那么明显,但需要强调的是:属性归类问题不重要,重要的是明确哪些操作是有意义的。

除了从以上几个方面对属性进行分类与定义外,还可以按属性取值对称与否来分类。非对称的属性其不同取值间权重不一致,例如艾滋病检验的结果可为阳性和阴性,但是显然我们更关注是否为阳性,该值对判断是否患艾滋病更为关键。对称的属性其取值权重就一致了,例如某路段一定时间内通过的车辆数。

2.样本相似性分析

样本相似性分析常用于分类、聚类任务中。相似性肯定要依据样本属性取值来分析的,这其中关键就在属性值的处理相似性度量标准上。

     2.1属性值的处理

       2.1.1 二元化

       在一些算法中(如发现关联模式的算法)要求数据的属性为二元属性,二元化处理就是将数据的属性从“多元”转化为“二元”的过程。二元化的过程为:假设属性取值有个,则将整数区间 中的每个值唯一的赋予该属性的每个取值,如果该属性的取值是有序的,则赋值的过程也必须按顺序赋值,然后将这个值用二进制表示,共需要 (结果向上取整)个二进制位。

二元化的过程是用多个二元属性来表示一个多元属性,例如一个具有5个取值的属性{awful,poor,ok,good,great}可以用3个二元属性表示

以上的二元化过程可能会导致属性间关系复杂化,例如上表中属性是相关的,因为“good”值需要这两个属性来表示。这种情况下可以为每一个取值引入一个二元属性,比如下表中的方式

当一个属性取值数量较多时(这里暂指离散取值的情况),这种做法会引入过多的属性值,此时可以在二元化之前先离散化属性的取值。

      2.1.2 离散化

      离散化一般针对取值为连续的情况,但是当取值为离散序数、取值间隔小且多时也可以考虑离散化。离散化的过程需要考虑两个问题:分类值个数设定、如何将属性连续取值映射到这些分类值上。离散化过程可以分为非监督离散化监督离散化,区别就在于是否使用数据的类信息(分类、聚类任务中)。

非监督离散化主要有等宽等频率K均值方法,有时候画图之后目测也是一种不错的方法。等宽离散化是将属性的值域等宽得划分成有限的区间,区间个数由用户指定,这种方法可能受离群点(远离一般取值范围的数据点,也可以称为奇异点)影响而导致性能不佳;等频离散化在指定划分区间个数时,保证每个区间内数据点个数相同;K均值离散化则是使用了K均值聚类方法的思想来划分区间。下图是用以上几种方法对一组数据进行离散化的结果,区间划分个数均为4。

监督离散化方法一般要比非监督离散化方法产生的效果要好,因为使用了类信息,因此能使区间内数据的类更纯,所以一种简单的概念上的方法是“极大化区间内数据类别纯度”来确定分割点,在该类方法中,首先要确定一个类别纯度的度量指标,然后确定最优区间划分过程搜索方案。

      2.1.3 变换与规范化

      变换是将属性值域映射到另外一个值域上的过程,例如常见的函数变换  等,在统计学中,也通常会通过变换(中心极限定理)构造服从正态分布的统计量。变换的需求与方式与具体的任务紧密相关,例如数据压缩时会采用对数变换,将数据量从压缩为。变换时尤其要注意,不能改变数据的特性,所以说一定要依据具体的任务来确定变换方式。例如在非线性SVM模型中,就用到了这种方式,将输入空间通过非线性映射到特征空间。

规范化也可以看做一种变换方式,其目标是使属性的取值具有特定的性质,主要包括以下几种方法

标准化:标准化的过程是将样本均值变为0,标准差变为1。设变量的均值为,标准差为,则可以创建一个新的变量

归一化:将数据取值范围处理到[0,1]范围内(有的场合下也会处理到[-1,1]范围),方便不同取值范围属性间比较。一般的处理方式为

如果取值范围为[0,],则可以考虑以下形式

具体的规范化方法需要结合实际的应用来,在考虑任务需求及数据特性情况下选择可行的方法。

2.2 相似性度量标准

      与相似性相反的概念称为相异形,二者描述的是同一种关系,通常会用邻近度来描述相似或相异性。先介绍几种度量标准,然后从简单的单属性数据间相似性分析着手,一点一点将情况复杂化。

2.2.1 邻近度度量标准
     

      欧氏距离

      欧氏距离是一种比较常见的度量标准,对于包含有n个属性值的数据  和 ,其欧氏距离定义为

欧氏距离有如下几个性质是成立的

  • 非负性,
  • 对称性,
  • 三角不等式,对于数据  、,有

在使用欧氏距离时,要考虑不同属性间取值范围差异的问题,例如年龄与收入,在计算欧氏距离前先要将所有属性取值进行规范化。

       曼哈顿距离

       曼哈顿距离在几何学中指坐标系中两个点各向坐标差值绝对值的和,如下图所示,在二维空间中,红线即表示曼哈顿距离,绿线表示欧氏距离。

                                                                             

对于具有n个属性的数据  和 ,曼哈顿距离指其各个属性值差值的绝对值的和,定义为

       余弦相似度

       当属性为多元属性时,也有一些情况下不考虑的情况,此时可以使用余弦相似度,设数据  和 均具有n个多元属性,则余弦相似度定义为

从几何角度看,余弦相似度就是两个向量间的夹角。

       简单匹配系数

       该度量标准常用于具有二元属性数据间的相似性度量。设数据  和 均具有n个二元属性,用表示取0且取0的属性个数,用表示取0且取1的属性个数,用表示取1且取0的属性个数,用表示取1且取1的属性个数,则简单匹配系数定义为

对于非对称的二元属性来说,更关注的是取1的情况,因此有些情况下将纳入计算是不合理的情况,例如两个学生选课问题,1表示选修了某门课程,0表示未选修,而一个学生只需要选修一定数量的课程,还有大部分课程是不需要选修的,因此的情况会比较多,这种情况下考虑就不太合理。

    Jaccord系数

       系数是简单匹配系数中不考虑的情况,其定义为

皮尔森相关系数

      皮尔森相关系数可以用于具有连续取值属性对象间的相似性度量,该参数在统计学中一般简称为相关系数,设数据  和 均具有n个连续取值属性,则相关系数定义为

皮尔森相关系数的取值范围为[-1,1],0表示不相关,1表示正相关,-1表示负相关,该系数上的加、减、乘、除操作均无意义,只有序数操作是有意义的。在讨论相似性的条件下,负相关表示的“不相似”程度可能比不相关更严重,当然这个还得在实际的任务中去判断。

2.2.2 单属性数据相似性分析

      当属性为标称类型时,如路人甲头发颜色为黑色,路人乙头发颜色为黄色,仅依据头发颜色分析二人之间相似性,给出的结论只能是不相似,假如用区间[0,1]之间的值来表示相似程度,0表示不相似,1表示相似,则这种情况相似度为0,但若路人甲与路人乙头发颜色相同,则相似度为1。因此,在属性为标称类型情况下,相似度只能取0和1中的一种。

当属性为序数类型时,则需考虑序数信息,例如2.1.1节中的例子,属性的取值为{awful,poor,ok,good,great},一个明显的结论是,相对于"ok","great"更接近"good",但是在分析相似性时一般需要将其量化,这里可以量化为 {awful=0,poor=1,ok=2,good=3,great-4}。依据第1节中对序数类型属性的描述,可知其减法操作是没有意义的,又或者说“ok”与"good"间的差真的与“good”与"great"间的差相同吗?但是在实践中一般手段有限,因此对于这种情况,可以将两个序数间的相似性定义为

当属性为区间和比率类型时,一般用差值的绝对值来度量相似性。特别的,对于区间型属性,若是取值区间有限,则也可以使用

的相似性定义形式。

        2.2.3 多属性数据相似性分析

        多属性的情况,一般的做法是将每个属性取值按照以上介绍的方法处理之后,再选择一个度量标准分析相似性,在一些场合下也对不同的属性进行加权处理,但是也存在一些特殊情况,例如部分属性为非对称属性。

对于部分属性为非对称属性的情况,则可以按照以下公式计算

上式中表示数据的属性个数,表示在第个属性上计算的相似度(按照2.2.2节中方式计算),定义为:当第个属性为非对称属性,且在该属性上取值均为0,或者其中一个属性值缺失,则=0,否则为1。

      

      

        

数据测量与相似性分析相关推荐

  1. EEG频谱模式相似性分析:实用教程及其应用(附代码)

    人脑通过神经激活模式编码信息.虽然分析神经数据的常规方法侧重对大脑(去)激活状态的分析,但是多元神经模式相似性有助于分析神经活动所代表的信息内容.在成年人中,已经确定了许多与表征认知相关的特征,尤其是 ...

  2. 切削力matlab数据处理,基于MATLAB的切削力测量实验数据的处理及分析

    基于MATLAB 的切削力测量实验数据的处理及分析 卞化梅 , 牛小铁 , 陈金英 , 郭 勇 (北京工业职业技术学院 , 北京 100042) 摘 要 : 以曲面铣削加工实验数据的处理为例 ,介绍了 ...

  3. 论文学习——基于优化DTW算法的水文要素时间序列数据相似性分析

    文章目录 1 摘要 2 结论 3 引言 4 水文时间序列数据相似性度量的相关研究 4.0 前人工作 4.1 提出问题 4.2 DTW动态时间弯曲距离算法 5 基于DTW的水文要素时间序列数据相似性度量 ...

  4. 人脑功能连接与相似性分析:基于Python

    文章来源于微信公众号(茗创科技),欢迎有兴趣的朋友搜索关注. 本文将以人脑腹侧颞叶皮层的多体素模式分析(MVPA)来探讨人脑功能连接与相似性分析.MVPA被认为是一个监督分类问题,分类器试图捕捉fMR ...

  5. RDKit | 化合物库的相似性分析

    展示一种小分子数据库的相似性分析策略. 实例中使用SMILES文件,该分析可以以相同的方式从分子的SDF或其他格式文件中加载数据,只需确保使用适当的方法将分子加载到RDKit中. 导入库 import ...

  6. 判断用户是否存在再进行新增_基于tableau从商业分析模型角度对业务数据进行多维度分析--【商业分析类】...

    基于tableau从商业分析模型角度对业务数据进行多维度分析 常规商业数据分析方法: 财务多维指标 客户生命周期 客户价值RFM 客户留存分析 购物篮关联分析 漏斗转化ABtest 以下内容主要从商业 ...

  7. 在线作图丨差异分析——ANOSIM相似性分析

    Question 1:什么是ANOSIM分析? ANOSIM分析(Analysis of Similarities)即相似性分析,主要用于分析高维数据组间相似性,为数据间差异显著性评价提供依据.在一些 ...

  8. 数据矿工学习-情感分析框架DeepEmo论文-个人中文翻译

    DeepEmo: Learning and Enriching Pattern-Based Emotion Representations 作者: Elvis Saravia /National Ts ...

  9. GIS基础测量、地形分析、位置分析、空间分析功能介绍与实操应用

    通知 入门级.进阶级一.二.三期.高阶级一期已完成,大家可进入公众号"图新地球"查看底部菜单:2022教程,获得软件直播课程的相关资料,包括直播讲解.直播PPT.直播的示例数据. ...

最新文章

  1. 什么叫系统的可扩展性?
  2. deepin终端编译c程序_C/C++知识点之Ubuntu / Debian / Deepin等 Sublime Text 3 配置C++环境(一键编译运行,格式化代码)...
  3. 免费参会!百度智能云:从编码到网络传输,揭秘低延音视频背后的技术架构...
  4. xshell通过隧道连接_DNS安全之隧道攻击
  5. Ajax爬取豆瓣电影目录(Python)
  6. 环形队列出队的元素怎么输出出来_队列:队列在线程池等有限资源池中的应用...
  7. PyTorch 1.0 中文文档:多进程最佳实践
  8. 使用springMVC提供的CommonsMultipartResolver文件解析器,实现文件轻松上传
  9. JDK8启动时,参数传递过程
  10. maven的网易镜像
  11. 1、随机中心裁剪 transforms.CenterCrop(size)
  12. 2022年 hust OJ 最新搭建方式
  13. 大华C++客户端面经
  14. BT.656标准简介
  15. python打印菱形_python打印菱形
  16. JAVA j2se面试题
  17. 【敏捷团队】7.敏捷最后冲刺
  18. thinkphp3.2.3 支付宝授权登录php
  19. 苏轼《定风波》词两首
  20. 技术面试遇到不会的问题怎么办?教你3招技巧!

热门文章

  1. 假如有一次重来的机会,你选择做一位硬件工程师还是软件工程师?
  2. 保险风起,直播保险谋变
  3. 科学家最新研究揭晓动物的彩色视觉能力
  4. 计算机专业教学改革方案,高校计算机专业现状分析及教学改革方案
  5. echart 设置 Y轴标签在柱状图上垂直居中 失效
  6. series中的markpoint和markline
  7. SPICE 语言基本语法和规则
  8. 【ceph】Rados的客户端RadosClient|MonClient|Osdc
  9. 计算机高中期末总结作文,高一期末考试总结作文600字(通用5篇)
  10. C51---蓝牙模块---连接软件---控制LED灯