聚类(Clustering)

K-Means Code.

无监督学习

与监督学习相比,无监督学习没有标签:
在这里插入图片描述
无监督学习:通过算法找到一些隐含在数据中的结构。
在这里插入图片描述
作用:

市场分割、密切联系人、计算机集群、了解星系形成…
在这里插入图片描述

K-Means算法

K-均值算法实现步骤:

以区别两类为例:

①输入无标签数据集
在这里插入图片描述
②随机选取两个聚类中心
在这里插入图片描述
③遍历所有的点,与那个聚类中心记录距离最近,就归为哪一类在这里插入图片描述
④移动聚类中心到它们自己类别的均值处在这里插入图片描述
⑤重复第③步
在这里插入图片描述
⑥重复第④步
在这里插入图片描述
重复⑤⑥直到循环结束或者变化不大…

⑧K均值方法收敛,训练完毕
在这里插入图片描述
K-均值算法伪码描述:

输入:

① K ,想从数据集中聚类出的簇的个数

②一系列无标签的数据集
在这里插入图片描述
训练:

③随机初始化 K 个聚类中心(u1,u2,…,uk

内循环:

④遍历每个数据,用 c(i) 标记 x(i) 与那个聚类中心最近

⑤移动聚类中心到相应类别均值处
在这里插入图片描述
问题:

如果存在一个没有点的聚类中心(该聚类中心无任何与它相距最近)会怎么样?

常见的做法是直接移除那个聚类中心,这个就会少一个类别。

另一种做法是重新随机初始化没有点的聚类中心。

对于没有明显区分的数据也 K-均值聚类算法也可以很好的将它们分开:
在这里插入图片描述

优化目标

大写K和小写k意思不同,大写K是聚类中心的个数,小写k表示一个变量,范围从1到大写K。

K-均值聚类也有优化目标函数(代价函数或失真代价函数)。
在这里插入图片描述
下面的循环就是在最小化代价函数。
在这里插入图片描述

随机初始化

对于随机初始化,有一种常用的更好的办法:

随机选K(K < m)个训练样本,然后以它们为聚类中心:
在这里插入图片描述
如何解决局部最优?

尝试多此随机初始化,计算代价函数,选择代价函数最小的那一个。
在这里插入图片描述
典型的随机初始化次数在 50~1000 。

当 K 较小时:通常能找到较好的局部最优解。

当 K 较大时:一般来说,多次随机初始化就不会有太大的改善。
在这里插入图片描述

选取聚类数量

如何选择聚类数量:

因为数据集中有多少个聚类,往往搞不清楚,所以通常靠观察可视图或者经验或目的手动的选择。
在这里插入图片描述
肘部法则:

观察 K-J 可视图,然后找肘部(拐点)在哪里,然后选择它;但是有时候这个肘部找不到,所以它不是万能的办法。
在这里插入图片描述
根据目的选择 K 值:

意思就是选择不同的聚类数量,看哪一个更好的应用于后续的目的。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值