聚类篇

聚类篇:

聚类算法是无监督学习算法

基本原则:希望族(类)内的相似度尽可能高,族(类)间的相似度尽可能低(相异度尽可能高)。

聚类分析是数据挖掘中的一个很活跃的研究领域,并提出了许多聚类算法。传统的聚类算法可以被分为五类:划分方法,层次方法,基于密度方法,基于网格方法和基于模型方法。

①划分方法:首先创建K个划分,K为要创建的划分个数;然后利用一个循环定位技术通过将对象从一个划分移到另一个划分来帮助改善划分质量,其中典型的划分方法包括:K-means,K-medoids,CLARA(Clustering LARge Application),FCM

CLARANS(Clustering Large Application based upon RANdomized Search);

②层次方法:创建一个层次以分解给定的数据集,其操作方式可以分为自上而下和自下而上两种,通常与其它聚合方式结合使用;这类典型方法包括:BIRCH方法,它首先利用树的结构对对象集进行划分;然后再利用其它聚类方法对这些聚类进行优化;ROCK方法,利用聚类间的连接进行聚类合并

③基于密度的方法:根据密度完成对象的聚类,它根据对象周围的密度不断增长聚类。典型的基于密度方法的算法包括:例如OPTICS并不明确产生一个聚类,而是为自动交互的聚类分析计算出一个增强聚类顺序,DBSCAN通过不断生长足够高密度区域来进行聚类;

④基于网格的方法:首先将对象空间划分为有限个单元以构成网格结构;然后利用网格结构完成聚类。典型算法有:STING,其中CLIQUE和Wave-cluster则是一个将基于网格与基于密度相结合的方法;

⑤基于模型的方法:它假设每个聚类的模型并发现适合相应模型的数据。

K-means算法(K 均值算法):

应该是聚类算法中最为基础但也最为重要的算法。其算法流程如下:

  1. 随机的取 k 个点作为 k 个初始质心;
  2. 计算其他点到这个 k 个质心的距离;
  3. 如果某个点 p 离第 n 个质心的距离更近,则该点属于 cluster n,并对其打标签,标注 point p.label=n,其中 n<=k;
  4. 计算同一 cluster 中,也就是相同 label 的点向量的平均值,作为新的质心;
  5. 迭代至所有质心都不变化为止,即算法结束。

终止条件一般有迭代次数,族中心变化率,最小平方误差MSE (Minimum Squared Error)等。

它的迭代过程如下:

随机挑选两个点作为聚类中心(cluster centroids),K-均值算法是一个迭代过程,分为两部分,第一为簇分类,第二为移动聚类中心。

 

所谓的的簇分类是将图中所有的绿色样本点根据其距离蓝色、红色中心点距离,分配到簇中。如下图:



接下来将染色的点计算它们的平均值(平均下来的位置)此时将相应的聚类中心移动到这个均值处。


 


继续迭代,有:


 

 

此时继续迭代,聚类中心将不会再做改变。


 

算法缺陷:k个族心初始点需要提前设定好,但现实情况中,不同场景下的k个族质心往往相差很大,在k值不会太大,应用场景不明确时,可以通过迭代求解损失函数最小时对应的k值。不同的随机种子点得到的结果完全不同。

 层次聚类算法:

层次聚类分为凝聚式层次聚类和分裂式层次聚类:凝聚式层次聚类就是在初始阶段将每一个点都视为一个簇,之后每一次合并两个最接近的簇,当然对于接近程度的定义则需要制定簇的临近准则;分裂式层次聚类,就是在初始阶段将所有的点视为一个簇,之后每次分裂一个簇,直到最后剩下单个点的簇为止。

凝聚式层次聚类算法也是一个迭代的过程,算法流程如下:

  1. ①每次选最近的两个簇合并,我们将这两个合并后的簇称之为合并簇。
  2. ②若采用 MAX 准则,选择其他簇与合并簇中离得最远的两个点之间的距离作为簇之间的邻近度。若采用 MIN 准则,取其他簇与合并簇中离得最近的两个点之间的距离作为簇之间的邻近度。若组平均准则,取其他簇与合并簇所有点之间距离的平均值作为簇之间的邻近度。
  3. 重复步骤 1 和步骤 2,合并至只剩下一个簇。

DBSCAN算法详解及实现:当点的分布不均匀,形状不规则时,Kmeans算法及层次聚类算法将面临失效的风险,其算法流程如下:

(1)设定扫描半径Eps,并规定扫描半径内的密度值。若当前点的半径范围内密度大于等于设定的密度值,则设置当前点为核心点;若某点刚好在某核心点的半径边缘上,则设定此点为边界点;若某点既不是核心点也不是边界点,则此点为噪声点;

(2)删除噪声点;

(3)将距离在扫描半径内的所有核心点赋予边进行联通;

(4)每组联通的核心点标记为一个簇;

(5)将所有边界点指定到与之对应的核心点的簇总;

通过计算各点之间的欧式距离及其所在扫描半径内的密度值来判断这些点属于核心点,边界点或噪声点

P0点为边界点,因为在以其为中心的扫描半径内只有两个点P0和P1;

P1点为核心点,因为在以其为中心的扫描半径内有四个点P0,P1,P2,P3;

P8为噪声点,因为其既非核心点,也非边界点;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值