前言:
在前几天我们主要讨论了关于特征筛选和降维方面的问题,所以在开始今天对常见降维算法进行分析前,我们需要先明确一下特征筛选和降维的区别,特征筛选是关于“取舍”,它在保留特征原始意义的前提下做减法;降维是关于“重构”,它通过创造新特征来做信息浓缩。两种思想:一、先通过特征筛选去掉明显无关或噪声特征,再对剩余的特征进行降维,以达到最佳效果。二、(1)要解释、有成本、需行动→ 特征筛选(2)要性能、可视化、关系复杂→ 降维(3)不确定、有时间、想最优 → 两者都试,用验证集说话。
一、主成分析法(PCA)
PCA的处理流程
1. 对数据进行均值中心化。
2. 对中心化后的数据进行SVD。
3. 使用SVD得到的右奇异向量 `V` 作为主成分方向。
4. 使用奇异值 `S` 来评估每个主成分的重要性(解释的方差)。
5. 使用 `U*S`(或 `X_centered * V`)来获得降维后的数据表示。
PCA主要适用于那些你认为最重要的信息可以通过数据方差来捕获(无监督利用特征即可),并且数据结构主要是线性的情况。
二、t-SNE
t-SNE 是一种强大的非线性降维技术,主要用于高维数据的可视化。它通过在低维空间中保持高维空间中数据点之间的局部相似性(邻域关系)来工作。与PCA关注全局方差不同,t-SNE更关注局部细节。理解它的超参数(尤其是困惑度)和结果的正确解读力式非常重要。
三、LDA
线性判别分析 (LDA) 是一种经典的有监督降维算法,也常直接用作分类器。作为降维技术时,其核心目标是找到一个低维特征子空间(即原始特征的线性组合),使得在该子空间中,不同类别的数据点尽可能地分开(类间距离最大化),而同一类别的数据点尽可能地聚集(类内方差最小化)。
小结:
PCA等无监督降维方法的目标是保留数据的最大方差,这些方差大的方向不一定是对分类最有用的方向。因此,在分类任务中,LDA通常比PCA更直接有效。当然各种分析方法我们无法对其一概而论,我们需针对特定的情况去分析我们该使用什么方式,实践一下各个方法的效果。
@浙大疏锦行