生信分析——聚类分析

概念:将物理或者抽象的对象的集合分成有类似的对象组成的多个类或者多个簇的过程被称为聚类。

实现过程:

1.进行数据预处理(在生信中聚类分析的预处理是使用PCA进行主成分分析)

2.进行数据的标准化

主要的聚类算法都包括:

1.基于划分的的聚类方法(这主要就是生信聚类分析的主要算法):对给定的包含n个样本的数据集,可以将数据划分为k个组,即构成数据的k个划分(与k-means关系?),每个划分表示一个聚簇。

要求:(1)每个组至少包括一个对象(2)每个对象必须且仅属于一个组

2.基于层次的聚类方法:可以将数据对象组成一颗聚类的树,根据构建树的方向(自上向下,还是自下向上可以分为凝聚的还是分裂的层次聚类)

(1)凝聚的层次聚类:按照自底向上的策略将每个对象作为单独的一个簇,然后将这些原子簇合并变成更大的簇,直到所有的对象都在一个簇中或者因为某个条件而进行终止。

(2)分裂的层次聚类:与凝聚的层次聚类相反,按照蹭上倒下的策略,先将所有的对象都放到一个簇中,然后逐渐细分为晓得簇,直到每个对象都在一个簇中,或者达到一个终止条件进行终止

3.基于密度的聚类方法:按照对象之间的距离进行聚类的(如单细胞测序分析中,可以根据每个细胞在组织中所处的位置进行聚类),这样的方法只能发现球状的簇,因为基于密度的聚类方法是将簇看做是数据空间中被低密度区域分割开的高密度区域

4.基于网格的聚类方法:是把对象空间量化为有限数目的单元,形成一个网格结构,所有的聚类操作都在这个网格结构上进行

优点:处理速度快而且处理的时间独立于数据对象的数目,只与量化空间中的每一维的单元数目相关

5.视觉聚类方法:是基于尺度空间理论进行的,将数据集看做图像,将数据建模问题看做认知问题通过格式塔原理与生物视觉原理解决问题(人脸识别是怎么运行的?我看了一个算法大牛的一篇文章是这么说的,人脸识别最初的或者是最简单的就是将人的脸扫描下来,分成无数个小格子,然后记住这些小格子的特征,然后当人进行时别的时候,可以直接将小格子里的内容与人脸进行比对,也就是说这可能与视觉聚类方法和基于网格的聚类方法有关)

6.基于模型的聚类方法:数据是根据潜在的概率分布生成的,也就是说为每一个簇假定一个模型寻找数据对给定魔性的最佳拟合(神经网络聚类算法就食欲基于模型的聚类方法)

我所做的所有分析与教程的代码都会在我的个人公众号中,请打开微信搜索“生信学徒”进行关注,欢迎生信的研究人员和同学前来讨论分析。
ps:公众号刚刚建立比较简陋,但是该有的内容都不会少。

你可能感兴趣的:(生物信息学,算法,聚类算法)