吴恩达机器学习笔记(三)

吴恩达机器学习笔记(三)

K-means聚类

聚类算法用于一组没有标签的数据,将其分成不同的组。

K-means聚类算法一般做的是这两件事:

  • 将点分配到不同的聚簇上(根据与聚簇中心的距离)
  • 移动聚簇中心

直到聚簇中心不再变化为止。

具体流程

对于\(K\)个聚簇,\(m\)个数据点,流程如下

首先,对于每个数据点计算其与各个聚簇中心的距离,将其分配给最近的聚簇中心。

然后,对于每个聚簇中心,计算损失函数,将其移动到损失函数的值最小的地方。
img

损失函数定义

\(c^{(i)}\):表示点\(x^{(i)}\)被分配给了第几个聚簇中心。

\(\mu_k\):表示第\(k\)个聚簇中心

\[J(c^{(1)},...,c^{(m)},\mu_1,...,\mu_k) = \frac{1}{m}\sum^m_{i=1} || x^{(i)}-\mu_{c^{(i)}} ||^2 \]

本质上是计算点与点之间的距离。

初始化

设定\(K(K<m)\)个点,将k随机初始化,然后多次运行K-means聚类算法,比较代价函数,选择最小者。
img

posted @ 2023-07-28 14:50  林珀  阅读(8)  评论(0编辑  收藏  举报