[机器学习]第九章 聚类

2018-09-17  本文已影响0人  两全丶

9.1 聚类任务

常见的无监督学习任务

聚类任务将数据集划分为若干个不相交的子集,为每一个样本标上一个簇标记(表示这个样本属于哪个簇),于是得到一个簇标记向量​

9.2 性能度量

在开始一项机器学习任务之前,首先必须要定义好性能度量指标,以便量化的评估模型的好坏。

聚类性能度量的基本想法

“物以类聚”, 相同簇内的样本应该尽可能的相似;“人以群分”, 不同簇内的样本应该经可能的不同。需要定义距离来度量相似性。

两类度量指标

外部指标

假定通过聚类给出的簇划分为C = \{C_1...C_K\}, 参考模型给出的簇划分为C^* = \{C_1^*...C_K^*\}, 令\lambda\lambda^*分别表示聚类给出的簇标记向量以及参考模型给出的簇标记向量, 定义如下量

其中a表示在中属于同一个簇的且在中也属于同一个簇的点对的集合,其他依次类推。显然我们希望ab越大越好。

由于一个点对只能出现在一个集合中,共有个点对,所以a + b + c + d = \frac{m(m - 1) }{2}

内部指标

9.4 原型聚类

此类算法假设聚类结构能够通过一组原型刻画,在聚类任务中较为通用。一般先对原型进行初始化,然后再对原型进行迭代更新求解

9.4.1 k均值算法

给定样本​,k均值算法针对聚类所得簇划分​最小化平方误差,​

E = \sum^k_{i = 1}\sum_{x \in C_i}||x - \mu_i||^2_2

E值越小,簇内样本相似程度越高,求解该最优划分为NP难问题,k均值算法采用贪心策略通过迭代优化来近似求解

算法流程

image

9.4.2 学习向量量化(Learning Vector Quantization)

LVQ假设数据样本带有类别标记,利用这些监督信息来辅助聚类

算法流程

image

9.4.3 高斯混合聚类

k均值和LVQ通过原型向量来刻画聚类结构,而高斯混合聚类通过概率模型来表达聚类原型

高斯分布

高斯混合分布

聚类

训练集,令z_j \in \{1,2....k\}表示生成样本的高斯混合成分, 设后验概率为p_M(z_j = i | x_j), 简记为\gamma_{ji}由贝叶斯定义得的后验分布为

image

高斯混合聚类把样本D划分为k个簇(对应k个混合成分),每个样本的簇标记如下确定,选取簇标记后验概率最大的一个做为样本的簇标记,

image

模型参数由EM算法求取

算法流程

image

9.5 密度聚类

密度聚类假设聚类结构能通过样本分布的紧密程度确定。

DBSCAN聚类

使用一组“邻域”参数来刻画样本分布的紧密程度,数据集D = \{x_1....x_m\}

簇的定义

DBSCAN将簇定义为

由密度可达关系导出的最大密度相连样本集合

由上定义可看出,这里的簇与图论中的连通分量概念相似

若​为核心对象,由​密度可达的所有样本组成的集合为​,则​为满足连接性与最大性的簇

算法流程

image

9.6 层次聚类

层次聚类尝试在不同层次对数据集进行划分, 从而形成树形的聚类结构

AGNES聚类

采用自底向上聚合策略进行聚类,先将数据集中的每一个样本看作一个初始簇, 不断合并距离最近的两个簇,直到达到预设的簇的个数。关键是距离的计算

image

算法流程

image.png
上一篇 下一篇

猜你喜欢

热点阅读