机器学习入门之聚类算法

本文为吴恩达机器学习课程的笔记系列第五篇,主要介绍几个聚类算法,包括经典的K-Means算法,以及其拓展 二分K-Means算法和另一个常用的DBSCAN算法

聚类(Clustering)

聚类(Clustering)是将数据集划分为若干相似对象组成的多个组(group)或簇(cluster)的过程, 使得同一组中对象间的相似度最大化, 不同组中对象间的相似度最小化 。属于无监督问题。

K-Means算法

K K K 就是簇的数量。这个数字是人为选择的。K-Means算法是基于质心划分的。

算法流程:

  • 首先随机选择 K K K 个点作为初始聚类中心。
  • 对数据集的每个数据,评估其到 K K K 个中心点的距离,将其与距离最近的中心点关联起来。
  • 重新计算每个簇中的平均值,更新簇中心的位置

距离的判断:欧几里得距离或余弦相似度

算法描述:

  • μ ( i ) \mu^{(i)} μ(i) 表示第 i i i个聚类中心, x ( i ) x^{(i)} x(i) 表示第 i i i个样本, m m m 表示样本数

R e p e a t {      f o r    i =    1    t o    m : c ( i ) : = 与 样 本 x ( i ) 最 近 的 簇 中 心 的 索 引      f o r    k =    1    t o    K : μ ( k ) : = 第 k 个 簇 的 平 均 位 置 } \begin{aligned} &Repeat \{ \\ & \;\; for\; i =\; 1\; to\; m:\\ &\qquad c^{(i)} := 与样本x^{(i)}最近的簇中心的索引 \\ &\;\;for\; k =\; 1\; to\; K: \\ &\qquad \mu^{(k)}:= 第k个簇的平均位置 \\ &\} \end{aligned} Repeat{ fori=1tom:c(i):=x(i)fork=1toK:μ(k):=k}

算法优化

K-Means同样也要最小化聚类代价,而最小化的就是所有的数据点与其所关联的聚类中心点之间的距离之和,引入K-Means的代价函数:

J ( c (

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值