目录
一、聚类分析:
聚类分析是一种典型的无监督学习,用于对未知类别的样本进行划分,将它们按照一定的规则划分成若干个类簇,把相似(距离相近)的样本聚在同一个类簇中,把不相似的样本分为不同类簇,从而揭示样本之间内在的性质以及相互之间的联系规律。
1.基于划分的方法
基于划分的方法大多数是基于距离来划分样本的,首先对样本进行初始划分,然后计算样本间的距离,重新对数据集中的样本进行划分,将样本划分到距离更近的簇中,得到一个新的样本划分,迭代计算直到聚类结果满足用户指定的要求。典型的算法有k-均值算法和k-medoids算法。
基于划分的方法大多数是基于距离来划分样本的,首先对样本进行初始划分,然后计算样本间的距离,重新对数据集中的样本进行划分,将样本划分到距离更近的簇中,得到一个新的样本划分,迭代计算直到聚类结果满足用户指定的要求。典型的算法有k-均值算法和k-medoids算法。
2.基于层次的方法
基于层次的方法(Hierarchical Method)是按层次对数据集进行划分。根据层次聚类的过程,可分为自底向上的凝聚方法和自顶向下的分裂方法。
3.基于密度的方法
基于密度的方法提出“密度”的思想,即给定邻域中样本点的数量,当邻域中密度达到或超过密度阈值时,将邻域内的样本包含到当前的簇中。
4.基于网格的方法
基于网格的方法(Grid-based Method)将数据集空间划分为有限个网格单元,形成一个网络结构,在后续的聚类过程中,以网格单元为基本单位进行聚类,而不是以样本为单位。由于算法处理时间与样本数量无关,只与网格单元数量有关。
5.基于模型的方法
假定数据集满足一定的分布模型,找到这样的分布模型,就可以对数据集进行聚类。基于模型的方法主要包括基于统计和基于神经网络两大类,前者以高斯混合模型(Gaussian Mixture Models,GMM)为代表,后者以自组织映射网络(Self Organizing Map,SOM)为代表。目前以基于统计模型的方法为主。
二、聚类算法的特征
一个良好的聚类算法应当具有以下特征:
- 良好的可伸缩性。不仅能在小数据集上拥有良好性能,得到较好聚类结果,而且在处理大数据集时同样有较好的表现。
- 处理不同类型数据的能力。不仅能够对数值型的数据进行聚类,也能够对诸如图像、文档、序列等复杂数据进行聚类;
- 处理噪声数据的能力。
- 对样本顺序的不敏感性。
- 约束条件下的表现。
- 易解释性和易用性。
三、聚类分析的度量方法
1.外部指标
指用事先指定的聚类模型作为参考来评判聚类结果的好坏;
2.内部指标
指不借助任何外部参考,只用参与聚类的样本评判聚类结果的好坏。
3.聚类的目标
得到较高的簇内相似度和较低的簇间相似度,使得簇间的距离尽可能大,簇内样本与簇中心的距离尽可能小。
4.常用外部度量指标
对于含有n个样本点的数据集S,其中有两个不同样本点xi,xj,假设C是聚类算法给出的簇划分结果,P是外部参考模型给出的簇划分结果,那么对于样本点xi,xj来说,存在以下四种关系。 SS:xi,xj在C和P中属于相同的簇。 SD:xi,xj在C中属于相同的簇,在P中属于不同的簇。 DS:xi,xj在C中属于不同的簇,在P中属于相同的簇。 DD:xi,xj在C和P中属于不同的簇。
令a,b,c,d分别表示SS,SD,DS,DD所对应的关系数目,由于xi,xj之间的关系必定存在于四种关系中的一种,且仅能存在一种关系,因此有:
根据上述式子,有:
Rand统计量(Rand Statistic):
F值(F-measure):
上述两个值越大,聚类效果越好。
5.内部指标
指不借助任何外部参考,只用参与聚类的样本评判聚类结果的好坏。
聚类的目标
得到较高的簇内相似度和较低的簇间相似度,使得簇间的距离尽可能大,簇内样本与簇中心的距离尽可能小。
四、常用外部度量指标
对于含有n个样本点的数据集S,其中有两个不同样本点xi,xj,假设C是聚类算法给出的簇划分结果,P是外部参考模型给出的簇划分结果,那么对于样本点xi,xj来说,存在以下四种关系。 SS:xi,xj在C和P中属于相同的簇。 SD:xi,xj在C中属于相同的簇,在P中属于不同的簇。 DS:xi,xj在C中属于不同的簇,在P中属于相同的簇。 DD:xi,xj在C和P中属于不同的簇。
令a,b,c,d分别表示SS,SD,DS,DD所对应的关系数目,由于xi,xj之间的关系必定存在于四种关系中的一种,且仅能存在一种关系,因此有:
(1)欧氏距离
欧氏距离(Euclidean Distance)是计算欧氏空间中两点之间的距离,是最容易理解的距离计算方法,其计算公式如下:
2)曼哈顿距离
曼哈顿距离(Manhattan Distance)也称城市街区距离,欧氏距离表明了空间中两点间的直线距离,但是在城市中,两个地点之间的实际距离是要沿着道路行驶的距离,而不能计算直接穿过大楼的直线距离,曼哈顿距离就用于度量这样的实际行驶距离。
(3)切比雪夫距离
切比雪夫距离(Chebyshev Distance)是向量空间中的一种度量,将空间坐标中两个点的距离定义为其各坐标数值差绝对值的最大值。切比雪夫距离在国际象棋棋盘中,表示国王从一个格子移动到另外一个格子所走的步数。
(4)明可夫斯基距离
明可夫斯基距离(Minkowski Distance)是欧氏空间的一种测度,是一组距离的定义,被看作是欧氏距离和曼哈顿距离的一种推广。
其中n是一个可变的参数,根据n取值的不同,明可夫斯基距离可以表示一类距离。当n=1时,明可夫斯基距离就变成了曼哈顿距离;当n=2时,明可夫斯基距离就变成了欧氏距离;当n→∞时,明可夫斯基距离就变成了切比雪夫距离。
五、基于划分的聚类方法:
划分结果旨在使簇之间的样本相似性低,簇内部的样本相似度高。
基于划分的聚类的常用算法有k-均值、k-medoids、k-prototype等。
k-均值算法
k-均值中样本间的相似度是由它们之间的距离决定的,距离越近,说明相似度越高;反之,则说明相似度越低。
k-均值算法聚类步骤如下。
① 首先选取k个类簇(k需要用户指定)的质心,通常是随机选取。
② 对剩余的每个样本点,计算它们到各个质心的欧氏距离,并将其归入到相互间距离最小的质心所在的簇。计算各个新簇的质心。
③ 在所有样本点都划分完毕后,根据划分情况重新计算各个簇的质心所在位置,然后迭代计算各个样本点到各簇质心的距离,对所有样本点重新进行划分。
④ 重复第②步和第③步,直到迭代计算后,所有样本点的划分情况保持不变,此时说明k-均值算法已经得到了最优解,将运行结果返回。
K均值算法的缺点:k-均值算法簇的聚类中心选取受到噪声点的影响很大,因为噪声点与其他样本点的距离远,在计算距离时会严重影响簇的中心。
k-medoids算法
k-medoids算法不通过计算簇中所有样本的平均值得到簇的中心,而是通过选取原有样本中的样本点作为代表对象代表这个簇,计算剩下的样本点与代表对象的距离,将样本点划分到与其距离最近的代表对象所在的簇中。
参考《机器学习》赵卫东 董卫亮