机器学习(6):聚类和降维
二、无监督学习
(一)聚类
-
K-均值聚类(K-Means)
K-means 聚类是一种经典的无监督机器学习算法,用于将数据集划分为 K 个簇(clusters),使得同一簇内的数据点相似度高,不同簇之间的数据点相似度低。
它的核心思想是:最小化簇内数据点到其质心(centroid)的平方距离之和。
-
K-means 算法步骤:
-
初始化:随机选择 K 个初始质心(centroids)。
-
分配阶段:将每个数据点分配到最近的质心,形成 K 个簇。
-
更新阶段:重新计算每个簇的质心(即簇内所有点的均值)。
-
迭代:重复步骤 2 和 3,直到质心不再变化或达到最大迭代次数。
-
K值选择:
-
肘部法则:
-
轮廓系数:
-
优缺点:
|
优点 |
缺点 |
|---|---|
|
简单、高效 |
需要预先指定 K 值 |
|
易于实现 |
对初始质心敏感(可能陷入局部最优) |
|
可扩展性好 |
对噪声和异常值敏感 |
|
适用于球形簇 |
不适合非凸形状或密度差异大的簇 |
(二)降维
-
定义
在保留数据最重要结构的前提下,去除冗余或噪声方向,将数据在更低维的维度上显示。
-
目的:
-
数据压缩:使用较少的计算机内存或磁盘空间,也让我们加快我们的学习算法。
-
可视化:使得复杂多维降至2-3维进行可视化
-
-
常用方法
|
方法 |
线性/非线性 |
保什么 |
痛点 |
|---|---|---|---|
|
PCA |
线性 |
最大方差 |
只能找直线 |
|
LDA |
线性 |
类别间距最大 |
需要标签 |
|
t-SNE |
非线性 |
局部相似度 |
无重建映射 |
|
UMAP |
非线性 |
拓扑结构 |
超参敏感 |
|
Autoencoder |
非线性 |
最小重建误差 |
需调网络 |
-
PCA降维
PCA(Principal Component Analysis,主成分分析)是一种最常用的无监督线性降维方法。
它的核心目标是:在损失最少信息(即保留最大方差)的前提下,将高维数据投影到低维空间。这些低维的新特征被称为“主成分”,它们是原始特征的线性组合,且彼此之间互不相关(正交)。
简单来说,PCA就是在寻找一个新的坐标系,这个坐标系的原点就在数据的中心,而坐标轴的方向是按照数据方差最大的方向来确定的。
-
第一主成分 (PC1):数据方差最大的方向。
-
第二主成分 (PC2):与PC1正交且方差次大的方向。
-
以此类推...
-
维度选择
选择 k值就是在保留信息和降低维度之间做一个权衡。常用方法有:
-
方差解释率(最常用):
-
每个特征值 λi的方差解释率为:∑j=1nλjλi。
-
前 k个主成分的累计方差解释率为:∑j=1nλj∑i=1kλi。
-
通常我们选择 k,使得累计方差解释率大于一个阈值(例如 0.95 或 0.99),即保留了95%或99%的原始信息。
-
-
碎石图(Scree Plot):
-
绘制所有特征值(按从大到小排序)的折线图。
-
寻找“拐点”或“肘部”,在这个点之后特征值变得很小且趋于平缓。选择这个点之前的特征值数量作为 k。
-
-
优缺点
优点:
-
降低复杂度:减少特征数量,提高模型训练速度。
-
减少过拟合:去除噪声和不重要的特征。
-
不如正则化:PCA只是近似地丢弃掉一些特征,它并不考虑任何与结果变量有关的信息,因此可能会丢失非常重要的特征。然而正则化处理会考虑到结果变量,不会丢掉重要的数据。
-
-
可视化:将高维数据降至2维或3维,便于可视化观察。
-
消除相关性:新的主成分特征之间是正交的,解决了多重共线性问题。
缺点:
-
可解释性差:主成分是原始特征的线性组合,其物理含义通常变得模糊不清。
-
假设线性:PCA是一种线性变换,对于存在非线性关系的数据效果可能不好(此时可考虑 Kernel PCA 或 t-SNE、UMAP 等方法)。
-
方差主导:PCA以保留方差为目标,但方差大的方向不一定是最重要(对于分类/预测任务)的方向。
更多推荐



所有评论(0)