【机器学习】接地气地解释K-means聚类算法

       俗话说“物以类聚,人以群分”,这句话在K-means聚类算法里面得到了充分的继承。而K-means算法的实际应用范围可谓是大到无法估量,基本可以说,只要你想不到,没有聚类聚不起来的东西!

       比如衣服制造商可以通过分类,把某个身高体重的人群划为一类,然后根据这些人群的需求制作出适合尺寸的衣服,此后在网上买衣服,只需报给商家身高体重,就有相应的S\M\L码数衣服满足你的需求。再比如著名的谷歌(Google )新闻版块,就是使用了聚类算法,每天谷歌都从网上收集上万条新闻,然后通过机器学习分类出各种类型的新闻,把相同类型的新闻展示在同一个页面上,使得客户可以快速地浏览同一个新闻不同官方的报道。

       诸如此类,k-means聚类算法作为容易理解而又应用广泛的算法,想要理解也并不难,下面我就用我自己的理解,带你们走近k-means算法的内心世界。

   

      在使用K-means之前,我们需要手动去定义一个聚类中心(K值),你不知道这是什么东西?没关系,请看下面这个图。

      

       图中我们可以看到,有很多分散的黑色数据点(特征点),而我们的聚类中心(K值)就是图上的两个”十“字,它的数量决定了我们的这堆数据会被划分为几种类型

       在例子中,我们就假设有两个聚类中心(位置是随机的)

      

       当确定好了K值之后,我们就进入K-means算法开始运算了,在K-means算法里,主要是一个内循环,内循环主要包含两个内容:

                                              1.簇分配

                                          2.移动聚类中心

                                不知道这两个是什么东西没关系,我来解释给你听  

        

       首先是聚类中心找到自己的同类,其实就是把这些特征点分类的意思。在簇分配里,我们把所有黑色的特征点与两个聚类中心的距离计算出来,得出每个点相对于两个聚类中心的距离。然后,把距离聚类中心点最近的特征点涂成属于自己的颜色,就成为了一个子集(或者叫簇),结果如图所示。

                 

                        类似一个用一个圆,把属于自己的特征点全部包起来

               

                                                       这个就是簇分配

     

       当所有的聚类中心都找到了属于自己的同类之后,就要走过去拥抱欢呼顺便一起哭一下了,具体的方法是:在自己的簇类里,计算出簇内样本的平均值,然后让聚类中心走到平均值相应的位置。

        如图所示

              

                           当聚类中心移动之后,所有的特征点将全部变回黑色

                

       然后又重新开始从第一个步骤开始循环,先计算每个特征点相对于两个聚类中心的距离,距离最近的涂上自己的颜色(簇分配),跑上去拥抱(移动聚类中心),特征点又变回黑色,重新计算......

           

                程序一直在循环,一直循环到当两个聚类中心移动到图下这个位置

                  

      这时,不管程序再怎么循环,聚类中心的位置已经不再发生改变了,这时候,我们就可以说K均值已经聚合(或者收敛),k-means聚类算法就已经完成了它的任务,分类完成。

      最后,程序退出k-means算法的内循环,开始下一步其他操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

师兄师兄怎么办

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值