聚类分析方法.docx

上传人:b****5 文档编号:7521203 上传时间:2023-01-24 格式:DOCX 页数:42 大小:624.21KB
下载 相关 举报
聚类分析方法.docx_第1页
第1页 / 共42页
聚类分析方法.docx_第2页
第2页 / 共42页
聚类分析方法.docx_第3页
第3页 / 共42页
聚类分析方法.docx_第4页
第4页 / 共42页
聚类分析方法.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

聚类分析方法.docx

《聚类分析方法.docx》由会员分享,可在线阅读,更多相关《聚类分析方法.docx(42页珍藏版)》请在冰豆网上搜索。

聚类分析方法.docx

聚类分析方法

第一章Microarray介绍

1.1生物信息处理

基于对生物体“硬件”和“软件”的认识,提出暂时地撇开生物的物理属性,着重研究其信息属性,从而进入到生物信息处理(关于生命硬件的信息和软件的信息,即生理信息和生命信息)的一个分支,生物信息学。

于是,为揭开生命之秘、揭示与生命现象相关的复杂系统的运作机制打开一条新的途径。

什么是生物信息处理

生物信息处理的英文是Bioinformatics。

1994年初,诺贝尔医学奖获得者美国教授M·罗德贝尔发表一篇评论,题为《生物信息处理:

评估环境卫生的新方法》。

他认为生物信息处理是在基因数据库基础上,计算机驱动的能快速获得表达基因部分序列的方法。

通过MEDLINE数据库,可以查阅到很多与生物信息处理(Bioinformatics)有关的记录,其中JFAiton认为生物信息处理是基于计算机的数据库和信息服务;RPMurray认为生物信息处理包括两方面:

第一是大量现存数据的自动化处理,第二是新的信息资源的生成;DBenton在题为《生物信息处理———一个新的多学科工具的原理和潜力》的文章中说,生物信息处理的材料是生物学数据,其方法来自广泛的各种各样的计算机技术。

其方法来自广泛的各种各样的计算机技术。

近年来,生物学数据在爆炸式增长,新的计算机方法在不断产生。

这些方法在结构生物学、遗传学、结构化药品和分子演变学中是研究工作进展的基础。

如果生物医学工程要在各个领域都从研究进展中获取最大好处,那么生物学数据健全的基础设施的开发与维护是同等重要的。

尽管生物信息处理已经作出重要贡献,但是在它成熟时就会面临更大的需求在爆炸式增长,新的计算机方法在不断产生。

这些方法在结构生物学、遗传学、结构化药品和分子演变学中是研究工作进展的基础。

如果生物医学工程要在各个领域都从研究进展中获取最大好处,那么生物学数据健全的基础设施的开发与维护是同等重要的。

尽管生物信息处理已经作出重要贡献,但是在它成熟时就会面临更大的需求。

在整体上可以看出,生物信息处理的两个基本内容是生物数据库建立和计算机信息服务,也就是生物数据处理的计算机数据库化和程序化。

当前这种数据库的内容主要是目录、期刊、遗传基因和细胞三维结构学。

服务程序主要用于信息检索和基因序列分析。

所以,严格地说,当前生物信息处理远未形成独立的学科,它同计算机生物学应用并无重大区别。

在1998年第九届世界医药信息学大会上,它才作为一个讨论题目被列出来。

可以说,生物信息处理技术是一项年轻的研究领域。

1.2Microarray技术

1.2.1Microarray技术原理

微阵列技术是利用分子杂交的原理,用自动化仪器arrayer把不同的,数以百计、千计、万计已知部分序列的DNA探针“印”在玻璃片或者尼龙膜上面成阵列。

为了比较两份标本中核酸表达的丰度,两份标本中核酸用同位素或者荧光素(红和绿两种)标记,再于微阵列杂交,然后检测杂交信号的强度,通过一定的数据处理系统,把它们转化成两份不同标本中特异基因的丰度,最后对这些数据进行分析。

根据微阵列技术原理,微阵列技术的处理流程如下:

1.实验设计

2.样品制备(指mRNA或总RNA样品,包括对照组和实验组)

3.芯片制备(包括PCR,纯化,点样等步骤)

4.芯片杂交(将mRNA或总RNA分别进行逆转录生成cDNA,在此步骤中将对照组和实验组cDNA分别标记CY3和CY5荧光信号)

5.芯片扫描(采用激光扫描仪,分别用532nm和635nm波长激光扫描芯片,对于每张芯片,得到CY3和CY5通道两幅图象)

6.图象处理(采用专门软件,对图象进行分析,提取每个点上的数字信号),得到原始数据表。

7.数据校正和筛选(对cy5或cy3信号进行校正,消除实验或扫描等各环节因素对数据的影响,同时利用筛选规则对数据中的“坏点”,“小点”,“低信号点”进行筛选,并作标记。

8.差异表达基因的确定(采用ratio值对差异基因进行判断,或采用统计方法如线性回归、主成分分析、调整P值算法等对差异基因进行统计推断)

9.生物信息学分析(如cluster算法、差异基因的同源性比对,差异基因的相关文献检索等)

一个最简单的配置应包括微阵列制作系统(arrayer),信号收集系统(scanner),计算机和软件(操作系统和微阵列技术处理的相关软件)。

1.2.2Microarray技术应用领域

Microarray技术是近几年兴起的新技术,但短短几年中,该技术已经被分子生物学的很多领域接受,并广泛应用于以下领域:

1、基因表达分析和检测

微阵列技术已经被许多研究小组应用于与基因表达有关的工作中,如对细菌、动植物和人类的研究。

包括:

特异性相关的基因、差异表达的基因、基因功能研究、健康状况的检测、毒理学研究、药物作用机制的研究、定位克隆。

2、功能分析

检测到基因表达差异之后,下一步是寻找这些差异的生物学功能。

最近Davis等人[17]发明了一种新的方法。

主要是应用插入一个独特序列或标记的突变酵母链。

分子标记在特殊的的生长条件下从生存链中扩增,并与高密度微阵列进行杂交。

这样不仅可以确定这条链的相对丰度,而且可以在不同时间点反复进行,同时还可以精确比较每条缺失链的适应性。

3、基因作图

微阵列技术的应用补充了基因表达研究的方法,加强了对疾病易感性和疾病本质的研究。

这种方法无论是在速度上还是在准确性上都远胜于传统方法,它将会改变基因制图的方法。

1.2.3Microarray技术发展现状

DNA微阵列技术(DNAmicroarraytechnology)是近几年发展起来的应用DNA微阵列进行基因功能研究的新的生物技术。

微阵列自1995年在《Science》上报道后,被认为是该年度《Science》上发表的最有影响的文章之一。

微阵列是新出现的分子生物学技术,是本世纪重要的科学进展,它能够高效率、大规模地获取相关生物信息,是现代生物技术、微电子技术、机械制造技术、计算机技术的结合。

其对科学的深远影响将远胜过DNA测序和PCR等,使人们更大规模地获取生物信息,使人类基因组计划早日实现。

微阵列技术的迅速发展已经引起了各方面的广泛关注。

许多实验室、专业公司和制药公司都在大力开发与此相关的技术。

在制作设备、分析设备、支持软件和探针的构建等方面均投入巨资,尤其是一些新兴的从事微阵列相关产业的公司如Affymetrix,Incyte,Synteni,Clontech等公司均已研制生产出相关的产品。

有供诊断用的芯片如HIV,p53和细胞色素p450的芯片;

有可供研究用的人、大鼠、小鼠不同基因类别的芯片;有与不同疾病如肿瘤、心血管疾病、神经系统疾病相关的芯片也已投入使用。

而且很多公司可根据需要定制各种微阵列系统,为研究人员提供方便。

国内也开展了此项工作,清华大学、上海细胞生物所、军事医学科学院放射医学研究所及广州等地正在进行此项研究。

微阵列技术的发展为探索生命科学提供了强有力的工具。

使一些原本复杂的工作变得简捷。

正如NIH的主任HaroldVarmus在旧金山美国细胞生物学年会上指出的:

“应用微阵列技术,我们将最终揭示单个细胞的全部基因表达,甚至整个机体的基因概况”。

同时,他还预言:

“微阵列技术将改变我们对生命本质的认识”。

1.3本次毕业设计的目标

微阵列(Microarray)技术是一门新兴学科,它是结合了生物学、计算机技术、电子技术、生物信息学的特征而形成的一门交叉学科。

微阵列技术发展到现在,虽然已经取得了惊人的改变和进步,广泛应用于分子生物学领域。

但是,微阵列技术毕竟是一门新学科、一种新的思维方法,还需要在新的环境和领域下进行试验和完善,特别是在于其它学科、技术的结合方面,还需要研究人员花一定时间来研究和试验。

本次毕业设计要达到以下的目标:

(1)学习生物信息学的背景知识和微阵列技术的处理流程;

(2)学习聚类分析中的主要概念和技术方法,并阐述聚类分析在微阵列技术中的重要地位;

(3)分析几种常用的聚类方法,将其中存在的一些问题提炼出来加以分析;

(4)在前几步的基础之上,结合所分析的常用算法设计一种改进算法;

(5)用C语言实现设计的聚类算法和数据预处理工作。

第二章聚类分析方法概述

2.1聚类分析及相关概念

簇(Cluster)是指一个数据对象的集合。

聚类就是将物理或抽象对象的集合分组成为由类似的对象组成的多个簇的过程。

由聚类所生成的簇是一组数据对象的集合,这些对象于同一个簇中的对象彼此相似,与其它簇中的对象相异。

在许多应用中可以将一个簇中的对象作为一个整体来对待。

聚类是通过对数据对象本身数据的分析,从而将数据对象分成不同的类。

聚类是一种无监督分类法,没有预先指定的类别。

在机器学习领域,聚类是无指导学习(unsupervisedclustering)。

与分类不同,聚类和无指导学习不依赖预先定义的类和带类标号的训练实例。

由于这个原因,聚类是观察式学习,而不是示例式学习。

聚类分析已经广泛的应用在许多领域中,包括模式识别、数据分析、图像处理、以及市场研究。

通过聚类,人能够识别密集的和稀疏的区域,因而发现全局的分布模式,以及数据属性之间有趣的相互关系。

“聚类的典型应用是什么?

”在商务上,聚类能帮助市场分析人员从客户基本库中发现不同的客户群,并且用购买模式来刻画不同的客户群的特征。

聚类在地球观测数据库中相似地区的确定和汽车保险单持有者的分组上也可以发挥作用。

聚类也能用于对Web上的文挡进行分类,以发现信息。

在生物学上,聚类能用于推导植物和动物的分类,对基因进行分类,获得数据分布的情况,观察每个簇的特点,集中对特定的某些簇作进一步的分析,获得对种群中固有结构的认识。

此外,聚类分析可以作为其他算法(如特征和分类等)的预处理步骤,这些算法再在生成的簇上进行处理。

数据聚类正在蓬勃发展,有贡献的研究领域包括数据挖掘,统计学,机器学习,空间数据库技术,生物学,以及市场营销。

由于数据库中收集了大量的数据,聚类分析已经成为生物学种生物信息分析研究领域中一个非常活跃的研究课题。

聚类是一个富有挑战性的研究领域,那么怎样才算是一个好的聚类方法?

最重要的是,一个好的聚类方法要能产生高质量的聚类结果——簇,这些簇要具备以下两个特点:

高的簇内相似性

低的簇间相似性

此外,在不同的领域有一些对聚类更深入的要求,例如在生物信息学中对聚类算法的更深一步要求如下:

1.能应付脏数据。

绝大多数现实世界中的数据库都包含了孤立点、空缺、未知数据或者错误的数据。

一些聚类算法对于这样的数据敏感,可能导致低质量的聚类结果。

2.对于数据不同的顺序不敏感。

一些聚类算法对于输入数据的顺序是敏感的。

例如,同一个数据集合,当以不同的顺序提交给同一个算法时,可能生成差别很大的聚类结果。

开发对数据输入顺序不敏感的算法具有重要的意义。

3.模型可解释性和可使用性。

用户希望聚类结果是可解释的、可理解的和可用的。

也就是说,聚类可能需要和特定的语义解释和应用相联系。

应用目标如何影响聚类方法的选择也是一个重要的研究课题。

2.2聚类分析中的数据类型

在本节,我们研究在聚类分析中经常出现的数据类型,以及如何对其进行预处理。

许多基于内存的聚类算法选择如下两种有代表性的数据结构:

(8.1)

·数据矩阵(datamatrix,或称为对象与变量结构):

它用p个变量(也称为度量或属性)来表现n个对象,例如用年龄、身高、体重、性别、种族等属性来表现对象“人”。

这种数据结构是关系表的形式,或者看成n×p(n个对象×p个变量)的矩阵。

图示如下:

(8.2)

·相异度矩阵(dissimilaritymatrix,或称为对象-对象结构):

存储n个对象两两之间的近似性,表现形式是一个n×n维的矩阵。

图示如下:

在这里d(i,j)是对象i和对象j之间相异性的量化表示,通常它是一个非负的数值,当对象i和j越相似或“接近”,其值越接近0;两个对象越不同,其值越大。

其中d(i,j)=d(j,i),而且,d(i,i)=0。

关于相异度,我们在下面的内容中进行详细探讨。

聚类分析中的数据类型

区间标度变量

区间标度变量是一个粗略现行标度的连续度量。

典型的例子包括重量和高度、经度和纬度坐标(如聚类房屋),以及大气温度。

度量单位的选取对于聚类的结果的很重要的。

例如将身高的单位从米变为尺,将体重的单位从公斤变为磅将对聚类的结果产生很大的影响。

为了避免出现这种情况,我们必须将数据标准化,将数据的单位化成同样的权重,并将数据中的单位“去掉”。

当没有关于数据的先验知识时,这样做是十分有用的。

因为在Microarray分析技术中,涉及到的数据类型是区间标度变量,所以,下面就对区间标度变量作详细的介绍和讨论,其它的数据类型只做简单的介绍。

“怎样将一个变量的数据标准化?

”为了实现度量值的标准化,一种方法是将原来的度量值转换为无单位的值。

给定一个变量f的度量值,可以进行如下的变换:

计算绝对偏差的平均值:

其中

计算标准度量值(z-score)

使用绝对偏差的平均值比使用标准偏差更健壮(robust)。

两个对象之间的相异度(相似度)通常是基于对象间的距离来计算的。

最常用的距离度量方法是欧几里德距离,它的定义如下:

 

其中i=(xi1,xi2,…,xip)和j=(xj1,xj2,…,xjp)是两个p维的数据对象

另一个著名的度量方法是曼哈坦距离,其定义如下:

其中i=(xi1,xi2,…,xip)和j=(xj1,xj2,…,xjp)是两个p维的数据对象

上面的距离函数有如下特性:

d(i,j)>=0:

距离是一个非负的数值。

d(i,i)=0:

一个对象与自身的距离是零

d(i,j)=d(j,i):

距离函数具有对称性

d(i,j)<=d(i,k)+d(k,j):

从对象i到对象j的直接距离不会大于途经任何其它对象h的距离(三角不等式)。

明考斯基距离(Minkowskidistance)是欧几里德距离和曼哈坦距离的概化,它的定义如下:

其中i=(xi1,xi2,…,xip)和j=(xj1,xj2,…,xjp)是两个p维的数据对象,q是一个正整数。

当q=1时,d称为曼哈坦距离(Manhattandistance);当q=2时,d就成为欧几里德距离;当变量的重要性不同时,可以根据每个变量的重要性赋予一个权重。

对于区间标度变量来说,一旦选定一种距离作为衡量相异度(相似度)的基础,对象之间的距离越近,表示两个对象之间越相似,否则,表示两个对象之间越相异。

对于类也是这样定义的:

两个类之间的距离越近,表示两个类之间越相似,否则,表示两个类之间越相异。

但是,类间距离的定义有几种方法,下面给出了四种常用测定两个类之间距离的方法,这儿的mi是类ci的中间值,ni是ci中记录的个数,|p-p’|是两个记录之间的距离。

1.单连通方法(single-linkmethod):

取两个类中最近记录的距离为类的距离,即Minimumdistance:

Dmin(Ci,Cj)=Min|p-p’|(这儿p在类Ci中p’在Cj中)。

此种方法可以生成细长的蛇形类,不适于应用在典型的一堆堆记录集合在一起的情况。

2.完全连通方法(complete-linkmethod):

取两个类中最远记录的距离为类的距离,即Maximumdistance:

Dmax(Ci,Cj)=Max|p-p’|(这儿p在类Ci中p’在Cj中)。

同第1中方法相反,此种方法易生成很小的记录都聚集在一起的类。

3.平均连通方法(group-averagelink):

计算两个类中所有记录对的距离平均值,即Averagedistance:

Davg(Ci,Cj)=(1/ni*nj)∑p∈Ci∑p’∈Cj。

效果介于1、2种算法之间。

4.Ward方法(Ward’smethod):

计算两个类中所有记录的距离的和,即Sumdistance:

Dsum(Ci,Cj)=∑pЄCi∑p’ЄCj。

易于用在生成类层次的情况,对例外的数据(outliers)很敏感,很难应用于生成蛇形类。

5.类平均值连通方法:

取两个类中间值的距离为类的距离,即Meandistance:

Dmean(Ci,Cj)=|mi-mj|(mi是类ci的中间值)。

此种方法是一种结合上面各种方法的措施,生成的聚类效果各项指标比较平均。

二元变量

一个二元变量只有两个状态:

0或1,0表示该变量为空,1表示该变量存在。

例如,给出一个描述病人的变量smoker,1表示病人抽烟,而0表示病人不抽烟。

二元变量要采用特定的方法来计算其相异度。

标称变量

标称变量是二元变量的推广,它可以具有多于两个的状态,比如变量map_color可以有red,yellow,blue,green四种状态。

序数型变量

一个序数型变量可以是离散的也可以是连续的。

离散的序数型变量类似于标称变量,除了它的M个状态是以有意义的序列排序的,比如职称;连续的序数型变量类似于区间标度变量,但是它没有单位,值的相对顺序是必要的,而其实际大小并不重要。

比例标度型变量

比例标度型变量是总取正的度量值,有一个非线性的标度,近似的遵循指数标度,比如AeBtorAe-Bt。

混合类型的变量

在许多真实的数据库中。

对象是被混合类型的变量描述的。

一般来说,一个数据库可能包含上面列出的全部六种变量类型。

上面介绍的非区间标度变量是不能像处理区间标度变量来对待的,否则,会误导聚类结果,所以要采用特定的方法来计算其相异度。

2.3主要聚类分析方法分类

目前在文献中存在大量的聚类算法。

算法的选择取决于数据的类型、聚类的目的和应用。

如果聚类分析被用作描述或探查的工具,可以对同样的数据尝试多种算法,已发现数据可能揭示的结果。

大体上,主要的聚类算法可以划分为如下几类:

(1)划分方法(partitioningmethod):

给定一个n个对象或元组的数据库,一个划分方法构建数据的k个划分,每个划分表示一个聚簇,并且k<=n。

也就是说,他将数据划分为k个组,同时满足如下的要求:

(i)每个组至少包含一个对象;(ii)每个对象必须属于且只属于一个组。

注意在某些模糊划分技术中的二个要求可以放宽。

给定要构件的划分的数目k,划分方法首先创建一个初始划分。

然后采用一种迭代的重定位技术,尝试通过对象在划分间移动来改进划分。

一个好的划分的一般准则是:

在同一个类中的对象之间进可能“接近”或相关,而不同类中的对象之间尽可能“远离”或“不同”。

还有许多其它划分质量的评判准则。

为了达到全局最优,基于划分的聚类会要求穷举所有可能的划分。

实际上,绝大多数应用采用了以下两个比较流行的启发式方法:

(i)k-平均算法,在该算法中,每个簇用该簇中对象的平均值来表示。

(ii)k-中心点算法,在该算法中,每个簇用接近聚类中心的一个对象来表示。

这些启发式聚类方法对中小规模的数据库中发现球状簇很适用。

为了对大规模的数据集进行聚类,以及处理复杂形状的聚类,基于划分的方法需要进一步的扩展。

(2)层次的方法(hierarchicalmethod):

层次的方法对给定数据对象集合进行层次的分解。

根据层次的分解如何形成,层次的方法可以分为凝聚的和分裂的。

凝聚的方法,也称为自低向上的方法,一开始将每个对象作为单独的一个组,然后相继的合并相近的对象或组,直到所有的组合并为一个(层次的最上层),或者达到一个终止条件。

分裂的方法,也称为自顶向下的方法,一开始将所有的对象置于一个簇中。

在迭代的每一步中,一个簇被分裂为更小的簇,直到最终每个对象在单独的一个簇中,或者达到一个终止条件。

层次的方法的缺陷在于,一旦一个步骤(合并或分裂)完成,它就不能被撤消。

这个严格规定是有用的,由于不用担心组合数目的不同选择,计算代价会较小。

但是,该技术的一个主要问题是它不能更正错误的决定。

(3)基于密度的方法(density-basedmethod):

绝大多数划分方法基于对象之间的距离进行聚类。

这样的方法只能发现球状的簇,而在发现任意形状的簇上遇到了困难。

随之提出了基于密度的另一类聚类方法,其主要思想是:

只要临近区域的密度(对象或数据点的数目)超过某个阀值,就继续聚类。

也就是说,对给定类中的每个数据点,在一个给定范围的区域中必须至少包含某个数目的点。

这样的方法可以用来过滤“噪声”孤立点数据,发现任意形状的簇。

DBSCAN是一个由代表性的基于密度的方法,它根据一个密度阀值来控制簇的增长。

(4)基于网络的方法(grid-basedmethod):

基于网络的方法把对象空间尽量化为有限数目的单元,形成一个网络结构。

所有的聚类操作都在这个网络结构(即量化的空间)上进行。

这种方法的主要优点是它的处理速度很快,其处理时间独立于数据对象的数目,只与量化空间中每一维单元数目有关。

(5)基于模型的方法(model-basedmethod):

基于模型的方法为每个簇假定了一个模型,寻找数据对给定模型的最佳拟合。

一个基于模型的算法可能通过构建反映数据点空间分布的密度函数来定位聚类。

它也基于标准的统计数字自动决定聚类的数目,考虑“噪声”数据或孤立点,从而产生健壮的聚类方法。

一些聚类算法集成了多种聚类方法的思想,所以有时将某个给定的算法划分为属于某类聚类方法是很困难的。

此外,某些应用可能有特定的聚类标准,要求综合多个聚类技术。

2.4聚类分析在Microarray分析中的位置及应用

微阵列(Microarray)技术在基因表达分析中的工作流程简单概括起来,分为以下几个过程:

基因数据的收集、数据预处理、数据聚类分析、预测。

聚类分析在整个过程中是承上启下的作用,聚类分析的对象(基因数据)来源于前期收集的数据,通过聚类分析,可以发现已经收集数据的正误,同时,也能根据数据本身的特征对数据进行分类,最后的聚类成果将为后面的预测工作提供材料。

可以说,聚类分析在整个Microarray分析工程中非常重要,聚类分析算法的选择将影响到数据预处理过程,也将影响到最后的预测结果。

所以,选择合适的聚类分析算法将有益于及时发现源数据中的“脏数据(有误的数据)”并修正源数据,对源数据进行高质量的聚类,产生高质量的聚类结果,为后面的预则过程提供高质量的材料,从而改善预测结果,这样,就提高了整个微阵列(Microarray)分析技术的工作质量!

 

第三章聚类分析方法的分析

3.1评价聚类分析方法好坏的准则

在微阵列(Microarray)分析中,保证最后聚类的质量是最重要的,以下几个方面是Microarray分析中对聚类算法选择的要求:

1.高的簇内相似性。

2.低的簇间相似性。

聚类定义的内涵就是:

将一个对象的集合分割成几个类,每个类内的对象之间是相似的,但与其他类的对象是不相似的。

所以说,这两点是一个聚类算法最根本也是最重要的要求。

但是,一般来说一个数据库没有一种最好的分类方法。

这是因为,聚类算法中的“相似度”是人为主观定义的,“相似性”也是根据算法中“相似度”的定义来判断的。

因此,好的聚类算法要在类中对象的相似程度和类的数目之间找到一个最佳的结合点。

3.能应付脏数据。

绝大多数现实世界中的数据库都包含了孤立点、空缺、未知数据或者错误的数据。

一些聚类算法对于这样的数据敏感,可能导致低质量的聚类结果。

4.对于数据不同的顺序不敏感。

一些聚类算法对于输入数据的顺序是敏感的。

例如,同一个数据集合,当以不同的顺序提交给同一个算法时,可能生成差别很大的聚类结果。

开发对数据输入顺序不敏感的算法

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1