Deep Learning笔记之一:K-means特征聚类算法

非监督学习:一些聚类算法

     聚类是数据挖掘中用来发现数据分布和隐含模式的一项重要技术,聚类分析是指事先不了解一批样品中的每个样品的类别或者其他的先验知识,而唯一的分类依据是样品的特征,利用某种相似性度量的方法,把特征相同的或相近的分为一类,实现聚类分析。

下面介绍五种聚类方法,每个算法的使用是有限的,不同的聚类酸腐蚀可以解决不同的问题。

(一)K-means聚类

K均值算法是一种常用的动态聚类算法,K均值算法能够使聚类集中所有样本到聚类中心的距离和最小。原理为:先选K个初始距离中心,计算每个样本到这K个中心的距离,找出最小距离把样本归入最近的聚类中心,然后对中心进行修改,得到新的K个中心,再计算样本到K个中心的距离,重新归类,重新计算中心,修改中心。直到新的聚类中心等于聚类中心则结束。修改聚类中心的准则函数是:

《Deep Learning笔记之一:K-means特征聚类算法》

《Deep Learning笔记之一:K-means特征聚类算法》

K均值方法的特点:该算法的特点是运算结果受所选的聚类中心的数目,初始位置,模式样本的几何性质以及读入的次序的影响。在实际运用时,要试探选择不同的K值和起始聚类中心。如果模式样本为N个孤立的区域分布,则一般都能得到收敛结果。

 

(二)Kmedoid方法

Kmedoid方法同Kmeans方法类似,它们之间的差别就是Kmedoid方法中的最新的聚类中心是集合中的点到原来聚类中心的点最近距离的点,即:聚类中心都是集合中的点

《Deep Learning笔记之一:K-means特征聚类算法》

 
通过算法过程可以发现,该算法与Kmeans方法除了第三步不同外,其他的过程都是相同的。

下面给出Kmeans方法与Kmedoid方法对同一组数据的聚类结果。

《Deep Learning笔记之一:K-means特征聚类算法》
《Deep Learning笔记之一:K-means特征聚类算法》

该图为Kmeans方法分为3类和4类的结果.可以发现该聚类中心并不是集合中本身的点

《Deep Learning笔记之一:K-means特征聚类算法》《Deep Learning笔记之一:K-means特征聚类算法》

图为用Kmeans方法得到的3类和4类的结果

从图中可以看出,Kmedoid方法分类中,聚类中心点全是集合本身的点,且与Kmeans方法比较,聚类中心点近似的,且分类结果也差不多。

注:Kmeans方法和Kmedoid方法对初始值要求比较敏感,且要求各类的密度差不多。

(三)谱聚类

 为了能在任意形状的样本空间上聚类,且收敛于全局最优解,现研究利用谱方法来聚类。谱方法聚类是由数据点间相似关系建立矩阵,获取该矩阵的前n个特征向量,并且用它们来聚类不同的数据点。谱聚类方法建立在图论中的谱图理论上。谱聚类算法将数据集中的每个对象看作是图的顶点V,将顶点间的相似度量化作为相应顶点连接边E的权值,这样就得到一个基于相似度的无向加权图G(V, E),于是聚类问题就可以转化为图的划分问题。基于图论的最优划分准则就是使划分成的子图内部相似度最大,子图之间的相似度最小。

针对这个问题,Shi和MalikEz提出了基于将图划分为两个子图的2-way目标函数Ncut:

《Deep Learning笔记之一:K-means特征聚类算法》

我们可以看出改进后目标函数不仅满足类间样本间的相似度小,也满足类内样本间的相似度大。

《Deep Learning笔记之一:K-means特征聚类算法》

《Deep Learning笔记之一:K-means特征聚类算法》

对应于第二最小特征值对应的特征向量X2则包含了图的划分信息。人们可以根据启发式规则在X2寻找划分点i,使得值大于等于X2i的划为A类,而小于X2i的划为B类。

注:L=D-W称为Laplacian矩阵:

Laplacian矩阵是对称半正定矩阵,因此它的所有特征值是实数且是非负的:如果G是c个连接部件,那么L有c个等于0的特征向量。如果G是连通的,第二个最小特征值不为0,则它是G的连接代数值(Fiedter-value)。其对应的特征向量为Fiedler向量。

具体算法叙述如下:

Stept1:通过样本集建立无向加权图G,根据G构造W和D;

Stept2:计算L=D-W的第二最小特征值及对应的Fiedler向量;

Stept3:根据启发式规则在寻找划分点i,使得值大于等于X2i的划为A类,而 小于X2i的划为B类;

注:对于大于2类的k情况,在第二步中取L的除了最小特征值外剩下的k个特征值和对应的特征向量。然后对特征向量空间的特征向量用k-means方法聚类。

(四)模糊C-means 方法

   模糊聚类算法是一种基于函数最优方法的聚类算法,使用微积分计算技术求最优代价函数,在基于概率算法的聚类方法中将使用概率密度函数,为此要假定合适的模型,模糊聚类算法的向量可以同时属于多个聚类。

K-均值算法在聚类过程中,每次得到的结果虽然不一定是期望的结果,但类别之间的边界是明确的,聚类中心根据各类当前具有的样本进行修改。模糊C-均值算法在聚类过程中,每次得到的类别边界任然是模糊的,每次聚类中心的修改都要用到所有的样本,此外,聚类准则也体现了模糊行。

现先虑属度解释,隶属度函数是表示一个对象隶属于集合A的程度的函数,通常记做,其自变量范围是所有可能属于集合A的对象(即集合A所在空间中的所有点),取值范围是[0,1],即。表示完全隶属于集合A,相当于传统集合概念上的。一个定义在空间上的隶属度函数就定义了一个模糊集合A,或者叫定义在论域上的模糊子集。对于有限个对象模糊集合可以表示为:

《Deep Learning笔记之一:K-means特征聚类算法》

有了模糊集合的概念,一个元素隶属于模糊集合就不是硬性的了,在聚类的问题中,可以把聚类生成的簇看成模糊集合,因此,每个样本点隶属于簇的隶属度就是[0,1]区间里面的值。

对于模糊C均值聚类算法的步骤还是比较简单的,模糊C均值聚类(FCM),即众所周知的模糊ISODATA,是用隶属度确定每个数据点属于某个聚类的程度的一种聚类算法。1973年,Bezdek提出了该算法,作为早期硬C均值聚类(HCM)方法的一种改进。

  FCM把n个向量分为c个模糊组,并求每组的聚类中心,使得非相似性指标的价值函数达到最小。FCM用模糊划分,使得每个给定数据点用值在[0,1]间的隶属度来确定其属于各个组的程度。与引入模糊划分相适应,隶属矩阵U允许有取值在[0,1]间的元素。不过,加上归一化规定,一个数据集的隶属度的和总等于1:

《Deep Learning笔记之一:K-means特征聚类算法》

《Deep Learning笔记之一:K-means特征聚类算法》

具体步骤叙述如下:

Stept1:确定模式类别数C,C小于样本总数N。

Stept2:用值在[0,1]间的随机数初始化隶属矩阵,使其满足式上式中的约束条件,其中表示第j个元素对第i类的隶属度。且矩阵的每列元素之和等于1.

Stept3:求各类的聚类中心,L为迭代的次数。

《Deep Learning笔记之一:K-means特征聚类算法》

《Deep Learning笔记之一:K-means特征聚类算法》

参数C,m的选择:

模糊C-算法需要两个参数一个是聚类数目C,另一个是参数m。一般来讲C要远远小于聚类样本的总个数,同时要保证C>1。对于m,它是一个控制算法的柔性的参数,如果m过大,则聚类效果会很次,而如果m过小则算法会接近HCM聚类算法。

下面给出K-means方法和模糊C-means方法对某组样本的聚类结果:

《Deep Learning笔记之一:K-means特征聚类算法》《Deep Learning笔记之一:K-means特征聚类算法》《Deep Learning笔记之一:K-means特征聚类算法》图1是C=5,m=2的聚类结果,图2是C=5,m=10的聚类结果,显然m=2的聚类结果要好于m=10的聚类结果。图3是用K-means得到的结果。得到的聚类中心还是有些许差别,但大体还是一致的。

(五)支持向量机聚类

支持向量聚类(Support Vector Clustering, SVC)属于核聚类的一种,它以支持向量机(Support Vector Machine, SVM)为工具进行聚类。它是Ben-Hur等在基于高斯核的SVDD(Support Vector Domain Description)算法基础上进一步发展起来的无监督非参数型的聚类算法。其思想源于用支持向量寻找数据集中的孤立点,下面将具体的介绍支持向量机聚类算法。

SVC的基本思想是:将样本点经过一个非线性映射映射到一个高维特征空间,并在此空间寻找一个包围所有样本点的且具有最小半径的超球体,将该球体逆映射回原输入空间,位于球表面的点即为支持向量。SVC通过二次规划问题求解,能得到全域最优解。其算法主要包含两部分:基于支持向量机训练和聚类标识。

 

具体步骤叙述如下:

《Deep Learning笔记之一:K-means特征聚类算法》

《Deep Learning笔记之一:K-means特征聚类算法》

满足的点位于超球体内,是位于簇的内部的点。满足的点位于超球体球面上,称为非限定的支持向量,它们描述了数据簇的轮廓。满足的点位于超球体外,称为限定的支持向量,即孤立点。

《Deep Learning笔记之一:K-means特征聚类算法》

Stept7:A对应了数据集得联通状态图,计算此图上的连 通分量,每一连通分量表示一个簇。

《Deep Learning笔记之一:K-means特征聚类算法》

    原文作者:聚类算法
    原文地址: https://blog.csdn.net/gdut2015go/article/details/46345751
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞