吴恩达机器学习笔记 三十一 K-means算法及优化目标 成本函数

随机初始化 K 个集群质心,这里设质心个数为2

第一步:分配点给集群质心

对 m 个 点,每个点对应的质心为 c(i) ,若离红色的质心近,则 c(i) 的值为1,否则为2。计算距离用的是L2范式。

第二步:移动集群质心

对 K 个质心,每次都计算分配给他的所有点的“中心”,这个中心通过计算不同维度的平均值得到,假如只有两个特征,(如图)计算横的平均值,竖的平均值,得到的点就是新的质心。图中最下方式子的 x(1) x(5)等,都是有 n 个特征的向量,计算平均值时每个特征都要计算到。

对于极端情况,如一个质心没有任何点被分配给它,则消除这个簇,并且令 K = K-1。 

K-means算法优化目标 

c(i) 是当前这个样本点被分配的集群的下标

μk 是簇的质心k

μc(i) 是当前这个点被分配的质心

成本函数如下图所示,也叫失真函数( distortion) 

第一步分配点给质心的时候 μ1 到 μk 是不动的,分配点来使 J 最小;第二步移动集群质心的时候是固定 c(1) 到 c(m) ,通过移动质心来使 J 最小。k-means算法的 J 不可能变大,因为每一步都是在尝试减小 J ,变大了说明可能出现了错误。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-01 17:44:01       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-01 17:44:01       97 阅读
  3. 在Django里面运行非项目文件

    2024-04-01 17:44:01       78 阅读
  4. Python语言-面向对象

    2024-04-01 17:44:01       88 阅读

热门阅读

  1. 单例设计模式(1)

    2024-04-01 17:44:01       40 阅读
  2. 第十四届省赛大学B组(C/C++)接龙数列

    2024-04-01 17:44:01       39 阅读
  3. bash工具-dir_util.sh

    2024-04-01 17:44:01       44 阅读
  4. python 三层架构思想写代码。

    2024-04-01 17:44:01       45 阅读
  5. python 移位运算符

    2024-04-01 17:44:01       44 阅读
  6. TTL值(Time-To-Live)简介

    2024-04-01 17:44:01       36 阅读
  7. NoSQL(非关系型数据库)之Redis

    2024-04-01 17:44:01       66 阅读
  8. 编程练习(python)

    2024-04-01 17:44:01       29 阅读
  9. 大模型之路1:趟一条小路

    2024-04-01 17:44:01       44 阅读
  10. 关于python中常用命令(持续更新中)

    2024-04-01 17:44:01       50 阅读
  11. 2024.2.9力扣每日一题——二叉树的最近公共祖先

    2024-04-01 17:44:01       39 阅读