【机器学习】十大算法之一 “K-means”

本文详细介绍了机器学习中的K-means算法,包括算法的历史、工作原理、步骤、功能、Python代码示例以及优缺点。K-means是一种迭代的聚类算法,常用于数据挖掘和图像处理等领域,但需要预先设定类别数量k,并且对初始中心点的选择敏感。

 

作者主页:爱笑的男孩。的博客_优快云博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.youkuaiyun.com/Code_and516?type=blog个人简介:打工人。

持续分享:机器学习、深度学习、python相关内容、日常BUG解决方法及Windows&Linux实践小技巧。

如发现文章有误,麻烦请指出,我会及时去纠正。有其他需要可以私信我或者发我邮箱:zhilong666@foxmail.com 

        机器学习是一种能够让计算机在不接收显式编程的情况下自主学习的技术。在机器学习的各种算法中,k-means算法是一种常见的聚类算法,它可以将一组数据分成多个不同的类别,并且属于同一类别的数据彼此之间具有高度的相似性。

本文将详细讲解机器学习十大算法之一 “K-means” 


目录

一、简介

二、发展史

Lloyd的k-means算法的初始版本可以被描述如下:

三、算法原理详解

k-means算法是一个迭代聚类算法,主要包括以下几个步骤:

具体算法流程:

下面我们依次对以上几个步骤进行解析。

        1. 初始聚类中心

        2. 分配到最近聚类中心

        3. 重新计算聚类中心

        4. 重复聚类过程

四、算法功能详解

五、示例代码

        1. 安装相关库

        2. 分布讲解

        3. 完整代码

六、总结 

        k-means算法的优点:

        k-means算法的缺点:


一、简介

        k-means算法早在1957年就被发明了,最早由J. MacQueen提出 。后来,Lloyd(1982年)、Hartigan(1975年)、Forgy(1965年)等学者对此算法进行了修正和改进。这个算法已被广泛应用于数据挖掘、模式识别、图像处理等领域,它可以用来识别数据集之间的模式,因此是一种十分实用的机器学习算法。

二、发展史

        k-means算法是基于传统的聚类分析技术而发展起来的。聚类分析在早期主要应用于社会学、心理学和生物学等领域,用来发现自然类或发现结果变量。

        k-means算法的思想具有很强的几何直觉,最早是由Lloyd于1957年提出,并用于电话网络分割应用,它的主要思想是通过迭代方法将数据聚成k个类别,每个类别由一个中心点表示。

Lloyd的k-means算法的初始版本可以被描述如下:

  1. 随机选择k个点,作为初始的k个聚类的中心。

  2. 将每个点分配到距离最近的聚类中心所代表的聚类。

  3. 针对每个聚类重新计算聚类中的所有点的平均值,作为新的聚类中心。

  4. 重复步骤2和3,直到聚类中心不再发生变化或者是经过了预定的迭代次数。

        在Lloyd算法之后,Hartigan和Wong提出了两个改进的k-means算法,分别是k-means++和k-medoids。

        k-means++算法的主要思想是在选择初始点时尽可能的均匀分布整个数据集。在k-medoids算法中,每个聚类的中心不是由聚类内的所有点的平均值计算而成,而是由聚类内的某个代表点计算而成,这个代表点也称为medoids。

        现在,k-means算法已经成为了一种十分流行地聚类算法,也被广泛应用于各个领域。

三、算法原理详解

k-means算法是一个迭代聚类算法,主要包括以下几个步骤:

  1. 随机选择k个数据点作为初始聚类中心。

  2. 对于剩下未被选择的数据点,将其与k个聚类中心距离找到最接近的那个,并将其加入该聚类。

  3. 根据新的数据点的加入更新聚类中心。

  4. 重复上述过程,直至聚类中心不再发生变化为止或达到预设的迭代次数。

        

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱笑的男孩。

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

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

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

打赏作者

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

抵扣说明:

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

余额充值