机器学习(西瓜书)第九章笔记

该博客是在一篇博主的基础上该的,如果要看详细的,可以参考他的博客:

https://blog.csdn.net/shichensuyu/article/details/94552906

聚类的应用

生物进化树

寻找优质客户

推荐系统

信用卡照片

黑客攻击

聚类和分类的区别

聚类没有学习集,告诉我这些样本点如何去分类,无监督学习

分类:有监督学习

什么样的聚类结果比较好呢?

同一簇的样本尽可能相似,不同簇的样本尽可能不同,即簇内相似度高,簇间相似度低

评价指标

内部指标:将聚类结果与某个“参考模型”进行比较(Jaccard系数、FM系数、Rand指数)

内部指标:直接考察聚类结果而不用任何参考模型(DB指数、Dunn指数)

聚类如何分类呢?

基于几何特征:距离(满足非负性、同一性、对称性、直递性-三角形定理)、密度

针对有序属性:闵可夫斯基距离(包含了欧氏距离、曼哈顿距离)

针对无序属性:VDM(Value Difference Metric)

针对混合属性:闵可夫斯基距离和VDM结合(MinkovDM)

Note:当样本空间中不同属性的重要性不同时,可使用“加权距离”(线性加权)

 

 

原型聚类

k均值算法:基于最小化平方误差,优点是复杂度低,缺点是容易局部最优,需要先设k值。

学习向量量化:与一般聚类算法不同的是,LVQ假设数据样本带有类别标签标记,学习过程采用样本的这些监督信息来辅助聚类。判断标准是最近的原型向量Pi与xj的类别是否相同,则令pi向xj的方向靠拢。

高斯混合聚类:采用概率模型来表达聚类原型,模型的参数通过极大似然估计求解

密度聚类

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

相关概念:

e邻域:包含样本集D中与xj的距离不大于e的样本

核心对象:若xj的e邻域至少包含minpts样本,即xj是一个核心对象

密度直达:位于xj位于xi的e邻域中,且xi是核心对象,则称xj由xi密度直达

密度可达:对xi与xj,若存在样本序列

 

 

9.1 聚类任务

聚类试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个簇(cluster)。但需注意的是,聚类过程仅能自动形成簇结构,簇所对应的概念语义需由使用者来把握和命名。

聚类既能作为一个单独的过程,用于寻找数据内在的分布结构,也可作为分类等其他学习任务的前驱过程。

9.2 性能度量

聚类性能度量也称聚类有效性指标(validity index),与监督学习中的性能度量作用类似。

对聚类结果,需要通过某种性能度量来评估其好坏。

若明确了最终将要使用的性能度量,则可直接将其作为聚类过程的优化目标。

对于聚类,一般通用的度量标准为“物以类聚”,即:簇内相似度高且簇间相似度低。

两类性能度量:

外部指标:将聚类结果与某个参考模型(如将领域专家给出的划分结果作为参考模型)进行比较

内部指标:直接考察聚类结果而不利用任何参考模型

外部指标:

定义

注:S代表Same,D代表Different

外部指标

Rand指数(Rand Index,简称RI)

 

a+b表示与参考模型划分结果一致的样本数量

注:以上指数取值范围为[0,1],且越大越好

内部指标

定义

簇内样本平均距离avg( C)

某个簇内样本间的平均距离,应该越小越好

簇内样本间最远距离diam( C )

显然diam( C)应该越小越好

簇间最近样本距离dmin(C)

应越大越好

簇中心间距dcen(Ci,Cj)

内部指标

 

由聚类结果的一般标准:簇内相似度高且簇间相似度高可知:

对于式(9.12)的分子(簇内平均距离),应越小越好,分母则是越大越好,故整体DBI应越小越好

对于式(9.13)的分子(最小簇间距离)应越大越好,分母(簇内样本最大距离)应越小越好,故整体DI应越大越好

 

9.3 距离计算

 

注:直递性常被直接称为“三角不等式”,不满足直递性的距离称为非度量距离,对于某些现实任务,我们不能使用定义好的距离公式,而是需要我们基于数据样本来确定合适的距离计算式,这可通过距离度量学习来实现

 

闵可夫斯基距离(Minkowski distance)

其中p≥1p≥1     

曼哈顿距离(街区距离)

当闵可夫斯基距离表达式的p=1p=1     

欧氏距离

当闵可夫斯基距离表达式的p=2p=2

注:红蓝黄都为曼哈顿距离,绿色为欧氏距离

切比雪夫距离

 

9.4 原型聚类

原型:样本空间中具有代表性的点

原型聚类也称基于原型的聚类(prototype-based clustering),此类算法假设聚类结构能通过一组原型刻画。采用不同的原型表示、不同的求解方式,将产生不同的算法。

9.4.1 k均值算法(k-means聚类)

k-means聚类算法过程:

 

对于簇中心的迭代停止条件为:达到最大迭代轮数或调整幅度小于最小调整幅度阈值

9.4.2 学习向量量化

学习向量量化(Learning Vector Quantization,LVQ)同k-means聚类类似,也是试图找到一组原型向量来刻画聚类结构。不同的是,LVQ针对于带有类别标记的数据样本,学习过程利用样本的监督信息(类别标记)来辅助聚类。

注:停止条件为达到最大迭代轮数或原型向量更新很小甚至不再更新

上面的算法过程6-10行对应着如何更新原型向量。

9.4.3 高斯混合聚类

与k-means、LVQ用原型向量来刻画聚类结构不同,高斯混合聚类采用概率模型来表达聚类原型。

注:一元高斯分布的概率密度函数为:

 

1.定义高斯混合分布

 

2.样本生成过程

9.5 密度聚类

密度聚类也称基于密度的聚类,此类算法假设聚类结构能通过样本分布的紧密程度确定(原型聚类是假设聚类结构能够通过一组原型刻画)。

通常情况下,密度聚类算法从样本密度角度来考察样本间的可连接性(密度直达,密度可达,密度相连),并基于可连接样本来不断拓展聚类簇。

 

簇的定义

基于上面的概念,DBSCAN将簇定义为:由密度可达关系导出的最大密度相连样本集合。对于D中不属于任何簇的样本,会被视为噪声或异常样本。

算法过程

9.6 层次聚类

层次聚类试图在不同层次对数据集进行划分,从而形成树形的聚类结构。

对于数据集的划分,层次聚类通常有两种策略:

 

自底向上的聚合策略

自上而下的分拆策略

 

AGNES算法

AGNES是一种采用自底向上聚合策略的层次聚类算法。算法的基本过程是:先将每个样本都看做一个初始聚类簇,然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并,该过程不断重复,直到到达预设的聚类簇个数。

对于簇间距离的计算,可通过以下式子计算Ci和CjCi和Cj      C_i和C_jCi​和Cj​之间的距离:

显然,可以看出:

 

簇间最小距离由两个簇的最近样本决定

簇间最大距离由两个簇的最远样本决定

平均距离由两个簇的所有样本决定

 

当聚类簇的距离由dmin、dmax或davgdmin、dmax或davg      d_{min}、d_{max}或d_{avg}dmin​、dmax​或davg​计算时,AGNES算法被相应地称为单链接、全链接或均链接算法。

AGNES算法过程

 

习题答案:

3.试析k均值算法能否找到最小化(9.24)的最优解。

不能,因为k均值算法只是局部最有的近似算法,只能找到初始化均值附近的局部最优解,无法找到全局最优解。

4.编程实现k均值算法,设置三组不同的k值,三组不同的初始中心点,在西瓜数据集4.0上进行实验,并讨论什么样的初始中心有利于取得好结果。

西瓜数据集4.0中30未分类样本,属性纬度2,都是连续属性。

K-means算法是一种局部最优的最小化类间最小化均方误差的算法,初始随机的中心不同会导致算法的迭代次数与最终结果有很大

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值