【零基础系列】K-Means聚类算法

本文介绍了K-Means聚类算法的步骤,包括目标函数、初始化、数据分簇和簇心计算。同时,讨论了如何避免陷入局部最优,提出了平衡聚类的概念和两种优化方法,旨在帮助初学者深入理解K-Means并优化聚类效果。
摘要由CSDN通过智能技术生成

本文意图

  1. 结合目标函数,了解 k-means步骤和每一步的目的
  2. 如何避免陷入局部最优
  3. 如何使聚类出的簇更加平衡

目录

本文意图

第一部分  K-Means步骤

1.1 什么是聚类?

1.2 K-Means详细步骤

1.2.1 目标函数

1.2.2 随机初始化簇心

1.2.3 数据点分簇

1.2.4 重新计算簇心

1.2.5 迭代过程

第二部分 避免局部最优

2.1 随机初始化会导致什么问题?

2.2 用实验说明

2.3 如何解决随机结果不好的问题?

2.4 实验中的一些其他细节

2.4.1 “距离”度量方式

2.4.2 簇心数量K的选取

第三部分 平衡聚类

3.1 -balance聚类

3.2 平衡聚类应用场景

3.3 -balance方法一——在K-Means上改进

3.3.1 方法说明

3.3.2 例子

3.4 -balance方法二——阴阳K-Means加速重新分簇

3.4.1 阴阳K-Means

3.4.2 对于方法一的改进


第一部分  K-Means步骤

1.1 什么是聚类?

给定一组未加标签的数据集,希望通过算法自动将数据分成有紧密关联的子集或是簇。

假设我们采集到了一些牡丹花数据,但我们并不知道这些牡丹花具体是哪个品种的。植物学家想要按照特征的相似性,先大致对牡丹花进行粗分类,再对每个类别做具体细致的研究。此时,我们首先想到的就是无监督学习聚类算法。

 

1.2 K-Means详细步骤

1.2.1 目标函数

下面用一个简单的例子,对K-Means的步骤做说明。假设我们有一些二维样本点,最终聚类的结果如下图所示。K-Means算法是怎样将这些点聚成两个簇的呢?

1.2.2 随机初始化簇心

所有样本点一开始是没有被聚类的。将K取为2,即我们希望最终聚成2个簇。完成初始化簇心之后,我们随机选中了两个样本作为簇心。

1.2.3 数据点分簇

第一次分簇之后,我们将得到下图所示的2个簇

1.2.4 重新计算簇心

由于簇心是到簇内所有点距离相等的位置,因此在第一次分簇结束之后,簇心的位置会相应的发生改变。我们重新计算簇心位置,如下图所示

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值