模式识别与机器学习第八章聚类

一、监督学习与非监督学习

        监督学习:给定,学习输入x与输出y之间的关系:分类、回归、排序

        非监督学习:给定,寻找数据的内在结构:概率密度估计、聚类、降维/可视化

二、聚类的相关概念        

      1.聚类

        发现数据中分组聚集的结构:根据数据中样本与样本之间的距离或相似度,将样本划分为若干组/类/簇。划分的原则:簇内样本相似、簇间样本不相似。

      2.聚类的类型

        基于划分的聚类(无嵌套):将所有的样本划分到若干不重叠的子集(簇),每个样本仅属于一个子集。

        层次聚类(嵌套):树形聚类结构,在不同层次对数据集进行划分,簇之间存在嵌套。

       3.簇的类型

  1. 基于中心的簇:簇内的点和其“中心”(质心/中心点)较为相近(或相似),和其他簇的“中心”较远,这样的一组样本形成的簇。
  2. 基于连续性的簇:相比其他任何簇的点,每个点都至少和所属簇的某一个点更近。
  3. 基于密度的簇:簇是由高密度的区域形成的,簇之间是一些低密度的区域。
  4. 基于概念的簇:同一个簇共享某种性质,这个性质是从整个结合推导出来的,通常不是基于中心、邻接、密度的。

        4.聚类分析的“三要素”

        样本间的“远近”:使用相似性/距离函数

        评价聚类出来的簇的质量:利用评价函数去评估聚类质量

        获得聚类的簇:表示簇、设计划分和优化算法、算法停止时间

三、距离度量函数

        1.距离函数

        一个距离度量函数满足:

  1. 非负性:
  2. 不可分的同一性:
  3. 对称性:
  4. 三角不等式:

        2.闵可夫斯基距离

        当p=2时,为欧氏距离

        当p=1时,为曼哈顿距离

        3.数据预处理

        4.余弦相似度

         夹角余弦:两变量xi,xj看做D维空间的两个向量,这两个向量间的夹角余弦可计算:

        5.相关系数

        

        6.杰卡德相似系数(Jacard)

         

四、聚类性能评价指标 

         1.聚类性能评价方法

        外部评价法:聚类结果与参考结果有多相近

        内部评价法:聚类的本质特点(无参考结果)

        2.参考模型

        数据集:

        聚类结果:,其中Ck表示属于类别k的样本的集合

        参考模型:

        3.外部索引

        4.簇内相似度

        5. 簇间相似度

        6.内部评价指标

         7.轮廓指数

 五、聚类算法

        1.k均值聚类(基于划分的聚类方法、基于中心的聚类方法,数据在向量空间,对于非向量空间可以用类似核函数度量相似性)

        问题:给定N个样本点进行聚类

        输入:数据,簇数目为K

  1. 随机选择K个种子数据点作为K个簇的中心
  2. repeat
  3.      for each do
  4.            计算xi与每一个簇中心 的距离
  5.            将xi指配到距离最近的簇中心:
  6.       end for
  7.       用当前的簇内点,重新计算K个簇中心位置
  8. until当前簇中心未更新

         1.本质

        优化目标函数:,其中为从属度,指示样本xi是否属于簇k,且(即每个样本点属于且仅属于一个类)

         K-means是在目标函数上进行坐标轴下降优化,J是非凸的,所以J上应用坐标下降法不能保证收敛到全局最小值。最好将K-means运行多次,选择最好的结果。

         2.K的选择——肘部法

        寻找估计目标函数风险急剧下降的地方,令表示聚成K个簇的经验风险(目标函数值),寻找第一个K,使得的改进很小,这个位置称为肘部法

        给定一个较小的数值,定义

        3.K的选择——假设检验法

         对每个K,进行假设检验:原假设H0:簇的数目为K,备择假设H1:簇的数目不为K

        从K=1开始,如果拒绝H0,则继续对K=2进行假设检验,直到接受原假设,即K为第一个不被拒绝的假设。

        假设检验:检验每个簇的分布是否为一个多元正态分布。如果不是,将簇分裂为2个簇。

       4.初始化K-means

         启发式做法:随机确定第一个类的中心,其他类的中心位置尽量远离已有类中心,Scikit-Learn中K-means实现中参数inti可设置初始值的设置方式,默认值为“k-means++”,将初始化质心彼此远离,得到比随机初始化更好的结果。

k-means:

        给定: 数据,簇数目为K

  1. 随机选择一个样本点,记为
  2. For k=2,3,...,K
  3.        for each do
  4.              计算与已有簇中心的最短距离:
  5.        end for
  6.        以下述概率抽取样本点
  7.        将这个随机抽样得到的样本点作为第k个初试的簇中心

        5.预处理和后处理

         预处理:标准化数据(e.g.缩放到单位标准差);消除离群点

        后处理:删除小的簇:可能代表离群点;分离松散的簇:簇内节点间距离之和很高;合并距离较近的簇

        6.K-means的优点与局限性

        优点:经典的聚类算法,简单、快速;能处理大规模数据,可扩展性好;当簇接近高斯分布时,效果较好;

        局限性:当簇具有不同的尺寸、密度、非球形时,K-means会存在问题;K-means可能得不到理想的聚类结果;硬划分数据点到簇,当数据上出现一些小扰动,可能会导致一个点划分到另外的簇。

——>

        使用更大数量的簇,用几个小的簇表示一个真实的簇;使用基于密度的方法。

        高斯混合模型:假定簇为球形且每个簇的概率相等。

        7.K-medoids

         均值作为中心易受影响,换用簇的中位点做为中心。

        对比:1.均值极有可能不存在,不足以代表该簇的样本,而中值是一个样本集合中真实存在的一个样本点;2.相对均值,中值对噪声(孤立点、离散点)不那么敏感;3.但是中值计算需要对簇内所有样本进行排序,计算费用高。

        2.高斯混合模型和EM算法

        1.高斯混合模型

        概率解释:假设有K个簇,每个簇服从高斯分布,以概率随机选择一个簇k,从其分布中采样出一个样本点,如此得到观测数据

        概率密度函数:

         模型参数:

        2.引入隐含变量

         为每个样本点x关联一个K维的隐含变量,指示样本x所属的簇(one-hot向量),其对应的随机向量用Z表示。如果已知z的取值,如x属于第k簇,则 

 

        参数估计:极大似然估计

        最大化对数似然函数

        3.求解方法:EM算法

        类似K均值聚类,采用(块)坐标轴下降,称为EM算法

        E步:基于目前参数值,推断隐含变量的信息(后验概率/期望)

        

        可看做是对从属于第k个簇的一种估计或者“解释”

        M步:基于当前的期望,重新估计参数的值

         

        4.通用的EM算法

         

        5.EM for GMM

        

        6.K-means与高斯混合模型(GMM)

         K-means:损失函数为最小化平方距离的和;样本点硬划分到某个簇;假定样本属于每个簇的概率相等,且为球形簇。

        GMM:最小化负对数似然;点到簇的从属关系为软分配;可以被用于椭圆形簇,且各个簇概率不同。

        3.层次聚类

         产生树形嵌套的簇,可被可视化为树状图

        1.层次聚类的优点

         优点:不需要提前假定簇的数目:通过选择树状图的某一层可以获得任意簇数量的聚类结构;聚类结果可能对应着有意义的分类体系。

        2.层次聚类的分类

  • 自底向上(凝聚式,更流行):递归的合并相似度最高/距离最近的两个簇
  • 自顶向上(分裂式):递归地分裂最不一致的簇(例如:具有最大直径的簇)

        3.定义簇间相似性

  • 最小距离:优势:可形成非球形、非凸的簇;问题:链式效应
  • 最大距离:对噪声更加鲁棒(不成链);问题:趋向于拆开大的簇,偏好球形簇
  • 平均距离:最小距离和最大距离的折中方案
  • 中心点距离:问题:反向效应(后边合并的簇间距离可能比之前合并的簇间距离更近)
  • Ward's方法使用平方误差:两个簇的相似性基于两个簇融合后平方误差的增加:更少受噪声和离群点影响;倾向于球形簇;K-means的层次化版本,可以初始化K-means

        4.层次聚类的簇数目确定

        簇的数目:树状图中垂直线的数量,垂直线由水平线切割而成,水平线可以垂直穿过最大距离而不与聚类相交。

        5.层次聚类的限制

        贪心:一旦簇被合并或者拆分,过程不可逆。

        没有优化一个全局的目标函数,不同方法存在以下一个或者多个问题:对噪声和离群点敏感;比较难处理不同尺寸的簇和凸的簇;成链,误把大簇分裂。

        4.基于密度的聚类

        1.基于密度的聚类 

        基于密度的聚类:临近的密度高的区域练成一片形成簇。优点:各种大小、各种形状的簇;具有一定的抗噪音特性。

        2.DBSCAN

        密度=给定半径内点的个数

        核心点:指定半径内多于指定数量MinPts个点

        边界点:半径内有少于MinPts个点,但在某个核心点的邻域内

        噪声点:核心点和边界点之外的点

         点q由点p密度可达:连接两个点的路径上所有的点都是核心点。(如果p是核心点,那么由它密度可达的点形成一个簇。)

        点q和点p是密度相连的:如果存在点o从其密度可达点q和点p。

        聚类的簇满足两个性质:1.连接性:簇内的任意两点是密度相连的。2.最大性:如果一个点从一个簇中的任意一点密度可达,则该点属于该簇。

        DBSCAN算法:

  1. 初始化核心点集合:
  2. #确定核心点
  3. for i=1,2,...,N
  4.       确定样本点xi的领域内的样本
  5.       if
  6.            则将样本xi加入核心点集合:
  7.       end if
  8. end for
  9. 初始化簇的数目K=0,未访问过的点集合
  10. #对所有核心点
  11. while do
  12.       记录当前未访问过的点集合
  13.        随机选择一个核心点,初始化队列
  14.        
  15.        while do
  16.               去除队列Q中的首个样本点q
  17.               if
  18.                      为邻域中未访问过的点
  19.                      将中的点加入队列Q
  20.                     
  21.               end if
  22.        end while
  23. K=K+1,

        对DBSCAN的分析:优势:不需要明确簇的数量;任何形状的簇;对离群点较为鲁棒。劣势:参数选择比较困难;不适合密度差异较大的数据集;需计算每个样本的邻居点,操作耗时,即使使用k-d tree索引等技术加速计算,算法的时间复杂度为

        3.聚类中心

         pi:点i的局部密度

        截断核:,其中,dc为截止距离,pi为点i距离小于dc的点的数目

        Gaussian核:

         到其他高密度点的距离(相对距离)

  •  的降序排序的索引,即

 

  • 局部密度大,且相对距离大的点,可以看成是一个聚类中心。

         4.基于图的聚类

        所有数据点构成相似图:带权无向图

        结点集合,N表示节点数目,vi表示数据点xi。结点之间可以用边连接:边的集合,其中ei,j表示结点vi和vj之间边,其权重wi,j:结点vi和vj的相似性。相似的两个结点之间的边权重值较高,不相似的两个结点之间的边权重值较低。

        聚类:对所有数据点组成的相似图进行切图。不同的子图间边权重和尽可能的低,子图内的边权重和尽可能高。

        1.边的创建

        两个准则:邻域:如果,结点vi和vj之间连一条边;K近邻:如果xi是xj的K个最近邻之一且/或xj是xi的K个最近邻之一,则结点vi和vj之间连一条边。

        2.边的权重

        定义矩阵W为邻接矩阵,元素wi,j表示结点vi和vj的相似度,即为边ei,j的权重。

         通常两个结点之间的相似度可取:,其中

         两个常见的边权重计算方式:

         

        3.图论基础

         邻接矩阵W:所有点之间的权重值wi,j,构成图的邻接矩阵W,这是一个N*N的对称矩阵。

        度矩阵D:每个点度构成N*N的度矩阵D。结点vi的度di定义为和它相连的所有边的权重之和,即

        D是对角矩阵,第i行的主对角线元素值,为结点vi的度数。

        Laplace矩阵L:L=D-W

  1. L是对称矩阵,所有特征值都是实数。
  2. 对于任意的向量f:
  3. 拉普拉斯矩阵L是半正定的,且对应的N个实数特征值都大于等于0,即
  4. L的最小特征值是0,且特征值0所对应的特征向量为全1向量;
  5. L的特征值中“0”出现的次数是图连通区域的个数。

        规范化的拉普拉斯矩阵

        对称Laplace矩阵:,随机游走Laplace矩阵:

        性质: 1.对于任意向量f,。2.如果Lrm的特征值为,对应的特征向量为v,则是Lsym的特征值,是对应的特征向量。3 .如果Lrm的特征值为,对应的特征向量为v,当且仅当是广义特征值问题的解。

        切图:

        无向图G的切图:将图G(V,E)切成互不连接的K个子图,每个子图点的集合为,满足

        切图权重:对任意两个子图点的集合定义A,B之间的切图权重为:

         切图:对K个子图点的集合,定义切图为,其中的补集。

        最佳分割:图的切图最小。缺点:切图权重与边的数目成正比;倾向于剪切成小的、孤立的成分。

        规范化剪切:定义子集的体积为与A相连的边的权重:,则规范化剪切为

        4.优化目标

        目标函数:

        矩阵P的表示:

        矩阵O的表示:

        矩阵Q的表示: 

        优化目标

        变换,则,优化目标为

        5.Ncuts特征值分解

  1.  根据输入的相似矩阵构建邻接矩阵W和度矩阵D
  2. 计算出拉普拉斯矩阵L
  3. 构建规范化的对称拉普拉斯矩阵:/
  4. 计算Lsym/Lrm最小的K1个特征值对应的特征向量vk,k=1,..,K1
  5. 将vk作为矩阵V的列,得到N*K1维的特征矩阵V,(Lsym:并将V每行规范化(模长为1))
  6. 对V中的每一行作为一个K1维的样本,共N个样本作为输入进行聚类,聚类类别数为K2
  7. 得到簇分布

        6.优缺点

        优点:可灵活选择邻接矩阵;对稀疏数据的聚类效果很有效;当聚类的类别个数较小时,谱聚类的效果好;建立在谱图理论上,能在任意形状的样本空间上聚类,且收敛于全局最优解。

        缺点:对相似图和聚类参数的选择非常敏感;适用于簇大小均衡的问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值