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用极大似然估计法得出θ