《机器学习及其Python实践 (5).pdf》由会员分享,可在线阅读,更多相关《机器学习及其Python实践 (5).pdf(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、机器学习及其Python实践第5章 聚类问题第5章 聚类问题 聚类(clustering)是一种特殊的分类问题 分类分类是根据有标注数据集来训练模型,学习人们预先设定的类别概念,属于有监督学习 聚类聚类则是根据无标注数据集训练模型,即根据数据自身的分布特性或结构,自动将数据聚集成簇簇(cluster),形成类别概念,它属于无监督学习第5章 聚类问题 给定无标注数据集 设计聚类算法训练模型,将数据集D划分成k个不相交的簇 今后任给新的样本特征,也可以通过聚类模型将其划归某一类簇=1,2,=1,且若 ,则=.5.1 聚类问题的提出 分类问题 聚类问题 为便于后续讲解,这里对概率符号做一下简化,将离
2、散型概率分布 =或连续型概率密度 统一记作 =,=,,|=|.=,,=,,=|.=,;,;,;.5.1 聚类问题的提出 分类问题5.1 聚类问题的提出 分类问题5.1 聚类问题的提出 聚类问题 数据集只包含各样本点分类特征,其对应的类别标注未知,我们称分类特征是可观测可观测的变量 类别则是不可观测的变量(隐变量隐变量,hidden variable;或潜变量,latent variable)=1,1,2,2,=1,2,;,阚道宏5.1 聚类问题的提出 聚类问题 数据集只包含各样本点分类特征,其对应的类别标注未知,我们称分类特征是可观测可观测的变量 类别则是不可观测的变量(隐变量隐变量,hidd
3、en variable;或潜变量,latent variable)=1,1,2,2,=1,2,;,5.1 聚类问题的提出 聚类问题 数据集只包含各样本点分类特征,其对应的类别标注未知,我们称分类特征是可观测可观测的变量 类别则是不可观测的变量(隐变量隐变量,hidden variable;或潜变量,latent variable)=1,1,2,2,=1,2,;,5.1 聚类问题的提出 混合概率模型及其参数估计问题含隐变量的最优化问题:EM算法5.2 EM算法 EM算法是一种迭代算法,主要用于求解含含隐变量隐变量的最优化问题 任给初始参数0,EM算法的关键步骤是:第次迭代时如何将参数从1更新到,
4、使得对数似然函数ln =ln;的函数值逐步上升ln ln 1阚道宏5.2 EM算法 问题描述5.2 EM算法 算法准备:Jensen不等式阚道宏5.2 EM算法 任给初始参数0,迭代更新参数ln ln 1=1=1.(5 19)=argmax,1.5 26=,ln=max,1.(5 27)5.2 EM算法=argmax,1.5 26=,ln=max,1.(5 27)5.2 EM算法阚道宏5.2 EM算法 EM算法步骤阚道宏5.2 EM算法 高斯混合模型(Gaussian Mixture Model,简称GMM)5.2 EM算法 高斯混合模型(Gaussian Mixture Model,简称GM
5、M)记=,,首先选择初始参数0=0,0,然后迭代执行EM算法的E步和M步。5.2 EM算法 高斯混合模型参数估计算法,1=1=1|;1ln,;.(5 44)|;1,1=1=1ln+ln1212ln2122 2.=1=1,2=1 2=1,=1=1,=1,2,.阚道宏5.2 EM算法 三硬币模型阚道宏5.2 EM算法 三硬币模型;=1;=01 1 ;=+1 0;=01 0 0;=1 +1 1 .=1,2,ln =ln=1;=1ln;.EM算法5.3 均值聚类与基于概率模型的聚类方法不同,均值聚类(-means clustering)是一种基于距离的聚类方法,其中表示类别的个数假设有个类,每个类有一
6、个中心点。直观上看,样本点离哪个类的中心点距离近就应该划归哪个类均值聚类需要将划分成个不相交的簇(cluster)首先为每个簇建立一个能够代表该簇的原型(prototype,即中心点),然后将各样本点划归距离最近原型所代表的簇均值聚类以簇中样本的均值作为该簇的原型,每个簇构成一类,共个=1,2,=1,2,1,2,5.3 均值聚类 均值聚类的算法步骤 数据预处理 距离度量 均值初始化 均值迭代 数据集聚类 均值聚类算法需通过预处理对数据集进行标准化,也即消除量纲,统一不同特征项的取值范围=1,2,5.3 均值聚类 均值聚类的算法步骤 数据预处理 距离度量 均值初始化 均值迭代 数据集聚类 欧式距
7、离 非数值型特征,=1 2 2 =12,=1 22=12=1,2,5.3 均值聚类 均值聚类的算法步骤 数据预处理 距离度量 均值初始化 均值迭代 数据集聚类 随机选取个样本点=1,2,0=10,20,05.3 均值聚类 均值聚类的算法步骤 数据预处理 距离度量 均值初始化 均值迭代 数据集聚类 标注样本 更新均值=1,2,1=argmin=1,2,122,=1,2,.=111,=1,2,.5.3 均值聚类 均值聚类的算法步骤 数据预处理 距离度量 均值初始化 均值迭代 数据集聚类 最优参数 最终标注=1,2,=1,2,=argmin=1,2,22,=1,2,.5.3 均值聚类 均值聚类算法的
8、收敛性 迭代中的标注样本相当于EM算法中的E步 迭代中的更新均值相当于EM算法中的M步,1=1 1ln,;.,1=1 22=.=argmax,1=argmin.5.3 均值聚类 超参数值的选择 通过可视化观察数据分布情况,给出一个相对合理的值 为值选取一组候选值,然后使用网格搜索法 仅将预设的值看作预估值,聚类时再根据数据的实际分布进行合并、分裂操作,ISODATA(Iterative Self-Organizing Data Analysis Techniques Algorithm)聚类5.3 均值聚类 初始均值的选择 从数据集中随机选取 个初始均值应尽量散开,在选择均值0时,距前 1个
9、10,20,10越远的样本点被选作0的概率应当越大,-means+聚类 轮廓系数(silhouette coefficient)=,,1 +1.=1=1,1 +1.阚道宏5.3 均值聚类 使用scikit-learn库中的均值聚类模型5.4 密度聚类DBSCAN 与均值聚类基于样本距离的方法不同,DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于样本密度(density)的聚类方法 直观上看,同类的样本应集中分布在一个区域内,区域内部的样本密度高,区域边缘的样本密度低 聚类时可以从某个内部点出发逐步向
10、周边扩展,直至遇到边缘点时停止 重复这个扩展过程,最终扩展至类的整个分布区域5.4 密度聚类DBSCAN 如果有多个类,不同类的样本应分布在不同区域,区域之间应该有间隙,或者只有少量被称作噪声(noise)或离群点(outlier)的样本x2x1xx4x5x3x6x75.4 密度聚类DBSCAN DBSCAN聚类术语 邻域 核心对象 密度直达 密度相连 簇=,.x2x1xx4x5x3x6x7=1,2,阚道宏5.4 密度聚类DBSCAN DBSCAN聚类的算法步骤=1,2,5.4 密度聚类DBSCAN DBSCAN聚类的特点 与均值聚类相比,DBSCAN聚类不需要指定值,但需指定两个阈值,DBS
11、CAN聚类时没有建立模型,只能用于当前数据集D的聚类,不能再对其他新样本进行分类 DBSCAN聚类最大的优点是可以对非凸样本集(如图5-7所示)进行聚类,而均值聚类只适用于凸样本集(例如高斯分布)5.4 密度聚类DBSCAN 使用Scikit-learn库中的DBSCAN聚类算法5.5 向量量化 向量量化(Vector Quantization,缩写VQ)生成码本(codebook)任给向量,向量量化将码本中距离最近的均值作为向量,或将距离最近均值的编号作为向量的编码 向量量化被广泛应用于向量的离散化编码(称作量化),或向量数据的压缩=1,2,=1,2,=1,2,5.5 向量量化 术语与符号:训练码本、编码 训练集 训练码本(VQ算法)编码 失真度 平均失真度 量化准则=1,2,=1,=1,2,.=1,2,=argmin 2.,2=1=1,=1=1 2=argmin.=1,2,5.5 向量量化 向量量化问题5.5 向量量化 LBG-VQ算法:分裂-聚类阚道宏5.5 向量量化 LBG-VQ算法:分裂-聚类第5章 聚类问题 本章学习要点 分类问题与聚类问题、混合概率模型及其参数估计、EM算法、高斯混合模型、三硬币模型 k均值聚类、密度聚类DBSCAN、向量量化与LBG-VQ算法
限制150内