精华内容
下载资源
问答
  • 基于脉冲耦合神经网络的DNA序列相似性/相似性分析
  • 音乐作品的相似性分析,李佳慧,曾繁慧,目前,关于音乐作品的相似性分析的研究很少,并且在相似性分析中,人们还没有给出与音乐作品方面的相关应用.本文首先对相似性理�
  • 数据测量与相似性分析

    千次阅读 2018-10-22 16:58:58
    这篇文章中主要记录如何分析样本间相似性的内容,相似性分析在分类算法(如K最邻近分类)和聚类任务中会涉及到。相似性分析基于样本属性取值,因此对于样本属性类型及其取值的特征也有必要说明。 1.数据测量及属性...

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

    1.数据测量及属性分类

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

    • 相异性      = 、\neq
    • 序             <\leq>\geqslant
    • 加减          +-
    • 乘除          \ast\div

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

     

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

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

    2.样本相似性分析

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

         2.1属性值的处理

           2.1.1 二元化

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

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

                                                                 

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

                                               

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

          2.1.2 离散化

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

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

                       

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

          2.1.3 变换与规范化

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

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

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

                                                                                           {x}'=(x-\bar{x})/s_{x}

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

                                                                                          {x}'=\frac{x-x_{min}}{x_{max}-x_{min}}

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

                                                                                            {x}'=\frac{x}{1+x}

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

    2.2 相似性度量标准

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

          2.2.1 邻近度度量标准
         

          欧氏距离

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

                                                                                    d(x,y)=\sqrt{\sum_{i=1}^{n}(x_{i}-y_{i})^2}

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

    • 非负性,d(x,y)\geq 0
    • 对称性,d(x,y)=d(y,x)
    • 三角不等式,对于数据 x 、yz,有d(x,y)+d(y,z)\geq d(x,z)

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

           曼哈顿距离

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

                                                                                 

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

                                                                                      d(x,y)=\sum_{i=1}^{n}|(x_{i}-y_{i})|

           余弦相似度

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

                                                                                   cos(x,y)=\frac{\sum_{i=1}^{n}x_{i}y_{i}}{\left \| x \right \| \left \| y \right \|}

          \left \| x \right \|=\sqrt{\sum_{i=1}^{n}x_{i}^{2}}\left \| y \right \|=\sqrt{\sum_{i=1}^{n}y_{i}^{2}}

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

           简单匹配系数

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

                                                                                 SMC=\frac{f_{00}+f_{11}}{f_{00}+f_{01}+f_{10}+f_{11}}

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

           Jaccord系数

           Jaccard系数是简单匹配系数中不考虑f_{00}的情况,其定义为

                                                                                          J=\frac{f_{11}}{f_{01}+f_{10}+f_{11}}     

          皮尔森相关系数

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

                                                                                         corr(x,y)=\frac{s_{xy}}{s_{x}s_{y} }

          s_{xy}=\frac{1}{n-1}\sum_{i=1}^{n}(x_{i}-\bar{x})(y_{i}-\bar{y})

          s_{x}=\sqrt{\frac{1}{n-1}\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}}

          s_{y}=\sqrt{\frac{1}{n-1}\sum_{i=1}^{n}(y_{i}-\bar{y})^{2}}

          \bar{x}=\frac{1}{n}\sum_{i=1}^{n}x_{i}

          \bar{y}=\frac{1}{n}\sum_{i=1}^{n}y_{i}

          皮尔森相关系数的取值范围为[-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"间的差相同吗?但是在实践中一般手段有限,因此对于这种情况,可以将两个序数间的相似性定义为

                                                                          sim(v_{1},v_{2})=\frac{\left |v_{1}-v_{2} \right |}{v_{max}-v_{min}}

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

                                                                         sim(v_{1},v_{2})=\frac{\left |v_{1}-v_{2} \right |}{v_{max}-v_{min}}

    的相似性定义形式。

            2.2.3 多属性数据相似性分析

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

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

                                                                    similarity(x,y)=\frac{\sum_{i=1}^{k}\delta_{k}s_{k}(x,y) }{\sum_{i=1}^{k}\delta_{k}}

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

          

          

           

            

     

     

     

    展开全文
  • 考虑密码子简并性的DNA序列的表征和相似性分析
  • 在非刚性模型相似性分析方法中,基于测地距离的等距嵌入方法对模型拓扑变化非常敏感,对于有局部拓扑变化的完全相似的模型也无法得到正确结果。为了弥补这一不足,提高非刚性模型相似性分析的准确性,将扩散距离与...
  • 相似性分析引擎是开放集成的九个成员之一,旨在查找动态活动序列中的相关相似性并通过客户的旅程识别客户。 它基于新的 S2MP 算法,在大规模数据集中寻找序列模式的相似性。 序列模式的相似性 (S2MP) 计算序列模式...
  • 【目的】建立直接将Hurst指数作为指标参数进行DNA序列相似性分析的方法。【方法】以11个物种β-球蛋白第一个外显子的编码序列作为分析对象,首先将DNA序列转化为数字序列,然后用重标极差分析法计算各编码序列的全序列...
  • Web服务流程相容性和相似性分析.pdf
  • 笔者对泰山地区土壤甲螨群落的多样性和相似性进行分析.泰山地区土壤甲螨群落多样性指数较高,可达最大...从多样性和相似性分析结果可看出,土壤构成、植被类型及人为干扰对土壤甲螨群落多样性和相似性具有重要影响.
  • 针对传统方法在分析DNA序列相似性方面的不足, 提出了一种新的基于信息量的DNA序列相似性分析算法, 该方法将DNA序列视为基于符号集{A, C, G, T}的信号序列, 全部待比较的DNA序列组合成一个以字符A、C、G、T为属性值的...
  • 在非刚性模型相似性分析方法中,基于测地距离的等距嵌入方法对模型拓扑变化非常敏感,对于有局部拓扑变化的完全相似的模型也无法得到正确结果。为了弥补这一不足,提高非刚性模型相似性分析的准确性,将扩散距离与...
  • 16S ANOSIM 相似性分析

    千次阅读 2018-08-16 10:33:33
    ANOSIM 相似性分析 (非参数检验) 原理:首先利用 Bray-Curtis 算法计算两两样品间的距离,然后将所有距离从小到大进行排序。 目的:用来检验组间(两组或多组)的差异是否显著大于组内差异,从而判断分组是否...

    ANOSIM 相似性分析 (非参数检验)

        原理:首先利用 Bray-Curtis 算法计算两两样品间的距离,然后将所有距离从小到大进行排序。

        目的:用来检验组间(两组或多组)的差异是否显著大于组内差异,从而判断分组是否有意义。R∈(-1,1) 之间,R>0,说明组间差异显著;R<0,说明组内差异大于组间差异

    画图参考上一篇PCA、PCoA、NMDS、Anosim学习

    dataT 的数据安装 group 的顺序进行排序

    data = dataT[group$sample,]

    展开全文
  • 最后,分别对轨道绝对运动与相对运动的模拟实验进行了相似性分析,给出了多种不同的非理想约束条件对实验相似性的影响,提出了有效的实验建议。仿真计算表明:所提出的方法可作为实验相似程度的量化判别依据,且快捷...
  • 数据挖掘课程课件+学生实验设计+基于相似性分析和用户偏好的商品推荐系统论文
  • 代表性相似性分析 2018年达特茅斯(MIND)神经科学方法教程 代表性相似性分析(RSA)是一种基于分析二阶同构性的统计技术。 RSA不是直接分析一种度量与另一种度量之间的关系,而是计算每种度量内的某种相似性度量,...
  • 论文研究-工序相似性分析及其在SPC方法中的应用研究.pdf, 简要介绍了相似元原理 ,提出了基于相似元的工序相似性分析与评判方法 ,研究了工序相似性分析在统计质量控制中...
  • 论文研究-一种基于趋势分形维数的股指时间序列相似性分析方法.pdf, 为了提高股指时间序列相似性分析的准确性, 提出趋势分形维数的概念, 并基于此定义了相似性分析方法. ...
  • 在经典的时间序列相似分析方法基础上,论文讨论了一些有代表性的现代时间序列相似性分析方法。对其基本思想加以分析和提炼,总结了这些方法的优缺点,为时间序列分析研究提供了较为完整的成果概览。
  • 一篇关于时间序列相似性分析很好很全面的比较文章
  • 源领域和目标领域过程相似性分析

    千次阅读 2018-12-17 15:32:51
    1. 过程相似性定义  Lu等在《Process Similarity and Developing New Process Models Through Migration》根据有限的过程属性集,或者根据这些属性之间的关系来描述特定过程,分为基于属性的表示方法和基于模型的...

    1. 过程相似性定义

           Lu等在《Process Similarity and Developing New Process Models Through Migration》根据有限的过程属性集,或者根据这些属性之间的关系来描述特定过程,分为基于属性的表示方法和基于模型的表示方法。基于属性的表示方法是利用有限属性及其属性值来表示,主要关注工艺设备和过程条件;基于模型的表示方法是利用过程属性之间的关系来表示,主要反映过程条件和输出特性之间的关系。这两种类型的过程表示将过程相似性分类为如下图所示。

    (1)过程相似性

            定义1:具有相同结构的两个过程被认为属于一种类型,并且表示为结构相似;否则,这些过程在结构上是不同的。显然,属于一种类型的过程在集合中具有相同数量的属性,并且两个集合中的属性是对属性。

           下式给出了两个磨矿分级过程的实例,两者都具有相同的生产组件,例如旋流器,矿池,给矿泵等,因此这两个过程在结构上相似。其中上标1和2分别代表过程1和2。显然,这两个过程在结构上相似是模型迁移的前提条件。

            定义2:如果它们彼此对应并且它们与属性集中的其他属性处于相同的关系,则将不同过程的两个属性表示为对属性。如定义1,公式中的属性旋流器1和旋流器2是对属性。

    (2)基于属性的表示

              定义:过程P由基于属性的表示中的一组过程属性和属性值表示,定义为:

              其中,A是一组有限的过程属性,反映了过程的性质,包括进料,操作设备,环境条件等;V是对应的属性值。

    (3)基于模型的表示

              定义:一个过程由一组过程条件,质量属性及其在基于模型的表示中的关系表示:

               其中,X是一组操作条件或输入变量;Y是一组质量变量,响应变量或输出变量; R是由过程原理控制的X和Y之间的关系。通常,R可以通过任何建模方法开发。

    (4)基于属性相似性分类

             定义1:如果两个过程对属性的全部或部分具有相似的值,则称两个过程具有属性相似性。否则,当没有值匹配时,过程就不同了。属性相似性可以分为比例相似性,包含相似性和家庭相似性。

              定义2:如果过程1的全部或部分属性值直接从过程2的对应对属性值缩放,则该过程具有比例相似性。

              定义3:如果描述过程1的所有或一些属性值是过程2的对应对属性值的子集,则该过程具有包含性相似性。

              定义4:如果两个过程的所有或一些对属性具有属于某些类的值,则该过程具有家庭相似性。

    (5)基于模型相似性分类

              定义1:如果两个过程的一些或所有过程变量的操作范围具有相同的范围,则过程具有相同输入相似性。

              定义2:如果过程1的一些或所有过程变量的操作范围包括在过程2的相应操作范围或包括过程2的相应操作范围,则过程具有包含输入相似性,

              定义3:如果过程1中的一些或所有过程变量的操作范围从过程2中的相应操作范围偏移,则过程具有偏移输入相似性。

              定义4:如果过程1中的一些或所有过程变量的操作范围从过程2中的相应操作范围缩放,则过程具有缩放输入相似性。

              定义5:如果在输入变量的相同操作范围内,两个过程模型的响应曲线具有相同的行为但幅度不同,则过程模型具有趋势相似性或模式相似性。

              定义6:如果在两个过程模型中输入变量的操作范围发生偏移时,响应曲线具有相同的行为但幅度不同,则过程模型具有偏移趋势相似性。

              定义7:如果当输入变量的范围在两个过程模型之间缩放时,响应曲线也会缩放,则过程模型具有缩放趋势相似性。

              定义8:给定过程1和过程2的模型,如果过程2的输入是过程1的输入偏移和缩放,则过程2是过程1的物理输入偏移和比例。

              定义9:如果过程2比例和偏移参数与定义8中的不同,而由新数据获得,则过程2是过程1的函数输入偏移和比例。

              定义10:如果通过下式处理描述偏移和比例,则过程2是过程1的输入-输出偏移和比例。

    2. 过程相似性度量

              模型迁移学习迁移至目标领域知识的多少,取决于源领域与目标领域之间的相似性,即领域间越相似,则目标领域可获取的知识越多,所以模型迁移学习的关键问题是领域间具有相关性。因此,本文在此对领域间相似性度量的常用方法进行简单描述。

              目前,对于领域间分布差异的度量虽未有一个统一的方法,但却有一些常用的方法可帮助我们发展此理论,比如KL散度、布雷格曼散度、最大均值差异等方法。

    (1)KL散度

              KL散度(KuLLback-Leibler Divergence,KL)是一种量化两种概率分布和之间差异的度量方法,又叫相对熵或者KL熵。在概率学和统计学上,经常使用一种更简单的、近似的分布来替代观察数据或者太复杂的分布。KL散度本来是用于度量一个分布来近似另一个分布所损失的信息,在迁移学习领域可用来度量各领域分布之间的距离。若源领域的分布为,目标领域的分布为,则和之间基于KL散度度量的分布差异为:   

               此公式是由信息熵公式通过信息损失的度量推导而来,从KL散度的计算公式可以看出它不符合对称性,因为其不是距离的度量。所以,在迁移学习中,通常采用以下公式来度量领域间的分布差异:

    (2)布雷格曼散度

               布雷格曼散度(Bregman Discrepancy)是一种类似距离度量的方式,用于衡量分布之间差异的大小[67],是以损失函数或者失真函数作为目标函数。假设源领域和目标领域在两种分布下的两个样本点分别为和,可认为点是点的失真点或者近似点,也可以认为点是点添加一些噪声叠加形成的。所以,目标函数是由点近似点的损失最小化。若给定一个严格的凸函数,则和之间的布雷格曼散度通过下面的公式给出:

               其中,是在上的梯度,是和之间的內积。公式中的后半部分表示函数在附近的线性部分,布雷格曼散度则是一个函数与的线性近似之间的差,使用不同的可以得到不同的布雷格曼散度。

    (3)最大均值差异

               最大均值差异(Maximum Mean Discrepancy,MMD)是通过计算源领域和目标领域数据集均值点间的距离来度量它们之间的分布差异程度[68]。基本假设是:若生成样本空间的函数为,且两个分布生成的样本在上对应的均值相等,则认为这两个分布属于同一个分布。最大均值差异通过下面的公式给出:

               以上为对领域间分布差异的度量,也可通过直接计算领域间数据样本之间的相似程度来确定领域之间的相似性,这两种思路是截然不同的。计算样本相似性的方法有:

    (1)欧式(Euclid)距离法:任意两个数据点和之间的相似性定义为两个数据点之间的欧式距离:

    (2)明氏(Minkowski)距离法:任意两个数据点xi和xj之间的相似性定义为两个数据点之间的明式距离:

              当q取1、2、无穷时,分别得到绝对距离、欧氏距离和切比雪夫(Chebyshev)距离。

    (3)马氏(Mahalanosi)距离法:任意两个数据点和之间的相似性定义为两个数据点之间的马式距离:

               其中,是协方差矩阵。马氏距离虽然克服了欧氏距离同等对待每一个属性的缺点,但是由于要计算协方差矩阵,计算量较大,对于大规模数据处理复杂度高。

    (4)正切值法:任意两个数据点xi和xj之间的相似性可通过下式表示:

               其中,a1,a2为常量。

    (5)负指数法或RBF核函数法:通过下式定义任意两个数据点和之间的相似性:

              其中,delta为常量。

    3. 代码实现

    1.  将源领域和目标领域数据集各自使用PCA降维为二维、三维特征,然后在二维空间、三维空间可视化,即将每一个样本以散点的形式在空间中表现出来,通过观察对比两个领域的散点分布来分析两个领域的分布是否具有差异性:

    from mpl_toolkits.mplot3d import Axes3D   from numpy import *
    import pandas as pd 
    import matplotlib.pyplot as plt 
    #PCA降维
    def pca(dataMat,topNfeat=9999999):
        meanVals=mean(dataMat,axis=0)
        #print("均值矩阵: ",meanVals)
        meanRemoved=dataMat-meanVals
        #print("中心化后的矩阵: ",shape(meanRemoved))
        covMat=cov(meanRemoved,rowvar=0)
        eigVals,eigVects=linalg.eig(mat(covMat))
        #print("特征值: ",eigVals)
        eigValInd=argsort(eigVals)
        #print("排序后的特征值: ",eigValInd)
        eigValInd=eigValInd[:-(topNfeat+1):-1]
        #print("选择最大的前n个特征值的索引:",eigValInd)
        redEigVects=eigVects[:,eigValInd]
        #print("选择最大的前n个特征向量",redEigVects)
        lowDataMat=meanRemoved*redEigVects
        return lowDataMat
    #读取CSV文件
    srcFrame = pd.read_csv('OGSrc.csv')
    tarFrame = pd.read_csv('OGTar.csv')
    #将DataFrame类型转化为数组类型
    srcData = srcFrame.values
    tarData = tarFrame.values
    #OG源领域和目标领域数据分别降维
    lowSrcData = pca(srcData,3)
    lowTarData = pca(tarData,3)
    #获取OG各个领域数组的各列数据
    src_f1 = transpose(lowSrcData)[0].tolist()[0] 
    src_f2 = transpose(lowSrcData)[1].tolist()[0] 
    src_f3 = transpose(lowSrcData)[2].tolist()[0] 
    
    tar_f1 = transpose(lowTarData)[0].tolist()[0] 
    tar_f2 = transpose(lowTarData)[1].tolist()[0] 
    tar_f3 = transpose(lowTarData)[2].tolist()[0] 
    ax = plt.subplot(111, projection='3d')
    #源领域和目标领域对应的三维散点图
    ax.scatter(src_f1, src_f2, src_f3, c='r')
    ax.scatter(tar_f1, tar_f2, tar_f3, c='k')
    ax.set_xlabel('feature1')
    ax.set_ylabel('feature2')
    ax.set_zlabel('feature3')
    plt.show()

    2. KL散度(Kullback-Leibler Divergence)

    from numpy import *
    import pandas as pd 
    import scipy.stats
    #KL散度  
    def kl(srcArr, tarArr):
    	m,n = srcArr.shape
    	result = 0;
    	for i in range(m):
    		result += sum( srcArr[i]*(log(srcArr[i])-log(tarArr[i])) )
    		# result += scipy.stats.entropy( srcArr[i], tarArr[i] )
    	return result
    #读取CSV文件
    srcFrame = pd.read_csv('OGSrc.csv')
    tarFrame = pd.read_csv('OGTar.csv')
    #将DataFrame类型转化为数组类型
    srcData = srcFrame.values
    tarData = tarFrame.values
    print( srcData.shape, tarData.shape )
    result = kl(srcData, tarData)

    3. 最大均值差异

    from numpy import *
    import pandas as pd 
    #高斯核
    def gaussianKernel(xArr,yArr,s):
    	temp = sqrt(sum((xArr-yArr)**2))
    	return exp(-(temp/s))
    def mmd(srcArr, tarArr, sigma):
    	s = 2*(sigma**2)
    	m = srcArr.shape[0]
    	n = tarArr.shape[0]
    	result1 = 0
    	result2 = 0
    	result3 = 0
    	for i in range(m):
    		for j in range(m):
    			result1 += gaussianKernel(srcArr[i], srcArr[j], s)
    	for i in range(m):
    		for j in range(n):
    			result2 += gaussianKernel(srcArr[i], tarArr[j], s)
    	for i in range(m):
    		for j in range(n):
    			result3 += gaussianKernel(tarArr[i], tarArr[j], s)
    	print( result1, result2, result3 )
    	return 1/(m**2)*result1 - 2/(m*n)*result2 + 1/(n**2)*result3
    #读取CSV文件
    srcFrame = pd.read_csv('OGSrc.csv')
    tarFrame = pd.read_csv('OGTar.csv')
    #将DataFrame类型转化为数组类型
    srcData = srcFrame.values
    tarData = tarFrame.values
    print( srcData.shape, tarData.shape )
    sigma = 0.1
    print( mmd(srcData, tarData, sigma) )

     

    展开全文
  • 二、MVPA分析工具——pronto 1.下载安装 2.参考视频地址 3.基本步骤 (一)Data&Design (二)Prepare feature set 准备特征集 (三)确定并且跑一个模型 (四)看结果 (五)检测哪些特征对模型的建立提供了更多...

    目录

    一、学习资源

    二、MVPA分析工具——pronto

    1.下载安装 

    2.参考视频地址

    3.基本步骤

    (一)Data&Design

    (二)Prepare feature set 准备特征集

    (三)确定并且跑一个模型

    (四)看结果

    (五)检测哪些特征对模型的建立提供了更多的信息

    三、MVPA和RSA的应用场合

    1.MVPA

    2.RSA


    一、学习资源

    1. RSA学习链接1
    2. https://www.zhihu.com/question/268530028

    二、MVPA分析工具——pronto

    1.下载安装 

    github下载地址http://www.mlnl.cs.ucl.ac.uk/pronto/prtsoftware.html

    2.参考视频地址

    https://www.youtube.com/watch?v=oRrkuvb5bN4&t=919s

    3.基本步骤

    (一)Data&Design

     

    1.新建一个结果文件

    2.加入结果文件路径

    3.添加分组

    添加被试

    给要跑的模态数据起一个名字:fmri(随便取,不重要)

    加载数据信息的存储文件(数据信息已经存在了spm.mat——使用SPM进行了first-level分析之后会有这个文件)

    修改已加载的文件

     

     

    加载被试文件

    如果有很多个run要在这里分别将不同的run的预处理之后的文件放进对应的run中

     

    4.添加mask

     

    5.查看导入的数据

     

     

    保存

     

    6.得到一个结果文件

     

    (二)Prepare feature set 准备特征集

    1. 加入第一步跑出来的PRT文件

     

    1. 给特征集命名

    结果:

     

    (三)确定并且跑一个模型

    1. 加入PRT文件

    2.定义一些信息

    类别定义:以classification为例

     

     

     

    (四)看结果

     

     

     

     

     

     

    为了测试模型是否健壮,以及这个accurancy是否可信,可以进行p值检验

    (五)检测哪些特征对模型的建立提供了更多的信息

     

     

    看结果

     

    三、MVPA和RSA的应用场合

    1.MVPA

    将某一块区域的体素,根据不同的条件(激活模式)进行分类。

    示例:AUT任务态

    条件:新颖性激活和一般特性激活

    过程:MVPA模型首先将被试1在某一块区域(ROI)的体素,根据两种条件的激活值,分成两类。这些体素一部分分到了新颖性激活类别——类别1,另一部分分到了一半特性激活类别——类别2。随后被试2利用第一个已经建成的模型,来预测被试2这块区域体素所对应的的两种条件,看分类的正确率,不断完善这个模型。

    结果:将数据利用MVPA模型在大脑层面分类成了两个激活

    作用:区分出大脑某块区域的体素在两个条件的大脑激活模式的不同

    2.RSA

    基础:有一个共同的激活的脑区

    1. 两个不同的任务的脑激活研究:比较两个任务,他们在相同的激活脑区的表征模式的相似性。

    • 如果他们相似性大,那就证明他们可能存在相似的认知过程。
    • 如果他们的相似性小,则可以使用MVPA对他们激活的区域体素进行分类,分出更细的激活区,证明他们可能有不同的认知基础等

    2. 一个任务和一个脑

    大脑在这个任务刺激下的表征模式和行为的表征模式的相似性

    3. 静息态和脑

    大脑在静息状态下的表征模式和行为的表征模式之间的相似性

     

     

    展开全文
  • 序 时间序列是一类最常见的数据,目前时间序列分析重点研究的多是时间序列的预测。但针对有些问题,时间序列的形态比较也是一类重要的...(一) 两个时间序列形态相似性的描述为了描述形态相似性,我们可以通过以下步
  • (二)时间序列相似性度量的一个实例我们取2008年8月25日——2008年9月5日共10个交易日的所有中小板块股票的收盘价格构成数据集如下图。 在这10个交易日中,每天都有交易的中小板股票共有229支,再加上中小板指数...
  • 实验名称:文档相似性分析 一、实验目的 1.学习利用hadoop处理大数据。 2. 通过实验加强mapreduce编程能力。  3. 进一步理解shingling+minhash+lsh方法。   二、实验内容 1.安装vmware、hadoop、centos...
  • 序列相似性比较与同源性分析

    千次阅读 2019-09-24 15:22:44
    序列相似性比较与同源性分析 首先应该注意区分序列相似性与序列同源性的关系,序列相似不一定同源,但是判定同源性关系的时候有些算法(Maximum likelihood除外)要考虑到序列相似性。序列相似性是将待...
  • 局部放电的指纹由26个相位分布特征参数构成,相似率基于局部放电指纹的相似性,通过相似率分布图谱可以分析局部放电的稳定性。为了揭示局部放电稳定性与相似率分布的关系,结合时域信号和矩特征,对2个具体的发电机实例...
  • 聚类分析指将对象的集合分组为多个类的过程。聚类分析的目标就是在相似的基础...在不同的应用领域,很多聚类技术都得到了发展,这些技术方法被用作描述数据,衡量不同数据源间的相似性,以及把数据源分类到不同的簇中。
  • 聚类分析:1.相似性测度

    千次阅读 2020-05-27 10:37:01
    相似性测度就是为聚类进行服务的,通过相似性测度来进行聚类。 一个样本都是一个n维向量,在空间中就是一个点,即坐标,所以两个样本相似就是两个点的距离相近。 在正式讲解具体的距离测度方法,这里现讲两种常用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 317,577
精华内容 127,030
关键字:

相似性分析