机器学习宝典——第6章:聚类算法 (Clustering)

第6章:聚类算法 (Clustering)

你好,同学!欢迎来到无监督学习的世界。与监督学习不同,这里的我们没有“标准答案”(标签),我们的目标是在数据中发现隐藏的、内在的结构。聚类算法就是实现这一目标的核心工具,它试图将数据集中的样本划分为若干个不相交的子集,我们称之为“簇”(cluster)。本章我们将深入探讨三种最具代表性的聚类算法:K-均值 (K-Means)、层次聚类 (Hierarchical Clustering) 和 DBSCAN。它们分别代表了基于划分、基于层次和基于密度的聚类思想,是面试中考察无监督学习知识的绝对重点。


6.1 K-均值 (K-Means)

K-Means 是聚类算法中最经典、最常用的算法之一。它的思想简单直观,非常适合作为理解聚类问题的起点。

  • 核心思想
    K-Means 的核心思想可以概括为“物以类聚,人以群分”。具体来说,算法试图找到 K K K 个簇的中心点(质心),并将每个数据点分配给离它最近的质心,从而形成 K K K 个簇。其优化的目标是最小化所有数据点到其所属簇质心的距离平方和,这个值通常被称为“簇内平方和”(Within-Cluster Sum of Squares, WCSS)。当 WCSS 达到最小时,意味着每个簇内部的数据点都尽可能地紧密。

  • 数学原理
    K-Means 的目标是最小化损失函数 J J J,即簇内平方和:
    J = ∑ k = 1 K ∑ x i ∈ C k ∥ x i − μ k ∥ 2 J = \sum_{k=1}^{K} \sum_{x_i \in C_k} \|x_i - \mu_k\|^2 J=k=1KxiCkxiμk2
    其中:

    • K K K 是我们预先指定的簇的数量。
    • C k C_k Ck 是第 k k k 个簇的集合。
    • x i x_i xi 是第 i i i 个数据点。
    • μ k \mu_k μk 是第 k k k 个簇的质心 (centroid)。
    • ∥ x i − μ k ∥ 2 \|x_i - \mu_k\|^2 xiμk2 代表数据点 x i x_i xi 到其所属簇质心 μ k \mu_k μk 的欧氏距离的平方。

    由于直接求解该优化问题是 NP-hard 问题,K-Means 采用迭代的方式来寻找一个近似解。其算法流程如下(这是一种期望最大化 (EM) 思想的体现):

    1. 初始化 (Initialization):随机选择 K K K 个数据点作为初始质心 μ 1 , μ 2 , … , μ K \mu_1, \mu_2, \dots, \mu_K μ1,μ2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱看烟花的码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值