matlab统计与机器学习工具箱中的7种聚类算法

1. matlab中自带聚类算法概述

本文简要概述了matlab统计和机器学习工具箱中可用的聚类方法,并给出了其聚类函数。在使用过程中,直接调用该函数即可,十分方便,不得不感慨matlab的强大。

聚类分析,又称分割分析或分类分析,是一种常见的无监督学习方法。无监督学习用于从无标记的输入数据中进行推理,得到数据所属的分类标签,相当于给数据“打标签”。例如,可以使用聚类分析查找未标记数据中的隐藏模式或分组。

聚类分析创建数据组或簇。属于同一个集群的对象彼此相似,属于不同集群的对象彼此不同。要量化“相似”和“不同”,可以使用应用于特定程序和数据集领域的不相似度量(或距离度量)。另外,根据自己的需求,可以考虑对数据中的变量进行缩放(或标准化),以便在聚类过程中给予它们同等的重要性。

具体的,统计和机器学习工具箱提供了这些聚类算法:

  • 分层聚类 Hierarchical Clustering
  • k-Means和k-Medoids聚类
  • 基于密度的带噪声应用空间聚类 DBSCAN
  • 高斯混合模型
  • k最近邻搜索和半径搜索
  • 谱聚类 Spectral Clustering

2. matlab自带的7种聚类算法介绍与应用

1)分层聚类 Hierarchical Clustering
分层聚类通过创建聚类树或树状图在不同的尺度上对数据进行分组。该树不是单一的集群集合,而是一个多层层次结构,其中一个级别的集群结合形成下一个级别的集群。这种多层层次结构允许您选择最适合您的应用程序的集群级别或规模。分层聚类将数据中的每个点分配到一个聚类中。

使用clusterdata函数即可对输入数据执行分层聚类。Clusterdata函数包含pdistlinkage, 和 cluster 3个函数,可以分别使用它们进行更详细的分析。此外,在分层聚类中,可以利用dendrogram函数绘制聚类树,得到聚类的可视化结果(分层聚类结果图)。关于分层聚类的具体介绍,这里就不再赘述,后续有时间可能会更新更详细的介绍。

T = clusterdata(X,cutoff)

但是我觉得这些已经足够使人了解基本内容,大家可根据自己的需要在matlab中查看与应用。也可以与我交流。

2)k-Means和k-Medoids聚类
k-means聚类和k-medoids聚类将数据划分为k个互斥的聚类。这些聚类方法要求预先指定聚类的数量k。k-means和k-medoids聚类都将数据中的每个点分配到一个群集;然而,与分层聚类不同的是,这些方法基于实际的观察结果(而不是不相似度度量),并创建单一级别的聚类。因此,对于大量数据,k-means或k-medoids聚类通常比分层聚类更适合。

idx = kmeans(X,k)

idx = kmedoids(X,k)

在matlab中,可直接使用kmeanskmedoids函数分别实现k-means聚类和k-medoids聚类。对于这2种比较简单的聚类算法,应该都比较了解,无需多言。

3)基于密度的带噪声应用空间聚类 DBSCAN

DBSCAN是一种基于密度的算法,可以识别任意形状的簇和数据中的异常值(噪声)。在聚类过程中,DBSCAN识别不属于任何聚类的点,这使得该方法对于基于密度的离群点检测非常有用。与k-means和k-medoids集群不同,DBSCAN不需要预先知道聚类的数量,这是非常重要的一点。

idx = dbscan(X,epsilon,minpts)

在matlab中,可直接使用dbscan函数对输入数据矩阵或观察结果之间的成对距离执行聚类。关于DBSCAN更详细的介绍,可以查看我之前的博客:基于密度的聚类算法(1)——DBSCAN详解

4)高斯混合模型

高斯混合模型(GMM)作为多元法向密度分量的混合物形成簇。对于给定的观测,GMM为每个成分密度(或聚类)分配后验概率。后验概率表明观察结果有一定概率属于每一个聚类。GMM可以通过选择后验概率最大的成分作为观察的指定聚类来进行硬聚类。您还可以使用GMM来执行软聚类模糊聚类,方法是根据聚类的评分或后验概率将观察值分配给多个聚类。当聚类具有不同的大小和不同的相关结构时,GMM可能是比k-means聚类更合适的方法。

GMModel = fitgmdist(X,k)
idx = cluster(GMModel,X)

在matlab中,使用fitgmdist使gmdistribution对象适合所分析的数据。还可以使用gmdistribution通过指定分布参数来创建GMM对象。当有一个合适的GMM时,可以使用cluster函数对数据进行聚类查询。

5)k最近邻搜索和半径搜索

k近邻搜索查找数据中与一个或一组查询点最近的k个点。相比之下,半径搜索查找数据中与查询点或查询点集合在指定距离内的所有点。这些方法的结果取决于您指定的距离度量。

在matlab中,可直接使用knnsearch函数查找k个最近的邻居,或者使用rangesearch函数查找输入数据指定距离内的所有邻居。还可以使用训练数据集创建搜索器对象,并将对象和查询数据集传递给对象函数(knnsearchrangesearch)。

Idx = knnsearch(X,Y)

6) 谱聚类 spectral clustering

谱聚类是一种基于图的聚类算法,用于在数据中找到k个任意形状的聚类。该技术涉及用低维表示数据。在低维中,数据中的集群分离得更广,这使得能够使用k-means或k-medoids聚类等算法。这个低维是基于拉普拉斯矩阵的特征向量。拉普拉斯矩阵是一种表示相似图的方法,它将数据点之间的局部邻域关系建模为无向图。

在matlab中,可直接使用spectralcluster函数对输入数据矩阵或相似图的相似矩阵执行谱聚类。Spectralcluster函数要求预先指定聚类的数量。此外,谱聚类算法也提供了一种估计数据中聚类数量的方法,具体的可在matlab中查看应用。

 idx = spectralcluster(X,k)

3. 7种聚类算法的总结与比较

在这里插入图片描述

1 2/3维图像分割工具箱 2 PSORT粒子群优化工具箱 3 matlab计量工具箱Lesage 4 MatCont7p1 5 matlab模糊逻辑工具箱函数 6 医学图像处理工具箱 7 人工蜂群工具箱 8 MPT3安装包 9 drEEM toolbox 10 DOMFluor Toolbox v1.7 11 Matlab数学建模工具箱 12 马尔可夫决策过程(MDP)工具箱MDPtoolbox 13 国立SVM工具箱 14 模式识别机器学习工具箱 15 ttsbox1.1语音合成工具箱 16 分数阶傅里叶变换的程序FRFT 17 魔方模拟器规划求解 18 隐马尔可夫模型工具箱 HMM 19 图理论工具箱GrTheory 20 自由曲线拟合工具箱ezyfit 21 分形维数计算工具箱FracLab 2.2 22 For-Each 23 PlotPub 24 Sheffield大学最新遗传算法工具箱 25 Camera Calibration 像机标定工具箱 26 Qhull(二维三维三角分解、泰森图)凸包工具箱 2019版 27 jplv7 28 MatlabFns 29 张量工具箱Tensor Toolbox 30 海洋要素计算工具箱seawater 31 地图工具箱m_map 32 othercolor配色工具包 33 Matlab数学建模工具箱 34 元胞自动机 35 量子波函数演示工具箱 36 图像局域特征匹配工具箱 37 图像分割graphcut工具箱 38 NSGA-II工具箱 39 chinamap中国地图数据工具箱(大陆地区) 40 2D GaussFit高斯拟合工具箱 41 dijkstra最小成本路径算法 42 多维数据快速矩阵乘法 43 约束粒子群优化算法 44 脑MRI肿瘤的检测分类 45 Matlab数值分析算法程序 46 matlab车牌识别完整程序 47 机器人工具箱robot-10.3.1 48 cvx凸优化处理工具箱 49 hctsa时间序列分析工具箱 50 神经科学工具箱Psychtoolbox-3-PTB 51 地震数据处理工具CREWES1990版 52 经济最优化工具箱CompEcon 53 基于约束的重构分析工具箱Cobratoolbox 54 Schwarz-Christoffel Toolbox 55 Gibbs-SeaWater (GSW)海洋学工具箱 56 光声仿真工具箱K-Wave-toolbox-1.2.1 57 语音处理工具箱Sap-Voicebox 58 贝叶斯网工具箱Bayes Net Toolbox(BNT) 59 计算机视觉工具箱VFfeat-0.9.21 60 全向相机校准工具箱OCamCalib_v3.0 61 心理物理学数据分析工具箱Palamedes1_10_3 62 生理学研究工具箱EEGLAB 63 磁共振成像处理工具箱CONN 18b 64 matlab 复杂网络工具箱 65 聚类分析工具箱FuzzyClusteringToolbox 66 遗传规划matlab工具箱 67 粒子群优化工具箱 68 数字图像处理工具箱DIPUM Toolbax V1.1.3 69 遗传算法工具箱 70 鱼群算法工具箱OptimizedAFSAr 71 蚁群算法工具箱 72 matlab优化工具箱 73 数据包络分析工具箱 74 图像分割质量评估工具包 75 相关向量机工具箱 76 音频处理工具箱 77 nurbs工具箱 78 Nurbs-surface工具箱 79 grabit数据提取工具箱 80 量子信息工具箱QLib 81 DYNAMO工具箱 82 NEDC循环的整车油耗量 83 PlotHub工具箱 84 MvCAT_Ver02.01 85 Regularization Tools Version 4.1 86 MatrixVB 4.5(含注册) 87 空间几何工具箱 matGeom-1.2.2 88 大数计算工具箱 VariablePrecisionIntegers 89 晶体织构分析工具包 mtex-5.7.0 90 Minimal Paths 2工具箱 91 Matlab数学建模工具箱
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值