Skip to content
2026-09-29 04:203387 字无监督学习聚类PCAEM算法

无监督学习从无标注数据出发,学习数据中蕴含的模式。由于数据是内容的载体,刻画相同内容的数据具有相似模式,因此可从无标注数据中挖掘其固有模式。

常用算法包括:

  • 聚类:K均值聚类、层次聚类
  • 降维:主成分分析(PCA)、特征人脸
  • 隐变量学习:期望最大化(EM)算法
  • 其他:自编码器、生成对抗网络(GAN)

K均值聚类(K-means) ​

K-means是一种将 个 维数据划分为 个聚簇的聚类算法,目标是最小化簇内方差。

算法流程 ​

算法 5.1 K-means 聚类

  • 输入: 个 维数据,聚簇数目
  • 输出:每个数据所属聚簇标签
步骤操作
1. 初始化初始化 个聚类质心
2. 聚类计算每个数据与各质心的欧氏距离,将其划入距离最近的质心所在聚簇:
3. 更新质心根据当前聚类结果,重新计算每个聚簇的质心(均值):
4. 迭代终止重复步骤2和3,直到质心不再变化或达到最大迭代次数

目标函数 ​

K-means本质上是在最小化每个聚簇的方差:

特点与局限性 ​

特点说明
优点算法简单高效,收敛速度快(通常为 )
对离群点敏感均值操作易受离群点影响,可用 -medoids 算法替代
需预设 值需要事先确定聚类数目,但实际中往往未知
对数据尺度敏感不同特征的量纲会影响欧氏距离,导致结果偏差
硬聚类每个数据只能完全属于一个聚簇,不存在“模糊归属”(可被高斯混合模型解决)

常见初始化方法 ​

  • Forgy:随机选取 个样本点作为初始质心
  • Random Partition:随机分配每个样本到一个类,然后计算初始质心

应用举例 ​

  • 图像压缩:将图像像素颜色聚类为 种,用质心颜色替代簇内像素,减少存储空间( 越小压缩率越高,但失真越严重)
  • 文本聚类、入侵检测、客户细分等

主成分分析(PCA) ​

PCA是一种特征降维方法,通过找到数据的主要成分来代替原始数据,可消除噪声和冗余,并加深对数据本身的理解。其核心要求是:降维后的结果要最大程度保持原始数据的方差结构。

PCA也被称为 KL变换(Karhunen-Loeve Transform)、霍特林变换(Hotelling Transform)或本征正交分解(POD)。

方差、协方差与相关系数 ​

方差 ​

描述样本数据的波动程度:

【注】分母为 是为了使方差估计为无偏估计。

协方差 ​

衡量两个变量之间的相关度:

取值含义
与 正相关
与 负相关
与 不相关

皮尔逊相关系数 ​

将协方差规整到 范围内,消除量纲影响:

性质:

  • 存在 使得
  • 刻画的是变量间的线性相关程度
  • 线性无关 独立:独立必然线性无关,但线性无关不一定独立

主成分分析 ​

基本思想 ​

将 维数据映射到 维空间( ),使得投影后数据的方差尽可能大。

算法推导 ​

算法 5.2 主成分分析

  • 输入: 个 维样本数据构成的矩阵 ,降维后维度
  • 输出:映射矩阵
步骤操作
1. 中心化对每个样本 ,其中
2. 计算协方差矩阵
3. 特征值分解对 进行特征值分解,按特征值从大到小排序
4. 取前 个特征向量取前 个最大特征值对应的特征向量组成映射矩阵

数学原理 ​

  • 降维后数据 ( )
  • 降维后方差:
  • 优化目标:
  • 使用拉格朗日乘子法求解,得
  • 每一个 是协方差矩阵 的特征向量, 是对应特征值
  • 最优化方差等于所有选取特征值之和:

其他常用降维方法 ​

1. 非负矩阵分解(NMF) ​

  • 将非负大矩阵 分解为两个非负小矩阵 和
  • ,所有元素均非负
  • 体现了“部分组成整体”的思想(纯加性描述)
  • 两种常用代价函数:
    • 欧式距离平方:
    • KL散度:

2. 多维尺度法(MDS) ​

  • 思想:保持原始数据的两两距离不变
  • 步骤:计算原始数据的距离矩阵 中心化得 对 做奇异值分解得降维结果
  • 缺点:存在 out-of-sample 问题,无法对新数据降维

3. 局部线性嵌入(LLE) ​

  • 一种非线性降维方法
  • 基本假设:一个流形的局部可近似于欧式空间,每个样本可由其近邻线性重构
  • 利用局部线性逼近全局非线性,通过重叠的局部邻域提供全局结构信息

特征人脸方法 ​

一种基于外观的人脸识别方法,使用 PCA 的手段提取人脸图像集合中的特征信息,用少量特征脸有效表示原始面部图像。核心思想是:使用一组特征向量(特征人脸)线性组合来表示原始人脸。

奇异值分解(SVD) ​

在特征维度较高时,暴力求解协方差矩阵的特征向量耗时很大。SVD 提供了一种更高效的计算方式。

  • 分解形式:

    • :原始数据矩阵
    • , 均为酉矩阵( )
    • :对角矩阵,对角元素为奇异值
  • 与 PCA 的关系:

    • 是 的特征向量矩阵
    • 是 的特征向量矩阵
    • 从 选取前 个奇异向量可压缩矩阵的行数;从 选取前 个奇异向量可压缩特征维度(PCA 的目标)
  • 高效计算技巧:当 时,先求 的 特征向量,再利用关系 得到特征人脸,避免直接求解巨大的 矩阵。

特征人脸方法流程 ​

  1. 计算均值人脸:
  2. 中心化:
  3. SVD求解:利用 SVD 高效计算中心化矩阵 的特征向量(即特征人脸)
  4. 投影:将每个人脸图像映射到特征人脸空间:
  5. 识别比较:通过比较两个人脸图像在特征人脸空间的表示 和 判断是否相似

【注】

  • 选取的特征人脸数量 是对重建质量和算法复杂度(时间、空间)的权衡
  • 特征人脸能较好表达人脸的全局信息,但无法凸显局部特性(如眼睛、嘴巴细节),这与非负矩阵分解形成对比

潜在语义分析(LSA) ​

一种从海量文本中学习单词与单词、单词与文档、文档与文档之间隐性语义关系的方法。基本思想是综合考虑单词在哪些文档中同时出现,以此判断词语含义的相似度。

潜在语义分析思想 ​

  1. 构建单词-文档矩阵 :尺寸 , 为单词数目, 为文档数目。矩阵元素表示某单词在某文档中出现次数(也可用 TF-IDF 等加权)。
  2. SVD分解:
    • :LSI单词向量,每行是一个单词在隐空间中的表示
    • :LSI文档向量,每行是一个文档在隐空间中的表示
    • :对角矩阵,对角线上按从大到小排列的奇异值
    • 为矩阵 的秩
  3. 低秩近似:取前 个最大奇异值及其对应向量,重构矩阵
    • 是对原始矩阵 的近似,但两者不完全相同

潜在语义分析的效果 ​

通过对重建后的矩阵分析,可以发现:

  • 同一类别文档之间的相关性显著提升
  • 同一类别内单词之间的语义相似度被明确刻画
  • 揭示了在原始矩阵中未被显式表达出来的隐性语义关联

应用场景 ​

  • 自动文档分类
  • 文本摘要
  • 信息检索中的同义词处理
  • 关系发现

期望最大化算法(EM算法) ​

当模型含有隐变量(未观测变量) 时,无法直接使用最大似然估计求解参数。EM算法通过迭代方式,逐步优化模型参数以最佳“拟合”观测数据。

EM算法分为两步,不断交替直至收敛:

  • E步骤(Expectation):基于当前参数,估计隐变量的取值或分布
  • M步骤(Maximization):基于观测数据和E步骤得到的隐变量,最大化似然函数,更新模型参数

【注】EM算法不能保证找到全局最优解,可能收敛到鞍点或局部最优。结果受初始值影响。

二硬币投掷例子 ​

问题设定:有A和B两枚硬币,进行5轮实验。每轮先随机选一个硬币,然后掷10次记录正反面(H / T),但不记录所选硬币是A还是B。观测结果仅知道每次投掷的正反面,所选硬币是隐变量。

目标:估计硬币A和B各自的正面概率 。

EM算法迭代过程:

  1. 初始化
  2. E步骤:计算在当前参数下,每轮实验选择硬币A或B的概率
  3. M步骤:根据E步骤计算的期望,重新估计 和
  4. 重复E、M步骤直至收敛

【注】经过多次迭代后,算法收敛于 (该结果与初始值有关)

EM算法一般形式 ​

  • 观测数据 ,隐变量
  • 优化目标:最大化对数似然函数
  • 核心思想:不断构造对数似然函数的一个下界(E步骤),然后最大化这个下界(M步骤)

数学推导:

由 Jensen 不等式,得到下界:

等号成立条件为 (常数)。取 时等号成立。

最终迭代公式:

小结 ​

本章从聚类、特征降维和模型学习三个角度介绍了无监督学习的核心方法:

  • K-means聚类:通过最小化簇内方差将数据划分为 类
  • 主成分分析(PCA):提取数据方差最大的方向实现降维
  • 特征人脸:PCA在人脸识别中的具体应用,通过SVD高效计算
  • 潜在语义分析(LSA):利用SVD挖掘单词与文档间的隐性语义
  • 期望最大化(EM)算法:解决含隐变量模型的参数估计问题

这些方法共同构成了在无标注数据中“透过数据看本质”的理论和算法基础。

每一篇文章,都是时间的标本