【机器学习算法基础】(基础机器学习课程)-11-k-means-笔记

 

 

 

 

示例案例

为了更好地理解 K-Means 算法,下面通过一个简单的案例进行说明。

假设我们有以下 10 个二维数据点,表示不同商店的销售额(单位:千元)和顾客数(单位:人):

[(10, 100), (20, 80), (30, 70), (40, 60), (50, 50), (60, 40), (70, 30), (80, 20), (90, 10), (100, 5)]

我们希望将这些商店分成 2 个簇(K=2)。

  1. 选择 K 值:K=2。

  2. 初始化簇中心:随机选择两个初始簇中心。假设我们选择 (10, 100) 和 (100, 5)。

  3. 分配数据点

    • 计算每个数据点到 (10, 100) 和 (100, 5) 的距离。
    • 将每个数据点分配给最近的簇中心。
    • 例如,(10, 100) 距离 (10, 100) 为 0,距离 (100, 5) 为 126.49,所以它属于第一个簇。
  4. 更新簇中心

    • 计算每个簇的新中心。
    • 例如,假设第一个簇包含 (10, 100), (20, 80), (30, 70),新中心是这三个点的均值:(20, 83.33)。
  5. 重复分配数据点和更新簇中心

    • 不断重复上面的步骤,直到簇中心不再变化。

最终,我们可能得到如下两个簇:

  • 簇1:[(10, 100), (20, 80), (30, 70), (40, 60), (50, 50)]
  • 簇2:[(60, 40), (70, 30), (80, 20), (90, 10), (100, 5)]

每个簇中心分别为 (30, 72) 和 (80, 21)。

K-Means 的优点和缺点

优点

  • 简单且易于实现。
  • 计算速度快,适用于大规模数据集。
  • 聚类结果易于解释。

缺点

  • 需要事先指定簇的数量 K。
  • 对初始簇中心敏感,不同的初始值可能导致不同的结果。
  • 可能陷入局部最优解。
  • 仅适用于线性可分的数据,对复杂形状的簇效果不佳。

总结

K-Means 聚类算法通过迭代地分配数据点和更新簇中心,将数据集划分成 K 个簇。尽管有一些局限性,但由于其简单性和高效性,K-Means 广泛应用于各种聚类任务。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值