机器学习中的聚类

1、聚类

无监督通过对无标记训练样本的学习来找到这些数据的内在性质,使用最多的就是聚类。

聚类思想:将数据划分为几个不相交的子集(也就是簇,cluster),每个簇潜在的对应某一个概念。聚类仅仅是生成cluster,但是簇的语义要由使用者自己解释。

聚类的作用:探索性方法,用来分析内在特点,寻找数据的分布规律。

如图样本点分为四个簇



2、聚类的方法
(1)k-means

即xi里那个簇均值向量最近,该样本就标记为那个簇

工作流程:随机选取k个初始点作为质心,然后将每一个点分配到离质心最近的那个簇中,完成后,每个簇的质心更改为该簇所有点的平均值

参数k:该算法需要确定参数k,常用的方法有如下:

  • 经验:使用公式k=sqrt(n/2),不过这种做法以及公式没有数学的依据
  • 肘方法:离差平方和变化最快的地方对应的簇较为合理
  • PSF(伪F算法)和PSTZ(伪T算法)
  • 交叉验证

缺点:结果的好坏决定于初始聚类中心的选择,容易陷入局部最优解,对k的选择没有准则


(2)高斯混合模型(GMM)

高斯混合模型是那些点的概率密度函数


其中u是密度中心点,常用样本的均值,∑是协方差矩阵

缺点:当样本在空间中的分布不是椭球状时,模型增多,需要确定的参数就增加


(3)密度聚类(DBSCAN)

目的就是为了过滤低密度的区域

算法思想:若为核心对象,则密度可达到的所有样本的集合记作x,可以证明x是满足连接性与最大性的簇,于是DBSCAN就选取了一个核心对象作为种子seed,发出相应的聚类簇


(4)层次聚类(AGNES)

不同层次的进行划分

算法思想:将每个对象看成一个簇,根据某些准则,一步步合并知道预设的聚类簇的个数


2、聚类涉及的问题
(1)聚类的趋势

用于聚类的数据不可均匀分布,但是如果数据多且复杂,我们用人眼无法判别是否适合聚类的时候,可以用霍普金斯统计量来检验空间的随机性。

霍普金斯步骤:

  • 从D空间中均匀获点p1~pn,,点p可以不是样本点
  • 从D中均匀获取点q1~qn,,点q是样本点
  •  如果不是均匀分布的话,yi一般会比xi小,因为yi是取样本中的点,距离一般会比样本外的点距离小,当样本是均匀分布的时候,H是接近0.5,不适合用聚类,聚类的高度越倾斜,yi会远小于xi,这时候H会接近于0

(2)评估聚类的质量

  • 外在方法:它是有基准的

Oi样本,Oj基准,当L(Oi)=L(Oj) ∩ C(Oi)=C(Oj)的时候,c=1,也就是在基准和聚类中两个分类都相等

  • 内在方法:轮廓系数,很多情况下我们是没有基准的,这时候用轮廓系数来衡量聚类的质量

选择一个类的平均数,a(0)为该类中任意一点到平均数的距离,b(0)表示其他类别到该平均数的距离

 当x(0)接近1的时候,说明该模型是紧凑的,当x(0)为负数的时候,该模型是不可取的


(3)GMM中的∑(协方差矩阵)



(4)EM算法

EM算法是聚类中常用的方法,K-means,GMM等都用到了EM算法

EM算法分为两步,每次迭代由这两部分组成:

  • E算期望值,就是求Q函数的期望,其中Q函数是收敛的
  • M极大化参数,用了极大似然估计法

算法过程:

  • 对于似然函数,求它的对数似然函数(其中x数据集在公式中是已知的,但是他来自那个模型我们却是未知的,用,1表示第i个观测来自第k个分模型,
  • E确定Q,求期望
  • M用极大似然估计法得出θ





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章