机器学习-聚类

基本概念

在“无监督学习” 任务中研究最多、 应用最广。
 聚类目标:将数据集中的样本划分为若干个通常不相交的子集(“簇” , cluster)
 聚类既可以作为一个单独过程(用于找寻数据内在的分布结构) , 也可作为分类等其他学习任务的前驱过程。

应用:1,分析数据内在结构;2,作为有监督学习的预处理部分,发掘数据的隐藏模式

监督信号类别
任务标注 中间激励
输出 离散 分类 聚类
连续 回归 降维
策略 模仿学习 强化学习

聚类性能指标(聚类结果的“簇内相似度”(intra-cluster similarity) 高,且“簇间相似度”(inter-cluster
similarity)低 )
 外部指标:将聚类结果与某个“参考模型”(只用于测试评判) 进行比较
 内部指标(划分依据):基于簇内和簇间相似度直接考察聚类结果

a=SS (一致)、b=SD(不一致) c=DS、d=DD(若一致)

外部指标 ([0,1]区间内,越大越好 )

Jaccard系数(Jaccard Coefficient, JC)

FM指数(Fowlkes and Mallows Index, FMI)

Rand指数(Rand Index, RI)

内部指标

考虑聚类结果的簇C划分 ,定义:簇 C内样本间的平均距离(簇内距离) 、簇 C 内样本间的最远距离(簇内距离)、簇C_i与簇 C_j最近样本间的距离(簇间距离)、簇 C_i与簇 C_j中心点间的距离(簇间距离)

DB指数(Davies-Bouldin Index, DBI) (簇内距离)

Dunn指数(Dunn Index, DI) (簇间距离)

距离度量

性质:非负性、同一性、对称性、直递性

闵可夫斯基距离(Minkowski distance)
p=2: 欧氏距离(Euclidean distance).
p=1: 曼哈顿距离(Manhattan distance)

分类

基于原型的聚类(Prototype-based clustering)
• 主要特点:先对原型进行初始化,然后进行迭代更新
• 常见算法: k-Means算法,高斯混合模型
基于密度的聚类(Density-based clustering)
• 主要特点:从样本密度的角度来考察样本间的关系
• 常见算法: DBSCAN算法
层次聚类(Hierarchical clustering)
• 主要特点:在不同层次对样本进行划分,形成树形的聚类结构
• 常见算法: 逐次聚合算法

k-Means算法

k-Means算法公式
E值在一定程度上刻画了簇内样本围绕簇均值向量的紧密程度,
值越小,则簇内样本相似度越高。

算法流程(迭代优化):
人工选取簇的个数,初始化每个簇的均值向量(中心)
repeat

  1. 簇划分(聚类);
  2. 更新每个簇的中心

until 当前均值向量均未更新

不足:

簇的数目k需要人为指定;对簇中心的初始化比较敏感;破坏数据内在结构

ps:

硬聚类:样本只从属于一个簇,如K-means

软聚类:样本以该概率从属于多个簇,如高斯混合模型、EM模型

混合模型是概率化的k-Means算法

基于密度的聚类

基于密度的聚类算法

DBSCAN算法(举例)

簇的定义:密度相连样本组成的集

算法的核心:由核心对象搜寻密度可达的所有样本

DBSCAN算法

Agglomerative(逐次聚合)算法

算法过程(自底向上的层次聚类):
• 首先,将样本中的每一个样本看做一个初始聚类簇;
• 然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并,
该过程不断重复,直到达到预设的聚类簇的个数。

• 基于层次的聚类
• 生成不同层次的簇-树状图

---------------- 本文结束 ----------------

本文标题:机器学习-聚类

文章作者:Pabebe

发布时间:2020年04月25日 - 20:41:43

最后更新:2020年06月16日 - 18:24:34

原始链接:https://pabebezz.github.io/article/be746f28/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%