【机器学习】聚类算法


聚类算法

1.聚类算法的概念

⼀种典型的⽆监督学习算法,主要⽤于将相似的样本⾃动归到⼀个类别中。

在聚类算法中根据样本之间的相似性,将样本划分到不同的类别中,对于不同的相似度计算⽅法,会得到不同的聚类结 果,常⽤的相似度计算⽅法有欧式距离法。

聚类算法是⽆监督的学习算法,⽽分类算法属于监督的学习算法。

2.聚类算法实现流程

k-means聚类步骤

1、随机设置K个特征空间内的点作为初始的聚类中⼼
2、对于其他每个点计算到K个中⼼的距离,未知的点选择最近的⼀个聚类中⼼点作为标记类别
3、接着对着标记的聚类中⼼之后,重新计算出每个聚类的新中⼼点(平均值)
4、如果计算得出的新中⼼点与原中⼼点⼀样(质⼼不再移动),那么结束,否则重新进⾏第⼆步过程

由于每次都要计算所有的样本与每⼀个质⼼之间的相似度,故在⼤规模的数据集上,K-Means算法的收敛 速度⽐较慢。

在这里插入图片描述

3.模型评估

3.1 误差平⽅和(SSE \The sum of squares due to error)

在这里插入图片描述
在这里插入图片描述

3.2 “肘”⽅法 (Elbow method) — K值确定

在这里插入图片描述
(1)对于n个点的数据集,迭代计算k from 1 to n,每次聚类完成后计算每个点到其所属的簇中⼼的距离的平⽅和;
(2)平⽅和是会逐渐变⼩的,直到k==n时平⽅和为0,因为每个点都是它所在的簇中⼼本身。
(3)在这个平⽅和变化过程中,会出现⼀个拐点也即“肘”点,下降率突然变缓时即认为是最佳的k值
在决定什么时候停⽌训练时,肘形判据同样有效,数据通常有更多的噪⾳,在增加分类⽆法带来更多回报时,我们停⽌增加类别。

3.3 轮廓系数法(Silhouette Coefficient)

结合了聚类的凝聚度(Cohesion)和分离度(Separation),⽤于评估聚类的效果:
在这里插入图片描述

⽬的:

内部距离最⼩化,外部距离最⼤化

  • 计算样本i到同簇其他样本的平均距离ai,ai 越⼩样本i的簇内不相似度越⼩,说明样本i越应该被聚类到该簇。
  • 计算样本i到最近簇Cj 的所有样本的平均距离bij,称样本i与最近簇Cj 的不相似度,定义为样本i的簇间不相似度:bi =min{bi1, bi2, …, bik},bi越⼤,说明样本i越不属于其他簇。
  • 求出所有样本的轮廓系数后再求平均值就得到了平均轮廓系数
  • 平均轮廓系数的取值范围为[-1,1],系数越⼤,聚类效果越好。
  • 簇内样本的距离越近,簇间样本距离越远
3.4 CH系数(Calinski-Harabasz Index)

类别内部数据的协⽅差越⼩越好,类别之间的协⽅差越⼤越好(换句话说:类别内部数据的距离平⽅和越⼩越好,类别 之间的距离平⽅和越⼤越好), 这样的Calinski-Harabasz分数s会⾼,分数s⾼则聚类效果越好。
在这里插入图片描述

tr为矩阵的迹, B k 为类别之间的协⽅差矩阵,W k 为类别内部数据的协⽅差矩阵;

m为训练集样本数,k为类别数。

4.k-means算法⼩结

优点:

1.原理简单(靠近中⼼点),实现容易

2.聚类效果中上(依赖K的选择)

3.空间复杂度o(N),时间复杂度o(IKN)

N为样本点个数,K为中⼼点个数,I为迭代次数

缺点:

1.对离群点,噪声敏感 (中⼼点易偏移)

2.很难发现⼤⼩差别很⼤的簇及进⾏增量计算

3.结果不⼀定是全局最优,只能保证局部最优(与K的个数及初值选取有关)

5. 特征降维

降维是指在某些限定条件下,降低随机变量(特征)个数,得到⼀组“不相关”主变量的过程
在这里插入图片描述
降维的两种⽅式

  1. 特征选择
  2. 主成分分析(可以理解⼀种特征提取的⽅式)
5.1 特征选择

数据中包含冗余或⽆关变量(或称特征、属性、指标等),旨在从原有特征中找出主要特征

⽅法:

  • Filter(过滤式):主要探究特征本身特点、特征与特征和⽬标值之间关联
    • ⽅差选择法:低⽅差特征过滤
    • 相关系数

低⽅差特征过滤:删除低⽅差的⼀些特征,前⾯讲过⽅差的意义。再结合⽅差的⼤⼩来考虑这个⽅式的⻆度。

特征⽅差⼩:某个特征⼤多样本的值⽐较相近 特征⽅差⼤:某个特征很多样本的值都有差别

相关系数 主要实现⽅式:⽪尔逊相关系数 斯⽪尔曼相关系数

  • Embedded (嵌⼊式):算法⾃动选择特征(特征与⽬标值之间的关联)
    • 决策树:信息熵、信息增益
    • 正则化:L1、L2
    • 深度学习:卷积等
5.2 主成分分析
  • 定义:⾼维数据转化为低维数据的过程,在此过程中可能会舍弃原有数据、创造新的变量
  • 作⽤:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。
  • 应⽤:回归分析或者聚类分析当中
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值