聚类分析

查找并可视化数据中的自然分组和模式

聚类分析涉及应用聚类算法,目标是在数据集中发现隐藏的模式或分组。因此,它经常用于探索性数据分析,但也用于异常检测和预处理的监督学习。

聚类算法以这样一种方式形成分组,即一组(或一簇)中的数据比任何其他簇中的数据具有更高的相似性度量。可以使用各种相似度量,包括欧几里得、概率、余弦距离和相关性。大多数无监督学习方法是聚类分析的一种形式。

聚类算法分为两大类:

  1. 硬聚类,即每个数据点只属于一个聚类,如流行k——方法。
  2. 软聚类,其中每个数据点可以属于一个以上的聚类,如高斯混合模型。例如,语音中的音素可以被建模为多个基本音的组合,以及可以参与多个生物过程的基因。

K-means clustering,它用质心来表示组——每个成员的平均值,如图中的星星所示。

高斯混合模型,该模型赋予了聚类的隶属概率,表示了与不同聚类的关联强度。

聚类分析用于多种领域和应用,以识别模式和序列:

  • 在数据压缩方法中,聚类可以代替原始信号来表示数据。
  • 在分割算法中,聚类表示图像的区域和激光雷达点云。
  • 遗传聚类和序列分析是生物信息学中常用的方法。

在半监督学习中,聚类技术还用于建立标记数据和未标记数据之间的相似性,其中初始模型使用最小的标记数据建立,并用于给原始未标记数据分配标签。相比之下,半监督聚类将有关聚类的可用信息合并到聚类过程中,例如,如果一些观察结果已知属于同一聚类,或一些聚类与特定的结果变量相关联。

MATLAB®万博1manbetx支持许多流行的聚类分析算法:

  • 分层聚类通过创建集群树来构建集群的多级层次结构。
  • k - means聚类根据到聚类中心的距离将数据划分为k个不同的聚类。
  • 高斯混合模型形成多变量正态密度成分的混合簇。
  • 空间聚类(例如流行的基于密度的DBSCAN)对高密度区域中彼此接近的点进行分组,跟踪低密度区域中的异常值。可以处理任意非凸形状。
  • 自组织映射使用神经网络来学习数据的拓扑结构和分布。
  • 谱聚类将输入数据转换为基于图的表示,其中的聚类比原始特征空间中分离得更好。通过研究图的特征值可以估计出簇的数目。
  • 隐马尔可夫模型可用于发现序列中的模式,如生物信息学中的基因和蛋白质。

要点

  • 聚类分析常用于探索性数据分析、异常检测和分割以及监督学习的预处理。
  • k-means和层次聚类仍然很流行,但对于非凸形状,需要更高级的技术,如DBSCAN和光谱聚类。
  • 其他可用于发现数据分组的非监督方法包括降维技术和特征排序。

MATLAB中的聚类分析实例

使用imsegkmeans命令(使用k-means算法),MATLAB将三个聚类分配给原始图像(组织用血氧毒素和伊红染色),将组织分割为三个类别(表示为白色、黑色和灰色)。自己尝试一下,以及相关的细分方法这段代码示例

参见:统计和机器学习工具箱™基于MATLAB的机器学习图像处理工具箱™