机器学习 第九章

目录

一、聚类任务

二、性能度量

三、距离计算

四、原型聚类 

1.k均值(k-means)算法

2.学习向量量化(LVQ)

3.高斯混合聚类

 4.密度聚类

 5.层次聚类

总结


一、聚类任务

在无监督学习中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质和规律,为进一步的数据分析提供基础。其中研究最多、应用最广的是聚类。

聚类就是将数据集中的样本划分为若干个通常是不相交的子集,每个子集叫做一个簇。聚类过程只能自动形成簇结构,簇所对应的概念语义需要由使用者来把握和命名。聚类仅能作为一个单独过程,用于寻找数据内在的分布结构,也可作为分类等其他学习任务的前驱过程。

二、性能度量

聚类性能度量也叫做聚类有效性能指标。对聚类结果需要通过某种性能度量来评估其好坏,若明确了最终使用的性能度量,那么可以直接将其作为聚类过程的优化目标,从而得到更好的聚类结果。

聚类是将样本集D划分为若干不相交的子集,即样本簇。当聚类结果的簇内相似度高且簇间相似度低那么其结果就比较好。聚类性能度量分为两大类,一类是将聚类结果与某个参考模型进行比较,叫做外部指标;另一类是直接考察聚类结果而不利用任何参考模型,叫做内部指标。

对数据集D,假定通过聚类给出的簇划分为C,参考模型给出的簇划分为C^*,那么可以得到如下4个式子:

常见的聚类性能度量外部指标定义为

  • Jaccard系数(JC),JC=\frac{a}{a+b+c}
  • FM指数(FMI),FMI=\sqrt{\frac{a}{a+b}\cdot \frac{a}{a+c}}
  • Rand指数(RI),RI=\frac{2(a+d)}{m(m-1)} 

 上述指标的区间为[0,1],其值越大越好

其次还可以通过考虑划分结果C得到如下式子:

可以得到如下的聚类性能度量内部指标 

  • DB指数(DBI),定义为

  • Dunn指数(DI),定义为

 DBI的值越小越好,DI的值越大越好。

三、距离计算

对函数dist(\cdot ,\cdot ),如果它是一个距离度量,那么需要满足非负性、同一性、对称性和直递性。对于给定样本x_ix_j,最常用的是闵可夫斯基距离,其表达式为:

当p=2时,即为欧氏距离,当p=1时即为曼哈顿距离。

属性可以划分为连续属性和离散属性,前者在定义域上有无穷多个可能的取值,后者在定义域上有限个取值。 在讨论距离计算时,属性上是否定义了序关系很重要,对于定义域为{1,2,3}这种与连续属性接近的离散属性,叫做有序属性;定义域为{飞机,火车,轮船}这种不能直接在属性值上计算距离,叫做无序属性。

对于无序属性采用的是VDM,令m_{u,a}表示在属性u上取值为a的样本,m_{u,a,i}表示在第i个样本簇中在属性u上取值为a的样本数,k为样本簇数,那么a和b之间的VDM距离可定义为:

对于混合属性可以使用闵可夫斯基距离与VDM结合处理:

距离的度量方法并不一定需要满足前面所说的四个基本性质,这样的方法称为非度量距离 

四、原型聚类 

原型聚类也叫基于原型的聚类,其假设聚类结构能通过一组原型刻画,在现实聚类任务中很少使用。其中几种著名的原型聚类算法为:

1.k均值(k-means)算法

给定样本集D,k均值算法针对聚类所得簇划分C,最小化平方误差为:

其在一定程度上刻画了簇内样本围绕簇均值向量的紧密程度,E值越小则簇内样本相似度越高。 k均值算法的流程如下图所示:

 k均值算法的思想就是先随机指定一个类中心,然后根据样本距离类中心距离的远近划分簇,接着在重新计算簇中心,直到迭代至收敛。

2.学习向量量化(LVQ)

 学习向量量化(LVQ)也是试图找到一组原型向量来刻画聚类结构,但是LVQ是假设数据样本带有类别标记,学习过程中利用样本的这些监督信息来辅助聚类。其算法流程为:

LVQ算法的思想是向根据样本的类标记,从各类别中随机选出一个样本作为簇的原型,从而形成一个原型特征向量组,接着从样本集中随机选择一个样本,计算其余原型向量组中每个向量的距离,并选取距离最小的原型向量所在的类簇作为它的划分结果,再与真实类标比较。若划分结果正确,则对应原型向量向这个样本靠近一些 若划分结果不正确,则对应原型向量向这个样本远离一些。

3.高斯混合聚类

其采用概率模型来表达聚类模型。多元高斯分布的概率密度函数为:

高斯混合分布的表达式定义为:

\alpha为混合系数,该分布由k个混合成分组成,每个混合成分对应一个高斯分布。样本的生成过程可以由高斯混合分布给出:(1)根据先验分布选择出高斯混合成分(2)根据被选择的混合成分的概率密度函数进行采样。

高斯混合聚类算法的流程如下图所示:

 4.密度聚类

密度聚类也叫基于密度的聚类,其假设聚类结构能通过样本分布的紧密程度确定。其可从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果。

DBSCAN基于一组邻域参数来刻画样本的紧密程度。

  • \epsilon-邻域,对x_j\in D,其\epsilon-邻域包含样本集D中与x_j的距离不大于\epsilon的样本,即N_\epsilon (x_j)=\left \{ x_i\in D|dist(x_i,x_j)\leq \epsilon \right \}
  • 核心对象,若x_j\epsilon-邻域至少包含MinPts个样本,即|N_\epsilon (x_j)|\geq MinPts,则x_j是一个核心对象
  • 密度直达,若x_j位于x_i\epsilon-邻域中,其x_i是核心对象,则x_ix_j密度直达
  • 密度可达,对x_ix_j,若存在样本序列p_1,p_2,\cdots \cdots ,p_n,其中p_1=x_i,p_n=x_j,且p_{i+1}p_i密度直达,那么x_ix_j密度可达
  • 密度相连,对x_ix_j,若存在x_k使得x_ix_j均由x_k密度可达,那么x_ix_j密度相连

 上述概念的直观表达为:

DBSCAN将簇定义为由密度可达关系导出的最大的密度相连样本集合。 

DBSCAN算法的基本思想为:找出一个核心对象所有密度可达的样本集合形成簇。首先从数据集中任选一个核心对象A,找出所有A密度可达的样本集合,将这些样本形成一个密度相连的类簇,直到所有的核心对象都遍历完。 其基本流程为:

 5.层次聚类

层次聚类是一种基于树形结构的聚类方法,数据集的划分可以采用自底向上的聚合策略或者自顶向下的拆分策略。AGNES是一种采用自底向上的聚合策略的层次聚类算法。其基本步骤为先将数据集中的每个样本看做一个初始聚类簇,然后在算法运行时的每一步中找出距离最近的两个聚类簇进行合并,重复直到达到预设的聚类簇的个数,其关键在计算聚类簇之间的距离。

距离计算方法有如下三种:

 单链接取类间最小距离,全链接取类间最大距离,均链接取类间平均距离。其算法的流程图如下图所示:

总结

聚类是一种无监督学习方法,旨在将数据划分为相似度高的簇。评估聚类效果可用外部或内部指标。主要方法包括K均值、层次聚类、DBSCAN、谱聚类和高斯混合模型。在选择聚类算法的时候需要考虑数据特性和聚类目标。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值