OpenCV系列之理解K-Means聚类 | 五十七

目标

在本章中,我们将了解K-Means聚类的概念,其工作原理等。

理论

我们将用一个常用的例子来处理这个问题。

T-shirt尺寸问题

考虑一家公司,该公司将向市场发布新型号的T恤。显然,他们将不得不制造不同尺寸的模型,以满足各种规模的人们的需求。因此,该公司会记录人们的身高和体重数据,并将其绘制到图形上,如下所示:

公司无法制作所有尺寸的T恤。取而代之的是,他们将人划分为小,中和大,并仅制造这三种适合所有人的模型。可以通过k均值聚类将人员分为三组,并且算法可以为我们提供最佳的3种大小,这将满足所有人员的需求。如果不是这样,公司可以将人员分为更多的组,可能是五个,依此类推。查看下面的图片:

如何起作用?

该算法是一个迭代过程。我们将在图像的帮助下逐步解释它。
考虑如下一组数据(您可以将其视为T恤问题)。我们需要将此数据分为两类。

步骤:1 -算法随机选择两个质心(有时,将任何两个数据作为质心)。
步骤:2 -计算每个点到两个质心的距离。如果测试数据更接近,则该数据标记为“0”。如果它更靠近,则标记为“1”(如果存在更多质心,则标记为“2”,“3”等)。

在我们的示例中,我们将为所有标记为红色的“0”和标记为蓝色的所有“1”上色。因此,经过以上操作,我们得到以下图像。

步骤:3 -接下来,我们分别计算所有蓝点和红点的平均值,这将成为我们的新质心。即转移到新计算的质心。(请记住,显示的图像不是真实值,也不是真实比例,仅用于演示)。

再次,使用新的质心执行步骤2,并将标签数据设置为'0'和'1'。

所以我们得到如下结果:

现在,迭代步骤2步骤3,直到两个质心都收敛到固定点。(或者可以根据我们提供的标准(例如最大的迭代次数或达到特定的精度等)将其停止。这些点使测试数据与其对应质心之间的距离之和最小。或者简单地说,之间的距离之和最小。

最终结果如下所示:

因此,这仅仅是对K-Means聚类的直观理解。有关更多详细信息和数学解释,请阅读任何标准的机器学习教科书或查看其他资源中的链接。它只是K-Means聚类的宏观层面。此算法有很多修改,例如如何选择初始质心,如何加快迭代过程等。

附加资源

1.Machine Learning Course, Video lectures by Prof. Andrew Ng (Some of the images are taken from this)

☆☆☆为方便大家查阅,小编已将OpenCV-Python专栏文章统一整理到公众号底部菜单栏,同步更新中,关注公众号,点击左下方“文章”,如图:或点击下方“阅读原文”,进入OpenCV-Python专栏,即可查看系列文章。

深度学习与计算机视觉交流

关注最新最前沿计算机视觉技术相关专业知识,扫码添加mthler拉你入群,如果已经是mthler帐号好友直接私信即可。

(加群或私信请注明:交流群)

     不断更新资源

     获取更多精彩

长按二维码扫码关注

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值