《Machine Learning》第九讲 K-means算法

本文详细介绍了K-means聚类算法的工作原理,包括初始化聚类中心、簇分配、移动聚类中心等步骤,并探讨了如何选择最佳的聚类数量K。通过具体的例子,帮助读者理解算法的实际应用。

1.K-means算法定义

这里写图片描述

       首先是随机地初始化 k 个聚类中心 μ1、μ2、μ3,…,μk,这些聚类中心的维度和数据集中的 x 维度是一样的,并且聚类中心是随机的,不一定是属于数据集中的点。
       然后再迭代(重复)下面的操作:
       (1)cluster assignment(簇分配):计算数据集中的所有的点与每一个簇中心的距离,然后将该点分配给簇距离最短的一类(假设该类别为 j ) ,则 这里写图片描述= j ; 举例说明,首先计算 这里写图片描述 与各个聚类中心 μ1、μ2、μ3,…,μk 的距离,假设最近的距离是与μ3之间的,则 这里写图片描述 = 3;
       (2)move centroid(移动聚类中心):计算同一个分类的所有点的平均值,并将该值赋给这个类的聚类中心,如图中底下蓝色的计算方式。

       最后聚类中心的点,不再发生移动时,认为聚类算法执行完毕。

2.optimization objective function

       优化目标函数,或者说最小化代价函数,二者要做的实际是同一件事情。

这里写图片描述

       如图所示,优化目标 J(…)等于各个点与所在簇中心的距离的平方和的均值,实际上k-means算法的过程,就是不断减小 J(…) 的过程。

3.Random Initialization

这里写图片描述

       假设将原来的数据划分为三个簇,那么当选取不同的初始簇中心时,最终稳定下来的划分的簇也不一定相同,如图所示,最终产生了三种不同的划分结果。因此,为了得到全局最优解,我们需要初始化多次簇中心,然后再运行k-means算法,最后再比较哪种算法的代价 J 最小,就选取哪种分类的方式。

具体做法如下图所示:

这里写图片描述

4. 确定分类的数量 K

4.1 Elbow(手肘) method

这里写图片描述

       如图所示,绘制出 cost function J 关于 K(no.of clusters)的函数图像,假如出现图中左边所示的,明显的转折点,或者称为肘的话,那么我们认为这个点对应的 K 是最合适的分类数目,当然大部分时候也有可能出现右边的情况,这个时候我们就需要采用第二种方法。

4.2 upon user’s purpose

这里写图片描述

       假设你是一个衣服制造商,然后要决定到底是生产3个型号的衣服、还是5个型号的衣服,这个时候就要参考它的实际意义了,例如咨询衣服经销商关于不同尺码的销售情况,怎样销售利润高,然后再做不同的判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值