其它章节内容请见机器学习之PyTorch和Scikit-Learn
在第4章 构建优秀的训练数据集 – 数据预处理中,我们学习了使用特征选择技术对数据集降维的不同方法。特征选择以外的另一种降维方法是特征提取。本章中我们会学习两种基本技术,可帮助我们通过将其变换为比原来更低维度的特征子空间总结出数据集中的信息内容。数据压缩是机器学习中非常重要的课题,它有助于我们存储和分析现代技术时代生产和收集的与日俱增的数据。
本章中我们会讲解如下内容:
- 用于无监督数据压缩的主成分分析
- 最大化类别分割性监督降维的线性判别分析
- 非线性降维技术的概览及用于数据可视化的t-分布随机近邻嵌入
通过主成分分析的无监督降维
类似于特征选择,我们可以使用不同的特征提取技术来减少数据集中的特征数量。特征选择与特征提取的不同之处在于使用特征选择算法时我们保留原始特征,如序列后向选择,我们使用特征提取变换或投射数据到新的特征空间上。
在进行降维时,特征提取可以理解为一种数据压缩技术,目标是保留大部分相关信息。实操时,特征提取不仅用于改善存储空间或学习算法的计算效率,还通过降低维数灾难来改善预测性能,在处理非正则化模型时尤其如此。
主成分分析中的主要步骤
本节中我们会讨论主成分分析(PCA),一种广泛用于不同领域的无监督线性变换技术,对特征提取和降维尤为突出。其它知名的PCA应用有股票市场交易中的探索性数据分析及信号去噪,以及生物信息领域的基因数据分析和基因表达水平。
PCA帮助我们根据特征间关联识别数据中的模式。总之,PCA旨在找到高维数据中的最大方差方向并将数据投射到新的子空间上,维数等于或小于原空间。新子空间的正交轴(主成分)可解释为限定新特征轴彼此正交时最大方差的方向,如图5.1所示:

图5.1:使用PCA查找数据集中的最大方差方向
在图5.1中,x1和x2是原始特征轴,PC 1和PC 2是主成分。
如果使用PCA降维,我们会构建一个d×k维的变换矩阵W,可以将训练样本特征的向量x映射到一个新的k-维特征子空间,其维数少于原始的d-维特征空间。例如下面的流程。假设我们有一个特征向量x:

然后通过变换矩阵进行变换, W ∈ R d × k W\in \mathbb{R}^{d\times k} W∈Rd×k:
xW = z
产生输出向量:

将原始d-维数据转换到新的k-维子空间(通常k << d)上的结果是,第一个主成分会拥有最大的方差。后续的主成分在这些成分与其它主成分不相关(正交)时会具有最大方差,即例输入特征相关联,得到的主成分也互为正交(不相关)。注意PCA的方向对数据缩放超级敏感,如果特征使用不同量级度量而我们又希望为所有特征赋相同的重要性,那么应需要在做PCA之前标准化特征。
在更进一步学习用PCA算法实现降维前,我们先将该方法总结成简单的步骤:
- 标准化d-维数据集。
- 构建协方差矩阵。
- 将协方差分解为特征向量(eigenvectors)和特征值(eigenvalues)。
- 通过特征值降序排列相应的特征向量。
- 选取k最大特征值的k特征向量,其中k是新特征字空间的维数( k ≤ d k\le d k≤d

本文介绍了机器学习中用于数据降维的两种技术——主成分分析(PCA)和线性判别分析(LDA),重点讲解了PCA的原理和步骤,包括如何通过PCA实现无监督的数据压缩和特征提取,以及如何使用Python的Scikit-Learn库进行PCA操作。PCA通过寻找数据的最大方差方向来减少特征维度,同时保持大部分信息。
2292

被折叠的 条评论
为什么被折叠?



