目录
一。聚类的定义
二。相似度/距离计算方法总结
1.闵可夫斯基距离Minkowski/欧式距离
2.杰卡德相似系数(Jaccard)
3.余弦相似度(cosine similarity)
4.Pearson相似系数
5.相对熵(K-L距离)
6.Hellinger距离
三。聚类的基本思想
四。k-Means算法
五。对k-Means的思考
六。k-Means的公式化解释
七。k-Means聚类方法总结
八。Canopy算法
九。聚类的衡量指标
十。 ARI
十一。AMI
十二。轮廓系数(Silhouette)
十三。层次聚类方法
1.凝聚的层次聚类:AGNES算法
2.分裂的层次聚类:DIANA算法
十四。密度聚类方法
1.DBSCAN
2.密度最大值算法
十五。DensityPeak与决策图Decision Graph
十六。边界和噪声的重认识
十七。不同数据下密度最大值聚类的效果
十八。谱和谱聚类
十九。谱分析的整体过程
一。聚类的定义
聚类就是对大量未知标注的数据集,按数据的内在相似性将数据集划分为多个类别,使类别内的数据相似度较大而类别间的数据相似度较小。属于无监督学习。
二。相似度/距离计算方法总结
1.闵可夫斯基距离Minkowski/欧式距离
2.杰卡德相似系数(Jaccard)
3.余弦相似度(cosine similarity)
4.Pearson相似系数
n维向量x和y的夹角记做θ,根据余弦定理,其余弦值为:
这两个向量的相关系数是:
相关系数即将x、y坐标向量各自平移到原点后的夹角余弦!
这即解释了为何文档间求距离使用夹角余弦——因为这一物理量表征了文档去均值化后的随机向量间相关系数。
5.相对熵(K-L距离)
6.Hellinger距离
该距离满足三角不等式,是对称,非负距离
三。聚类的基本思想
给定一个有N个对象的数据集,构造数据的k 个簇,k≤n。满足下列条件:
每一个簇至少包含一个对象
每一个对象属于且仅属于一个簇
将满足上述条件的k个簇称作一个合理划分
基本思想:对于给定的类别数目k,首先给出初始划分,通过迭代改变样本和簇的隶属关系,使得每一次改进之后的划分方案都较前一次好。
四。k-Means算法
k-Means算法,也被称为k-平均或k-均值,是一种广泛使用的聚类算法,或者成为其他聚类算法的基础。
假定输入样本为S=x1,x2,...,xm,则算法步骤为:
中止条件:迭代次数/簇中心变化率/最小平方误差MSE(MinimumSquaredError)
五。对k-Means的思考
k-Means将簇中所有点的均值作为新质心, 若簇中含有异常点,将导致均值偏离严重。 以一维数据为例:
数组1、2、3、4、100的均值为22,显然距离 “大多数”数据1、2、3、4比较远
改成求数组的中位数3,在该实例中更为稳妥。
这种聚类方式即k-Mediods聚类(K中值距离)
六。k-Means的公式化解释
七。k-Means聚类方法总结
优点:
是解决聚类问题的一种经典算法,简单、快速
对处理大数据集,该算法保持可伸缩性和高效率
当簇近似为高斯分布时,它的效果较好
缺点
在簇的平均值可被定义的情况下才能使用,可能不适用于某些应用
必须事先给出k(要生成的簇的数目),而且对初值敏感, 对于不同的初始值,可能会导致不同结果。
不适合于发现非凸形状的簇或者大小差别很大的簇
对躁声和孤立点数据敏感
可作为其他聚类方法的基础算法,如谱聚类
八。Canopy算法
虽然Canopy算法可以划归为聚类算法,但更多的可以使用Canopy算法做空间索引,其时空复杂度都很出色,算法描述如下:
九。聚类的衡量指标
十。 ARI
十一。AMI
十二。轮廓系数(Silhouette)
十三。层次聚类方法
层次聚类方法对给定的数据集进行层次的分解,直 到某种条件满足为止。具体又可分为:
1.凝聚的层次聚类:AGNES算法
一种自底向上的策略,首先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到某个终结条件被满足。两个簇间的距离由这两个不同簇中距离最 近的数据点对的相似度来确定;聚类的合并过程反 复进行直到所有的对象最终满足簇数目。
最小距离
两个集合中最近的两个样本的距离
容易形成链状结构
最大距离
两个集合中最远的两个样本的距离complete
若存在异常值则不稳定
平均距离
1、两个集合中样本间两两距离的平均值average
2、两个集合中样本间两两距离的平方和ward
2.分裂的层次聚类:DIANA算法
算法是上述过程的反过程,属于分裂的层次聚类,首先将所有的对象初始化到一个簇中,然后根据一些原则(比如最大的欧式距离),将该簇分类。直到到达用户指定的簇数目或者两个簇之间的距离超过了某个阈值。采用自顶向下的策略,它首先将所有对象臵于一个簇中,然后逐渐细分为越来越小的簇,直到达到了某个终结条件。
十四。密度聚类方法
密度聚类方法的指导思想是,只要样本点的密度大于某阈值,则将该样本添加到最近的簇中。这类算法能克服基于距离的算法只能发现“类圆形”(凸)的聚类的缺点,可发现任意形状的聚类,且对噪声数据不敏感。但计算密度单元的计算复杂度大,需要建立空间索引来降低计算量。
1.DBSCAN
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)
一个比较有代表性的基于密度的聚类算法。与划分和层次聚类方法不同,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在有“噪声”的数据中发现任意形状的聚类。
对象的ε-邻域:给定对象在半径ε内的区域。
核心对象:对于给定的数目m,如果一个对象的ε- 邻域至少包含m个对象,则称该对象为核心对象。
直接密度可达:给定一个对象集合D,如果p是在q 的ε-邻域内,而q是一个核心对象,我们说对象p从 对象q出发是直接密度可达的。
如图ε=1cm,m=5,q是一个核 心对象,从对象q出发到对象p是 直接密度可达的。
DBSCAN算法流程:
如果一个点p的ε-邻域包含多于m个对象,则创建一个p作 为核心对象的新簇;
寻找并合并核心对象直接密度可达的对象;
没有新点可以更新簇时,算法结束。
有上述算法可知:
每个簇至少包含一个核心对象;
非核心对象可以是簇的一部分,构成了簇的边缘(edge);
包含过少对象的簇被认为是噪声。
2.密度最大值算法
密度最大值聚类是一种简洁优美的聚类算法,可以识别各种形状的类簇,并且参数很容易确定。
十五。DensityPeak与决策图Decision Graph
左图是所有点在二维空间的分布, 右图是以ρ为横坐 标, 以δ为纵坐标绘制的决策图。可以看到,1和10 两个点的ρi和δi都比较大,作为簇的中心点。26、 27、28三个点的δi也比较大,但是ρi较小,所以是 异常点。
十六。边界和噪声的重认识
在聚类分析中,通常需要确定每 个点划分给某个簇的可靠性:
在该算法中,可以首先为每个簇定义一个边界区域 (border region),亦即划分给该簇但是距离其他簇的 点的距离小于dc的点的集合。然后为每个簇找到其边 界区域的局部密度最大的点,令其局部密度为ρh。
该簇中所有局部密度大于ρh的点被认为是簇核心的一部分(亦即将该点划分给该类簇的可靠性很大),其余的点被认为是该类簇的光晕(halo),亦即可以认为是噪声。
注:关于可靠性问题,在EM算法中仍然会有相关涉及。
A图为生成数据的概率分布,B,C二图为分别从该分布中生成了4000,1000个点.D, E分别是B,C两组数据的决策图(decision tree),可以看到两组数据都只有五个点有比较大的pi和很大的61.这些点作为类簇的中心,在确定了类簇的中心之后,每个点被划分到各个类簇(彩色点),或者是划分到类簇光晕(黑色点).F图展示的是随着抽样点数量的增多,聚类的错误率在逐渐下降,说明该算法是鲁棒的.
十七。不同数据下密度最大值聚类的效果
十八。谱和谱聚类
方阵作为线性算子,它的所有特征值的全体统称方阵的谱。
方阵的谱半径为最大的特征值
矩阵A的谱半径:(ATA)的最大特征值
谱聚类是一种基于图论的聚类方法,通过对样本数据的拉普拉斯矩阵的特征向量进行聚类,从而达到对样本数据聚类的目的。
十九。谱分析的整体过程
给定一组数据x1,x2,...xn,记任意两个点之间的相似度(―距离”的减函数)为sij=<xi,xj>,形成相似度图(similaritygraph):G=(V,E)。如果xi和xj之间的相似度sij大于一定的阈值,那么,两个点是连接的,权值记做sij。
接下来,可以用相似度图来解决样本数据的聚类问题:找到图的一个划分,形成若干个组(Group),使得不同组之间有较低的权值,组内有较高的权值。