13 聚类模型 – 机器学习基础理论入门
4.1 聚类问题介绍
定义
聚类分析又称群分析,目标时将样本划分为紧密关系的子集或簇
应用
聚类分析在实际中应用非常广泛,如:市场细分、社交圈分析、天体数据分析等
聚类要求
聚类分析的目标时将样本划分为紧密关系的子集或簇。一般要求同一类内的相似度尽量大,不同类间的差异度尽量大。
常用聚类算法
(1) KMeans聚类
(2) 层次聚类
(3) 密度聚类
(4) 高斯混合聚类
(5) 谱聚类
4.2 K-Means聚类
Kmeans聚类过程
Kmeans算法时无监督模型,其核心思想是:对于给定的样本集,按照样本点之间的距离大小,将样本集划分为K各簇,并让簇内的点尽量紧凑,而让簇间的点尽量分开。
K=2时,随机选取两个点作为中心点,计算每个样本点到中心点的距离,按距离远近样本点分成2簇,计算新簇的样本的均值作为新的中心点,然后重复上述过程。
Kmeans聚类关键点
几个关键点:聚类簇数K的选择、K各聚类中心点的初始值选择、距离度量方式、损失计算方式。
(1) 聚类簇数K的选择
K值得选择是一个比较难处理得点,事先并不知道该聚类成几类;传统得kmeans算法采用人工试探或超参数搜索得形式来确定。
(2) K个聚类中心点得初始值选择
K个聚类中心点得初始值选择直接影响迭代次数;传统得kmeans算法是随机选择初始值得方式;改进版待续。
(3) 距离度量方式
一般采用欧式距离,即:
(4) 损失计算方式
聚类每更新一次,需要计算一次损失情况,聚类问题得损失函数是各个簇中样本向量到对应簇均值向量的均方误差。
很明显,目标就是最小化这个均方误差。
Kmeans聚类改进版
1)k-means++
随机选择初始聚类中心存在较大偶然性,改进版k-means++算法如下:
2) mini batch k-means
k-means算法需要计算所有样本点到各聚类中心的距离,若样本量较大时此过程非常耗时;大数据时代,这样的场景越来越多。因此,剔除另一种改进版—mini batch k-means:
在做k-means算法前先对大样本数据进行一次随机采样,采样得到的样本再用k-means进行聚类。一般进行多次mini batch后进行多次k-means聚类,最后选择最优的聚类簇。可能会有一些信息损失。
Kmeans算法优缺点
优点
(1) 原理简单,易实现,收敛速度较快,可解释性较强
(2) 需要调节的参数较少(主要是聚类簇数K),且聚类效果较好。
缺点
(1) 聚类簇数K值得选择不好把握,一般只能通过暴力搜索法来决定;
(2) 只适合簇型数据,对其他类型数据的聚类效果可能一般;
(3) 当数据存在比较严重的类别不平衡时,聚类效果不佳;
(4) 当数据量较大时,计算量较大,采用mini batch的方式虽然可以缓解,但可能会牺牲准确度。
4.3 层次聚类
层次聚类过程
层次聚类(hierarchial clustering)就是一层一层的进行聚类。
可以由上向下的类别分割,叫做分裂法;也可以由下向上对小的类别进行聚合,叫做凝聚法;一般用的比较多的是是由下向上的凝聚法。
凝聚法步骤:
(1) 将每个样本点当作一个类簇,原始类簇大小等于样本点的个数;
(2) 计算各簇间的距离,然后合并距离最近的两个簇;
(3) 重复步骤(2)直到达到某种条件或达到设定的聚类数目。
层次聚类的距离度量
层次聚类的关键是计算簇间的距离后合并相近的簇,所以距离的度量很关键;
层次聚类的距离度量由以下三种:
(1) 最小距离:由两个簇的最近样本决定簇的距离。
(2) 最大距离:由两个簇的最远样本决定。
(3) 平均距离:由两个簇的所有样本共同决定。
采用最小或最大距离时,聚类结果可能受噪声点的影响较大,但计算量较小;采用平均距离抗噪声能力较强,但计算量增大,一般采用平均距离。
层次聚类的优缺点
优点
(1) 能够展现数据层次结构,易于理解;
(2) 可以基于层次事后再选择类的个数。
缺点
计算量比较大,不适合样本量大的情形
4.4 密度聚类
DBSCAN聚类介绍
密度聚类算法假设聚类结构能够通过样本分布的紧密程度确定;其从样本密度的角度考察样本之间的可连接性,并且基于可连接样本不断扩展聚类簇以获得最终的聚类结果。
DBSCAN是一种著名的密度聚类算法,其基于一组“邻域”(minpts)参数来刻画样本分布的紧密程度;
思想:由密度可达关系导出的最大密度相连的样本集合,即为最终聚类的一个簇。
基本概念:
DBSCAN聚类举例
DBSCAN聚类关键点
簇的个数不用事先设定,可以按照核心对象的逐步减少生成最后的聚类簇。
注意点
DBSCAN聚类的优缺点
优点
(1) 可以对任意形状的稠密数据集进行聚类(K-Means聚类一般只适用于凸数据集);
(2) 可以在聚类的同时发现异常点,对数据集中的异常点不敏感;
(3) 聚类结果没有偏倚(K-Means聚类初始值对聚类结果有很大影响)。
缺点
4.5 本章小结
知识点回顾
学习要求
掌握几种常见聚类模型的原理、聚类过程、核心概念、相互之间的异同点、各自的优缺点、以及各自的适用场景。