吴恩达机器学习—聚类(10)

这篇博客介绍了无监督学习中的聚类概念,特别是K-Means算法的原理和实现步骤。内容涵盖K-Means的优化目标、随机初始化、选择聚类数的方法,如肘部法则,以及二分K-Means算法以避免局部最优解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 无监督学习

在机器学习中,无监督学习可以被简单理解为不为训练集提供对应的类别标识。
无监督学习(Unsupervised Learning)下的训练集:(x(1)),(x(2)),(x(3))

2. 聚类

在监督学习中,把对样本进行分类的过程称之为分类(Classification),而在无监督学习中,将物体被划分到不同集合的过程称之为聚类(Clustering)。
在聚类中,把物体所在的集合称之为簇(cluster)。

3. K-Means 算法及实现

K: 描述了簇的数量,也就是应当聚合成的几何数。
Means:均值求解,是该算法的核心。
实现步骤:
1)根据设定的聚类数 K ,随机地选择 K 个聚类中心(Cluster Centroid)
在这里插入图片描述
2)评估各个样本到聚类中心的距离,如果样本距离第 i 个聚类中心更近,则认为其属于第 i 簇
在这里插入图片描述
3)计算每个簇中样本的平均(Mean)位置,将聚类中心移动至该位置
在这里插入图片描述
重复以上步骤直至各个聚类中心的位置不再发生改变。

4. 优化目标

和其他机器学习算法一样,K-Means 也要评估并且最小化聚类代价
代价函数J,也被称为失真代价函数:J(c(1),c(2),...,c(m);μ1,μ2,...,μk)=1m∑i=1m∣∣x(i)−μc(i)∣∣2J(c_{(1)},c_{(2)},...,c_{(m)};μ_1,μ_2,...,μ_k)=\frac{1}{m}\sum_{i=1}^m||x^{(i)}−μ_c^{(i)}||^2J(c(1),c(2),...,c(m);μ1,μ2,...,μk)=m1i=1mx(i)μc(i)2K-Means 最小化代价函数的过程:
1)样本分配时:固定住了 (μ1,μ2,...,μk)(μ_1,μ_2,...,μ_k)(μ1μ2,...,μk) ,而关于 (c(1),c(2),...,c(m))(c_{(1)},c_{(2)},...,c_{(m)})(c(1),c(2),...,c(m)) 最小化了JJJ ;
2)中心移动时:再关于 (μ1,μ2,…,μk) 最小化了JJJ

5. 随机初始化

通常,会随机选取 K 个样本作为 K 个聚类中心( K<m )。但是,不同的初始化有可能引起不同的聚类结果,能达到全局最优(global optimal)固然是好的,但是,往往得到的是局部最优(local optimal)。
为了避免局部最优,只能尝试不同的初始化。
所以k-mean该方法计算量较大,所以只适用于 K 值较小的场景。

6. 选择聚类数

肘部法则(Elbow Method)的方法来选定适当的K值,但是并不是所有代价函数曲线都存在明显的“肘关节”。
在这里插入图片描述通常的方法是:观察训练集,根据实际目的选择合适的k值。

7. 知识补充

1)二分 K-Means 算法

常规的 K-Means 算法的误差通常只能收敛到局部最小,在此,引入一种称为二分 K-Means(bisecting kmeans)的算法,相较于常规的 K-Means,二分 K-Means 不急于一来就随机 K 个聚类中心,而是首先把所有点归为一个簇,然后将该簇一分为二。计算各个所得簇的失真函数(即误差),选择误差最大的簇再进行划分(即最大程度地减少误差),重复该过程直至达到期望的簇数目。
二分 KMeans 算法流程大致如下:
初始时,所有样本被看做在同一个簇:c(1)=c(2)=…=c(m)

while num<k ( num 表示当前的簇数):
for i=1 to num (对于每一个簇):

  • 计算误差
  • 在该簇上进行 K-Means 聚类,其中 k=2
  • 计算将该簇一分为二后的总误差,该误差在之后将会被用于比较

选择使得总误差最小的簇进行划分。
虽然二分 K-Means 能带来全局最优解,但是我们也可以看到,该算法是一个贪心算法,因此计算量不小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值