本节简要介绍一下聚类的概念,通过实例了解K均值聚类算法的基本原理。

“聚类”简介

机器学习模型可以将训练集的数据划分为若干组。每个组称之为“簇”。这些自动形成的簇,对应着不同的潜在概念。

这种学习方式就叫做“聚类”。其重要特点是在学习的过程中不需要用标签对训练样本进行标注。也就是说,学习过程能感觉现有的训练集自动完成分类(聚类)。

根据训练数据是否有标签,可以将学习划分为监督学习和无监督学习。K邻近/支持向量机都是监督学习,提供有标签的数据给算法学习,然后对数据进行分类。而聚类是一种无监督学习,事先不知道分类标签是什么,直接对数据分类。

有100个豆子,如果仅仅知道这里面有两种,但不知道是什么品种,此时可以根据豆子的大小、颜色、或者组合属性,将其划分为两个类型,再此过程中,我们没有使用已知标签,也同样完成了分类,此时就叫做无监督学习。

理论知识

假设有6个豆子混在一起,在都不知道豆子类别的情况下,将其以直径为依据划分为2类。

经过测量,以mm为单位,这些豆子的直径大小是1、2、3、10、20、30;将其分别标记为A、B、C、D、E、F,并进行分类操作。

第一步:随机选取两粒豆子作为参考豆子,如A和B。

第二步:计算其他豆子与A和B之间的距离。并离哪个豆子近就划分都哪个组里去。

每粒豆子与参考豆子的距离及分组

现在有两组豆子:

  • 第一组:只有豆子A
  • 第二组:豆子B、C、D、E、F,共5粒豆子。

第三步:分别计算第一组豆子以及第二组豆子的直径平均值。重新分组。

  • 第一组的平均值:AV1 = 1mm
  • 第二组的平均值:AV2 = 13mm

计算各粒豆子距离AV1、AV2的距离,并确定分组。

计算距离及重新分组

得到新的分组:

  • AV1组:豆子A、豆子B、豆子C
  • AV2组:豆子D、豆子E、豆子F

第四步:重复第三步,直到分组都稳定了,即可认为分组完成。

上面的例子是比较极端的,仅仅是为了方便理解K均值聚类原理.实际处理时可能要经过多轮迭代>

基本步骤

K均值聚类是一种将输入数据划分为K个簇的简单的聚类方法,该算法不断提取当前分类的中心点,并最终在分类稳定时完成聚类。

基本步骤如下:

  • 1、随机选取K个点作为分类的中心点
  • 2、将每个数据点放到距离它最近的中心点所在的类中
  • 3、重新计算各个分类的数据点的平均值,将该平均值作为新的分类中心点
  • 4、重复迭代第二步和第三步,直到分类稳定

否定之否定

本文标签: OpenCVPython智能算法

版权声明 ▶ 本网站名称:陶小桃Blog
▶ 本文链接:https://www.52txr.cn/2022/CVkmeans1.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处并附带原文链接!!
▶ 站长邮箱 [email protected][email protected] ,如不方便留言可邮件联系。

小陶的个人微信公众号

学累了就来张美女照片养养眼吧,身体是革命的本钱,要多多休息哦~ 随机美女图片

最后修改:2023 年 09 月 16 日
如果觉得我的文章对你有用,请随意赞赏!