机器学习宝典——第6章

第6章:聚类算法 (Clustering)

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


6.1 K-均值 (K-Means)

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

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

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

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

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

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

你可能感兴趣的:(机器学习,人工智能)