无监督聚类算法(无监督聚类算法英语FCM)
本篇文章给大家谈谈无监督聚类算法,以及无监督聚类算法英语FCM对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、八:聚类算法K-means(20191223-29)
- 2、非监督模式识别的经典方法是聚类,聚类的三个要点是什么?
- 3、无监督学习分为聚类与降维,聚类与降维有什么差别?举例说明?
- 4、RNA 19. SCI 文章中无监督聚类法(ConsensusClusterPlus)
八:聚类算法K-means(20191223-29)
学习内容:无监督聚类算法K-Means
k-means:模型原理、收敛过程、超参数的选择
聚类分析是在数据中发现数据对象之间的关系,将数据进行分组,组内的相似性越大,组间的差别越大,则聚类效果越好。
不同的簇类型: 聚类旨在发现有用的对象簇,在现实中我们用到很多的簇的类型,使用不同的簇类型划分数据的结果是不同的。
基于原型的: 簇是对象的集银绝合,其中每个对象到定义该簇的 原型 的距离比其他簇的原型距离更近,如(b)所示的原型即为中心点,在一个簇中的数据到其中心点比到另一个簇的中心点更近。这是一种常见的 基于中心的簇 ,最常用的K-Means就是这样的一种簇类型。 这样的簇趋向于球形。
基于密度的 :簇是对象的密度区锋皮姿域,(d)所示的是基于密度的簇,当簇不规则或相互盘绕,并且有早上和离群点事,常常使用基于密度的簇定义。
关于更多的簇介绍参考《数据挖掘导论》。
基本的聚类分析算法
1. K均值: 基于原型的、划分的距离技术,它试图发现用户指定个数(K)的簇。
2. 凝聚的层次距离: 思想是开始时,每个点都作为一个单点簇,然后,重复的合并两个最靠近的簇,直到尝试单个、包含所有点的簇。
3. DBSCAN: 一种基于密度的划分距离的算法,簇的个数有算法自动的确定,低密度中的点被视为噪声而忽略,因此其不产生完全聚类。
不同的距离量度会对距离的结果产生影响,常见的距离量度如下所示:
优点:易于实现
缺点:可能收敛于局部最小值,在大规模数据收敛慢
算法思想:
选择K个点作为初始质心
repeat
将每个点指派握燃到最近的质心,形成K个簇
重新计算每个簇的质心
until 簇不发生变化或达到最大迭代次数
这里的“重新计算每个簇的质心”,是根据目标函数来计算的,因此在开始时要考虑 距离度量和目标函数。
考虑欧几里得距离的数据,使用 误差平方和(Sum of the Squared Error,SSE) 作为聚类的目标函数,两次运行K均值产生的两个不同的簇集,使用SSE最小的那个。
k表示k个聚类中心,ci表示第几个中心,dist表示的是欧几里得距离。
这里有一个问题就是为什么,我们更新质心是让所有的点的平均值,这里就是SSE所决定的。
k均值算法非常简单且使用广泛,但是其有主要的两个缺陷:
1. K值需要预先给定 ,属于预先知识,很多情况下K值的估计是非常困难的,对于像计算全部微信用户的交往圈这样的场景就完全的没办法用K-Means进行。对于可以确定K值不会太大但不明确精确的K值的场景,可以进行迭代运算,然后找出Cost Function最小时所对应的K值,这个值往往能较好的描述有多少个簇类。
2. K-Means算法对初始选取的聚类中心点是敏感的 ,不同的随机种子点得到的聚类结果完全不同
3. K均值算法并不是很所有的数据类型。 它不能处理非球形簇、不同尺寸和不同密度的簇,银冠指定足够大的簇的个数是他通常可以发现纯子簇。
4. 对离群点的数据进行聚类时,K均值也有问题 ,这种情况下,离群点检测和删除有很大的帮助。
下面对初始质心的选择进行讨论:
当初始质心是随机的进行初始化的时候,K均值的每次运行将会产生不同的SSE,而且随机的选择初始质心结果可能很糟糕,可能只能得到局部的最优解,而无法得到全局的最优解。
多次运行,每次使用一组不同的随机初始质心,然后选择一个具有最小的SSE的簇集。该策略非常的简单,但是效果可能不是很好,这取决于数据集合寻找的簇的个数。
关于更多,参考《数据挖掘导论》
为了克服K-Means算法收敛于局部最小值的问题,提出了一种 二分K-均值(bisecting K-means)
将所有的点看成是一个簇
当簇小于数目k时
对于每一个簇
计算总误差
在给定的簇上进行K-均值聚类,k值为2 计算将该簇划分成两个簇后总误差
选择是的误差最小的那个簇进行划分
在原始的K-means算法中,每一次的划分所有的样本都要参与运算,如果数据量非常大的话,这个时间是非常高的,因此有了一种分批处理的改进算法。
使用Mini Batch(分批处理)的方法对数据点之间的距离进行计算。
Mini Batch的好处:不必使用所有的数据样本,而是从不同类别的样本中抽取一部分样本来代表各自类型进行计算。n 由于计算样本量少,所以会相应的减少运行时间n 但另一方面抽样也必然会带来准确度的下降。
聚类试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集成为一个“簇”。通过这样的划分,每个簇可能对应于一些潜在的概念(也就是类别);需说明的是,这些概念对聚类算法而言事先是未知的,聚类过程仅能自动形成簇结构,簇对应的概念语义由使用者来把握和命名。
聚类是无监督的学习算法,分类是有监督的学习算法。所谓有监督就是有已知标签的训练集(也就是说提前知道训练集里的数据属于哪个类别),机器学习算法在训练集上学习到相应的参数,构建模型,然后应用到测试集上。而聚类算法是没有标签的,聚类的时候,需要实现的目标只是把相似的东西聚到一起。
聚类的目的是把相似的样本聚到一起,而将不相似的样本分开,类似于“物以类聚”,很直观的想法是同一个簇中的相似度要尽可能高,而簇与簇之间的相似度要尽可能的低。
性能度量大概可分为两类: 一是外部指标, 二是内部指标 。
外部指标:将聚类结果和某个“参考模型”进行比较。
内部指标:不利用任何参考模型,直接考察聚类结果。
对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大
初学者会很容易就把K-Means和KNN搞混,其实两者的差别还是很大的。
K-Means是无监督学习的聚类算法,没有样本输出;而KNN是监督学习的分类算法,有对应的类别输出。KNN基本不需要训练,对测试集里面的点,只需要找到在训练集中最近的k个点,用这最近的k个点的类别来决定测试点的类别。而K-Means则有明显的训练过程,找到k个类别的最佳质心,从而决定样本的簇类别。
当然,两者也有一些相似点,两个算法都包含一个过程,即找出和某一个点最近的点。两者都利用了最近邻(nearest neighbors)的思想。
优点:
简单, 易于理解和实现 ;收敛快,一般仅需5-10次迭代即可,高效
缺点:
1,对K值得选取把握不同对结果有很大的不同
2,对于初始点的选取敏感,不同的随机初始点得到的聚类结果可能完全不同
3,对于不是凸的数据集比较难收敛
4,对噪点过于敏感,因为算法是根据基于均值的
5,结果不一定是全局最优,只能保证局部最优
6,对球形簇的分组效果较好,对非球型簇、不同尺寸、不同密度的簇分组效果不好。
K-means算法简单理解,易于实现(局部最优),却会有对初始点、噪声点敏感等问题;还容易和监督学习的分类算法KNN混淆。
参考阅读:
1.《 深入理解K-Means聚类算法 》
2.《 K-Means 》
[img]非监督模式识别的经典方法是聚类,聚类的三个要点是什么?
第一,聚类分析是一种无监督学习的方法。
第二,聚类的对象是没有分类标记的训练样本。轿搏誉
第三,银扰聚类的目的是将数据集划分为若闭段干个互不相交的子集。
无监督学习分为聚类与降维,聚类与降维有什么差别?举例说明?
.降维
什么是降维?
试想一下现在有n个对象a1,a2,……,an,每个对象有多个属性x1,x2,……,xm。当我们用矩阵表示这些对象时,便是一个An×m的矩阵。举个实例:假枣罩设我们有5只猫,每只猫的毛色、体型、身高、体重、年龄、性别等特征各不相同。这里的猫就是我们的对象;“猫”这个称呼是这个对象的标签;毛色、体型、体重等特征就是我们所说的对象的属性。在实际的图像识别过程中,我们可能有大批数量的猫、狗的图片,所需的对象的属性也是多个,这些属性的个数就是我们所说的维数。维数越多,信息量数据量越大,占用的磁盘空间和内存较多。实际上我们在实际中有时候并用不到这么多的信息,所以就需要降维。
降维是试图压缩维度,并尽可能地保留分布信息。我们可以将其视为数据压缩,或者特征选择。
在实际生活中,我们对样本做数据处理,图像处理等操作时,希望模型的精度比较高,或者说泛化误差率较小,那么我们希样本的采样密度足够大(密采样)。首先我们要明白的是,维数越高,样本在空间上分布得越稀疏(若不明白,请看图:二维降到一维时,样本点的密度增加。可见更高维度的样本点之间密度更稀疏)。
降维在图像处理中叫图像压缩、特征提取。重在最优分区(可分离性);
降维在模式识别中叫做特征选择。重在最有描述(保真性)。
为什么要降维?
(1)维数越多,信息量越大,数据冗余,为了得到我们想要的信息,或者方便数据处理等操作,我们就需要进行降维。
(2)数据维度高,我们将无法借助自己领域的知识无法构建有效特征。
(3)维度超过三维时,人便无法肉眼观察特征。降维后,我们便可以在低维(一维、二维或三维)空间中可视化高维数据。
(4)克服维数灾难。通过某种数据变换,将原始高维属性空间转变为一个低维“子空间”,在这个子空间中,样本密度大幅度提高,距离计算(也是样本间相似度计算,欧几里得距离等来刻画相似度)也将变得容易;降维要保持原始空间中样本之间的距离在低维空间中得以保持,且在低维子空间中更容易学习。
PS:维数灾难
维数灾难是在给定精度下,准确的对某些变量的函数进行估计,所需的猛岩纳样本数量会随着样本的位数的增加而成指数增长。
高维情况下出现的样本稀疏、距离计算困难等问题,就是机器学习中面临的严重障碍——“维数灾难”。
降维的方法
(1)线性降维方法
PCA主成分分析
LDA判别分析
MDS多尺度分析
(2)非线性降维方法
流形学习
ISOMAP等距特征映射
LLE局部线性嵌入
聚类
什么是聚类
聚类尝试在没有训练的条件下,对一些没有标签的数据进行归纳分类。根据相似性对数据进行分组,以便对数据进行概括。没有标签是指我们事先不知道任何样本的类别标号,希望通过某种算法把这一组位置类别的样本划分成若干类别,聚类的时候,并不关心某一类是什么,实现的只是将相似的东西聚在一起。
总的来说,聚枝没类就是对大量未知标注的数据集,按数据内在的相似性将数据集划分为多个类别,使类别内的数据相似度较大而类别间的数据相似度较小。是无监督的分类方式。
聚类的目标
同一类中,类内对象是相似的(或是相关的);不同类中的对象是不同的(不相关的)。
聚类方法好坏的判定:
(1)产生高质量的聚类结果——簇。簇内有高相似性,簇间有低的相似性。
(2)取决于聚类方法采用的相似性评估方法以及该方法的具体实现。
(3)取决于聚类方法能否发现某些/所有的隐含模式。
常见的聚类算法
(1)划分聚类:K-means算法、K-medoids算法、K-pototypes算法、CLARANS算法;
(2)层次聚类:BIRCH算法、CURE算法;
(3)密度聚类:DBSCAN算法、OPTICS算法、DENCLUE算法
(4)网格聚类:STING算法、CLIQUE算法、WAVE-CLUSTER算法
(5)混合聚类:高斯混合模型、CLIQUE(综合密度和网格的算法)
RNA 19. SCI 文章中无监督聚类法(ConsensusClusterPlus)
点击关注,桓峰基因
基于RNA数据做临床预测时,我们往往并不知道该对样本怎么分类,那么就需要对肿瘤样本进行分类或者说分型,此时我们可以选择无监督机器学习的方法,在这里我想介绍一个非常好用的工具,很多文章都有利用该方法进行分型的,效果极好!
一致性聚类是一种为确定数据集中可能的聚类的数量和成员提供定量证据的方法,例如作为微阵列基因表达。这种方法在癌症基因组学中得到了广泛应用,在那里发现了新的疾病分子亚类。一致性聚类方法包括从一组项目中进行次抽样,例如微阵列,并确定特定簇计数(k)的簇。然后,对共识值,两个项目占在同一子样本中发生的次数中有相同的聚类,计算并存储在每个k的对称一致矩阵中。
无监督类发现在癌症研究中是一种非常有用的技术,其中共享生物学特征的内在群体可能存在,但未知。共识聚类(CC)方法为估计数据集中无监督类的数量提供了定量和可视化的稳定性证据。ConsensusClusterPlus在R中实现了芦塌返CC方法,并通过新的功能和可视化(包括项目跟踪、项目共识和集群陪饥共识图)对其进行了扩展。这些新特性为用户提供了详细的信息,支持在无监督类发现中做出更具体的决策。
ConsensusClusterPlus是我见过比较简单的包了,基本上只有一步就可以对基因进行聚类衫缓。对于这类算法我们比较头疼的是K值的确定,可以使用一些其他算法辅助K值的确定。
安装使用BiocManager来安装即可,如下:
实操之前我们先了解一些参数的设置,如下:pItem (item resampling, proportion of items to sample) : 80%pFeature (gene resampling, proportion of features to sample) : 80%maxK (a maximum evalulated k, maximum cluster number to evaluate) : 6reps (resamplings, number of subsamples) : 50clusterAlg (agglomerative heirarchical clustering algorithm) : 'hc' (hclust)distance : 'pearson' (1 - Pearson correlation)
运行如下:
之后进行提取基因集等后续操作,ConsensusClusterPlus的输出是一个列表,其中列表对应于来自KTH集群的结果,例如,results[[2]]是结果k=2。consensusMatrix输出一致矩阵,如下:
这个之前我们有讲过,机器学习里面又提过 MachineLearning 3. 聚类分析(Cluster Analysis)。
聚类一致性(cluster-consensus)
样品一致性(item-consensus)
RNA 1. 基因表达那些事--基于 GEO
RNA 2. SCI文章中基于GEO的差异表达基因之 limma
RNA 3. SCI 文章中基于T CGA 差异表达基因之 DESeq
RNA 4. SCI 文章中基于TCGA 差异表达之 edgeR
RNA 5. SCI 文章中差异基因表达之 MA 图
RNA 6. 差异基因表达之-- 火山图 (volcano)
RNA 7. SCI 文章中的基因表达——主成分分析 (PCA)
RNA 8. SCI文章中差异基因表达--热图 (heatmap)
RNA 9. SCI 文章中基因表达之 GO 注
RNA 10. SCI 文章中基因表达富集之--KEGG
RNA 11. SCI 文章中基因表达富集之 GSE RNA
12. SCI 文章中肿瘤免疫浸润计算方法之 CIBERSORT RNA
13. SCI 文章中差异表达基因之 WGCNA
RNA 14. SCI 文章中差异表达基因之 蛋白互作网络 (PPI)
RNA 15. SCI 文章中的融合基因之 FusionGDB2
RNA 16. SCI 文章中的融合基因之可视化 RNA
17. SCI 文章中的筛选 Hub 基因 (Hub genes)
RNA 18. SCI 文章中基因集变异分析 GSVA
RNA 19. SCI 文章中无监督聚类法 (ConsensusClusterPlus)
关于无监督聚类算法和无监督聚类算法英语FCM的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。