打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Coursera机器学习笔记(十三)
发表于 |


一. 聚类

在监督学习中, 我们的训练集包含标签, 如下图所示.


在无监督学习中, 训练集不含标签, 我们使用聚类算法来寻找数据集包含的特定结构. 如下图所示, 数据集可以分为两个不同的簇.

下图为聚类的一些应用.

二. K-均值算法

2.1 K-均值算法

这一节我们来介绍k-means算法, 如下图所示, 假设我们想要把下图中的无标签数据分为两个簇. 首先, 我们随机选取两个点作为cluster centroids, 然后计算出这些数据离这两个cluster centroids的距离, 它们离哪个cluster centroid近, 就将它们分配到哪个cluster centroid;(此时数据分为了两块, 我们将它们分别用红色和蓝色标记)我们将红色的cluster centroid移动到所有红色数据的均值的点, 将蓝色的cluster centroid移动到所有蓝色数据的均值的点. 最后重复上面两个步骤, 知道cluster centroid不能再移动为止.


整个过程如下图所示:

下面是k-means算法的通用描述.
输入为K和数据集, 注意这里不再需要添加x0=1这一项.

首先随机初始化K个 cluster centroid, 记作μK.
Cluster assignment: 遍历所有数据, 若第i个数据离第k个cluster centroid最近, 则记为:c(i)=k.
Move centroid: 将第k个簇的均值赋值给μk.

对于没有明显区分的数据我们也可以使用k-means算法.

2.2 代价函数


2.3 随机初始化

下图说明了该如何随机地选取cluster centroid.


随机初始化可能导致算法得到一个local optima, 如下图所示.

为了解决上述问题, 我们需要随机初始化多次, 然后计算出每次J的值, 最后得到一个更好的最优解.

2.4 K的选择

观察如下数据集, 它们应该分为几个簇呢?有的人会说两个, 也有的说四个. 这一节, 我们来讲该如何选择簇数.


我们使用Elbow method, 即描绘出J关于K的图像, 然后找到”elbow”的位置, 这个位置对应的点就是应该选择的簇数. 如下左图所示. 但是, 我们经常会的到如下右图所示的样子, 它没有一个明显的”elbow”, 这样选择就比较困难了.

另一种选择K的方法, 就是根据我们特定的目标去选. 例如, 在给T恤标尺码的时候, 如果我们想要分成三个尺码S, M, L, 那么我们就应该选择K=3;如果我们想要分成5个尺码XS, S, M, L, XL那么我们就应该选择K=5.

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【十大经典数据挖掘算法】k
聚类分析常用算法原理:KMeans,DBSCAN, 层次聚类
一步步教你轻松学K
第120天:机器学习算法之 K 均值聚类
AP聚类算法(Affinity propagation Clustering Algorithm )
从DBSCAN算法谈谈聚类算法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服