深入浅出介绍聚类分析

Python024

深入浅出介绍聚类分析,第1张

聚类分析是生信分析中常用的工具,在转录组分析中经常用到。聚类分析将表达模式相似的基因聚类在一起,以基因集的形式进行后续分析,今天我给大家介绍其相关原理。

聚类方法有很多,常用的有以下几个:

下图的例子展示的是,差异表达基因集的聚类热图。

多是基于R语言heatmap.2函数绘制(gplots程序包),该函数默认使用的聚类方法是计算欧式距离(Euclidean Distance)进行层次聚类(Hierarchical Cluster)。

这个图的是什么意思呢?我们来解释一下。

首先,我们先明确下什么是欧式距离(Euclidean Distance):

欧式距离,也称欧几里得距离,是衡量多维空间的两个点之间的绝对距离,

(1)二维平面,两点a(x1,y1),b(x2,y2) 欧式距离的计算公式为:

(2)三维空间,欧式距离的计算公式为:

(3)n维空间,欧式距离的计算公式为:

那么,体现在基因表达量的矩阵上,则如下:

(1) 首行为样本名;

(2) 首列为基因名;

(3) 数字则为基因在相应样本中的表达量(一般使用标准化后的表达量矩阵)

Gene1与Gene2的欧式距离为:

Gene1与Gene3的欧式距离为:

Gene1与Gene4的欧式距离为:

计算出所有基因两两之间的欧式距离之后,就可以进行聚类啦:

Cluster之间的聚类,则有3种方法:

R语言中hclust函数的默认方法为最长距离法(complete-linkage)。

以上的聚类过程即称之为 层级聚类

层级聚类一般伴随着 系统聚类图 ,系统聚类图分支的长短也体现Cluster形成的早晚,分支越短,形成的越早,基因表达模式也越相近。

聚类分析将基因划分为不同的基因集合,用于反映不同实验条件下样品差异表达基因的变化模式。

功能相关的基因在相同条件下通常具有相似的表达模式,例如被共同的转录因子调控的基因,或其产物构成同一个蛋白复合体的基因,或参与相同生物学过程的基因。对这些基因集进行分析往往可以获得比单基因分析更为可靠的结果。

背景:了解机器学习算法原理时,其中KNN分类算法中提及的欧式距离。

解释:欧式距离又叫欧几里德度量。用于定义多维空间的距离。

理解:

1、首先定义在n维空间两个点X,Y的坐标分别为( )和( ):

    如一维中, 和

    二维中, 和

    以此类推……

    n维中, 和

2、由此计算两个点的欧式距离。

    二维中,两点距离为:

    

    n维中,两点距离为: