1 K-means聚类算法指南-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

K-means聚类算法指南

新机器视觉 来源:海豚数据科学实验室 作者:海豚数据科学实验 2022-10-28 14:25 次阅读

假设您想根据内容和主题对数百(或数千)个文档进行分类,或者您希望出于某种原因将不同的图像组合在一起。或者更重要的是,假设你有相同的数据已经被分类但是你想要挑战这个标签,您想知道数据分类是否有意义,或者是否可以改进。

好吧,我的建议是你对数据进行聚类。信息经常会因为冗余等各种原因变得模糊不清,而将数据分组到具有相似特征的群集(群集)中是一种有效的方式。

聚类是一种广泛用于查找具有相似特征的观察组(称为聚类)的技术。此过程不是由特定目的驱动的,这意味着您不必专门告诉您的算法如何对这些观察进行分组,因为它是独立进行(组有机地形成)分组的。结果是,同一组中的观察(或数据点)在它们之间比另一组中的其他观察更相似。目标是获得尽可能相似的同一组中的数据点,并使不同组中的数据点尽可能不相似。

K-means非常适合探索性分析,非常适合了解您的数据并提供几乎所有数据类型的见解。无论是图像、图形还是文本,K-means都非常灵活,几乎可以满足所有需求。

无监督学习中的摇滚明星之一

聚类(包括K均值聚类)是一种用于数据分类的无监督学习技术。

无监督学习意味着没有输出变量来指导学习过程(没有这个或那个,没有对错),数据由算法来探索以发现模式。我们只观察这些特征,但没有对结果进行确定的测量值,因为我们想要找出它们。

与监督学习不同的是,非监督学习技术不使用带标签的数据,算法需要自己去发现数据中的结构。

在聚类技术领域中,K-means可能是最常见和经常使用的技术之一。K-means使用迭代细化方法,基于用户定义的集群数量(由变量K表示)和数据集来产生其最终聚类。例如,如果将K设置为3,则数据集将分组为3个群集,如果将K设置为4,则将数据分组为4个群集,依此类推。

K-means从任意选择的数据点开始,作为数据组的提议方法,并迭代地重新计算新的均值,以便收敛到数据点的最终聚类。

但是,如果您只提供一个值(K),算法如何决定如何对数据进行分组?当您定义K的值时,您实际上是在告诉算法您需要多少均值或质心(如果设置K = 3,则创建了3个均值或质心,其中包含3个聚类)。质心是表示聚类中心的数据点(均值),它可能不一定是数据集的成员。

这就是算法的工作原理

K个质心是随机创建的(基于预定义的K值)

K-means将数据集中的每个数据点分配到最近的质心(最小化它们之间的欧几里德距离),这意味着如果数据点比任何其他质心更接近该群集的质心,则认为该数据点位于特定集群中。

然后K-means通过获取分配给该质心集群的所有数据点的平均值来重新计算质心,从而减少与前一步骤相关的集群内总方差。K均值中的“均值”是指对数据求均值并找到新的质心。

该算法在步骤2和3之间迭代,直到满足一些标准(例如最小化数据点与其对应质心的距离之和,达到最大迭代次数,质心值不变或数据点没有变化集群)

3c2d2b64-5680-11ed-a3b6-dac502259ad0.gif

在该示例中,经过5次迭代之后,计算的质心保持相同,并且数据点不再交换集群(算法收敛)。这里,每个质心都显示为一个深色的数据点。

运行此算法的初始结果可能不是最佳结果,并且使用不同的随机起始质心重新运行它可能提供更好的性能(不同的初始对象可能产生不同的聚类结果)。出于这个原因,通常的做法是使用不同的起点多次运行算法,并评估不同的初始化方法(例如Forgy或Kaufman方法)。

但另一个问题出现了:你如何知道K的正确值,或者要创建多少个质心?对此这个问题没有普遍的答案,虽然质心或集群的最佳数量还不是先验的,但是存在不同的方法来估计它。一种常用的方法是测试不同数量的集群并测量得到的误差平方之和,选择K值,在该值处增加将导致误差和减小的非常小,而减小时将急剧增加误差和。定义最佳集群数的这一点被称为“肘点”,可以用作一个视觉度量来找到K值的最佳选择。

3c7ba960-5680-11ed-a3b6-dac502259ad0.png

在此示例中,肘点位于3个集群中

K-means是您的数据科学工具包中必不可少的,有几个原因。首先,它易于实现并带来高效的性能。毕竟,您只需要定义一个参数(K的值)来查看结果。它的速度很快并且可以很好地处理大型数据集,使其能够处理当前的海量数据。它非常灵活,可以与几乎任何数据类型一起使用,其结果易于解释,并且比其他算法更易于解释。此外,该算法非常受欢迎,您几乎可以在任何学科中找到用例和实现。

但凡事都有不利的一面

K-means也存在一些缺点。第一个是你需要定义集群的数量,这个决定会严重影响结果。此外,由于初始质心的位置是随机的,因此结果可能不具有可比性并且显示缺乏一致性。K-means生成具有统一大小的聚类(每个聚类具有大致相同的观察量),即使数据可能以不同的方式运行,并且它对异常值和噪声数据非常敏感。此外,它假设每个聚类中的数据点被建模为位于该聚类质心周围的球体内(球形限制),但是当违反此条件(或任何先前的条件)时,算法可以以非直观的方式运行。

3c987982-5680-11ed-a3b6-dac502259ad0.png

例1

示例1:在左侧,数据的直观聚类,两组数据点之间有明显分离(由一个较大的数据点包围的一个小环的形状)。在右侧,通过K均值算法(K值为2)聚类的相同数据点,其中每个质心用菱形表示。如您所见,该算法无法识别直观的聚类。

3cc35922-5680-11ed-a3b6-dac502259ad0.png

例2

示例2:左侧是两个可识别数据组的聚类。在右侧,K-means聚类在相同数据点上的结果不适合直观的聚类。与示例1的情况一样,由于算法的球形限制,K-means创建的分区不能反映我们在视觉上识别的内容。它试图找到围绕它们的整个数据球体的质心,并且当聚类的几何形状偏离球体时表现很差。

3d07a064-5680-11ed-a3b6-dac502259ad0.png

例3

示例3:再次,在左侧有两个清晰的集群(一个小而紧密的数据组和另一个较大且分散的集群),K-means无法识别(右侧)。这里,为了平衡两个数据组之间的集群内距离并生成具有统一大小的集群,该算法混合两个数据组并创建2个不代表数据集的人工集群。

有趣的是,无论这些数据点之间的关系多么明显,K-means都不允许彼此远离的数据点共享同一个集群。

现在做什么?

事情是现实生活中的数据几乎总是复杂、杂乱无章和嘈杂的。现实世界中的情况很少能反映出明确的条件,即可立即应用这些类型的算法。在K-means算法的情况下,预计至少有一个假设会被违反,因此我们不仅要识别它,还需要知道在这种情况下该做什么。

好消息是还有其他选择,可以纠正缺陷。例如,将数据转换为极坐标可以解决我们在示例1中描述的球形限制。如果发现严重的限制,还可以考虑使用其他类型的聚类算法。可能的方法是使用基于密度或基于层次的算法,这些算法修复了一些K均值限制(但也有其自身的局限性)。

总之,K-means是一种具有大量潜在用途的精彩算法,因此它具有多种功能,几乎可用于任何类型的数据分组。但是从来没有免费的午餐:如果你不想被引导到错误的结果,你需要了解它的假设和它的运作方式。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 聚类算法
    +关注

    关注

    2

    文章

    118

    浏览量

    12126
  • K-means
    +关注

    关注

    0

    文章

    28

    浏览量

    11292

原文标题:一个完整的K-means聚类算法指南!

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    G.726/G.711 CST算法用户指南

    德赢Vwin官网 网站提供《G.726/G.711 CST算法用户指南.pdf》资料免费下载
    发表于 12-21 09:46 0次下载
    G.726/G.711 CST<b class='flag-5'>算法</b>用户<b class='flag-5'>指南</b>

    TLV320AIC3107EVM-K用户指南

    德赢Vwin官网 网站提供《TLV320AIC3107EVM-K用户指南.pdf》资料免费下载
    发表于 12-19 15:39 0次下载
    TLV320AIC3107EVM-<b class='flag-5'>K</b>用户<b class='flag-5'>指南</b>

    TLV320AIC3204EVM-K用户指南

    德赢Vwin官网 网站提供《TLV320AIC3204EVM-K用户指南.pdf》资料免费下载
    发表于 12-19 15:04 0次下载
    TLV320AIC3204EVM-<b class='flag-5'>K</b>用户<b class='flag-5'>指南</b>

    舒适噪声发生器(CNG)算法用户指南

    德赢Vwin官网 网站提供《舒适噪声发生器(CNG)算法用户指南.pdf》资料免费下载
    发表于 12-17 15:46 0次下载
    舒适噪声发生器(CNG)<b class='flag-5'>算法</b>用户<b class='flag-5'>指南</b>

    TLV320DAC3203EVM-K用户指南

    德赢Vwin官网 网站提供《TLV320DAC3203EVM-K用户指南.pdf》资料免费下载
    发表于 12-10 13:42 0次下载
    TLV320DAC3203EVM-<b class='flag-5'>K</b>用户<b class='flag-5'>指南</b>

    STM32应用中UL/CSA/IEC 60730-1/60335-1的B认证获取指南

    德赢Vwin官网 网站提供《STM32应用中UL/CSA/IEC 60730-1/60335-1的B认证获取指南.pdf》资料免费下载
    发表于 11-26 15:04 0次下载

    DLP ECD 4K UHD EVM用户指南

    德赢Vwin官网 网站提供《DLP ECD 4K UHD EVM用户指南.pdf》资料免费下载
    发表于 11-26 14:12 0次下载
    DLP ECD 4<b class='flag-5'>K</b> UHD EVM用户<b class='flag-5'>指南</b>

    LMQ61460EVM-400K用户指南

    德赢Vwin官网 网站提供《LMQ61460EVM-400K用户指南.pdf》资料免费下载
    发表于 11-24 14:48 0次下载
    LMQ61460EVM-400<b class='flag-5'>K</b>用户<b class='flag-5'>指南</b>

    2.1 MHz放大器电感选择指南

    德赢Vwin官网 网站提供《2.1 MHz放大器电感选择指南.pdf》资料免费下载
    发表于 10-25 09:11 1次下载
    2.1 MHz<b class='flag-5'>类</b>放大器电感选择<b class='flag-5'>指南</b>

    人员轨迹分析算法有哪些?

    时段等。这些信息可以对城市规划、交通管理、公共安全等方面具有重要的指导意义。而为了实现人员轨迹分析,我们需要使用一些专门的算法和技术。 下面是几种常用的人员轨迹分析算法: 1. 基于密度的
    的头像 发表于 09-26 10:42 371次阅读

    D音频放大器无源元件选择指南

    德赢Vwin官网 网站提供《D音频放大器无源元件选择指南.pdf》资料免费下载
    发表于 09-14 10:47 2次下载
    D<b class='flag-5'>类</b>音频放大器无源元件选择<b class='flag-5'>指南</b>

    K折交叉验证算法与训练集

    K折交叉验证算法与训练集
    的头像 发表于 05-15 09:26 546次阅读

    沃科技SDK使用指南

    本文主要针对SDK如何重定义硬件接口和外设参数进行说明,方便让大家快速灵活使用沃科技SDK。
    的头像 发表于 05-06 10:23 505次阅读
    <b class='flag-5'>聚</b>沃科技SDK使用<b class='flag-5'>指南</b>

    CLASS-AB音频功率放大器产品选型指南

    CLASS-AB音频功率放大器产品选型指南
    的头像 发表于 02-05 17:53 2613次阅读
    CLASS-AB<b class='flag-5'>类</b>音频功率放大器产品选型<b class='flag-5'>指南</b>

    “太阳能防外损地钉”推动电缆数字化运维

    深度学习的挖掘频繁项集和关联规则的Apriori算法K-Means算法对数据进行分析,有效过滤非路面破坏情况,准确判断是否需要报警。同
    的头像 发表于 02-04 15:02 422次阅读