PCA、LDA 和 t-SNE 等降维技术可以增强机器学习模型。它们通过减少预测变量的数量来提高泛化性,从而保留复杂数据集的基本特征。
降维是一种使用较少特征(即维度)数来表示给定数据集的方法,同时仍能捕获原始数据的有意义属性。1 这相当于删除不相关或多余的特征,或者仅删除噪声数据,以创建具有较少变量的模型。降维涵盖预处理过程中使用的一系列特征选择和数据压缩方法。降维方法虽然操作方式不同,但都是通过变量提取或组合,将高维空间转化为低维空间。
在机器学习中,维度(或特征)是用于决定模型输出的预测变量。它们有时也称为输入变量。高维数据表示具有大量预测变量的任意数据集。此类数据集经常出现在生物统计学和社会科学观察研究中,其中数据点(即观测值)的数量超过预测变量的数量。
高维数据集给机器学习算法带来了许多实际问题,例如增加计算时间、大数据的存储空间等等。但最大的担忧或许是预测模型的准确性下降。在高维数据集上训练的统计和机器学习模型通常泛化效果较差。
维数灾难是指模型维度增加与泛化性降低之间的反比关系。随着模型输入变量数量的增加,模型的空间也随之增大。然而,如果数据点的数量保持不变,数据就会变得稀疏。这意味着模型的大部分特征空间为空,也就是没有可观察数据点。随着数据稀疏性的增加,数据点变得如此不同,以至于预测模型在识别解释模式方面变得不那么有效。2
为充分解释稀疏数据中的模式,模型可能会对训练数据过拟合。因此,维度增加会导致泛化性降低。由于高维性会引发多重共线性,从而会进一步影响模型的可解释性。随着模型变量数量的上升,某些变量变为冗余变量或相关变量的可能性也会增大。
收集更多数据可以降低数据稀疏性,从而抵消维数灾难。然而,随着模型中维数的增加,阻止维数灾难所需的数据点数量也呈指数级增长。3 当然,收集足够的数据并非总是可行。因此,需要降维以改善数据分析。
通常,降维技术会通过对模型特征进行提取或组合,以将模型降维为低维空间。然而,除这一基本相似性之外,降维算法也各不相同。
主成分分析 (PCA) 可能是最为常见的降维方法。它是一种特征提取技术,这意味着它可组合和转换数据集的原始特征以生成新特征(即,主成分)。就本质而言,PCA 会从模型中选择一部分变量,而这些变量会共同构成原始变量集中所存在的大多数方差或所有方差。然后,PCA 会将数据投影到由这些变量所定义的新空间中。4
例如,假设我们有一个关于蛇的数据集,其中包含五个变量:体长 (X1)、最宽处的身体直径 (X2)、毒牙长度 (X3)、体重 (X4) 和年龄 (X5)。当然,这五个特征中的某些特征可能是相关的,如体长、直径和体重。这种特征的冗余会导致数据稀疏和过拟合,从而降低由这些数据生成的模型的方差(或通用性)。PCA 从这些数据中计算出一个新变量 (PC1),该变量将两个或多个变量合并在一起,并使数据方差最大化。通过合并潜在的冗余变量,PCA 还能创建一个比初始模型变量更少的模型。因此,由于我们的数据集一开始有五个变量(即五维),缩小后的模型可以有一到四个变量(即一到四维)。然后将数据映射到这个新模型上。5
这个新变量不是原来的五个变量,而是通过原始数据的协方差矩阵的线性变换计算的组合特征。具体来说,我们的组合主成分是协方差矩阵中最大特征值对应的特征向量。我们还可以结合其他变量创建其他主成分。第二个主成分是第二大特征值的特征向量,依此类推。6
线性判别分析 (LDA) 与 PCA 类似,它可将数据投射到新的低维空间中,而其维度则源自初始模型。LDA 与 PCA 的不同之处在于它会注意保留数据集中的分类标签。PCA 生成的新成分变量旨在最大化数据方差,而 LDA 生成的成分变量也会将这些数据中的类差异最大化。7
实现 LDA 的步骤与实现 PCA 的步骤类似。主要例外在于:前者会使用散点矩阵,而后者会使用协方差矩阵。否则,如同在 PCA 中一样,LDA 会计算这些数据的原始特征的线性组合,而这些特征对应散点矩阵中的最大特征值。LDA 的一大用途在于最大化类间差异,同时最小化类内差异。8
LDA 和 PCA 均属于线性降维算法。但是,T 分布随机邻域嵌入 (t-SNE) 则是一种非线性降维(或流形学习)技术。为了主要保留模型方差,LDA 和 PCA 均侧重于在其低维表示中保留不相似数据点之间的距离。相比之下,t-SNE 旨在通过降低模型维度来保留本地数据结构。t-SNE 与 LDA 和 PCA 的其他不同之处在于:后两者可生成具有三个以上维度的模型,只要它们所生成模型的维度小于原始数据。但是,t-SNE 能以三维或二维形式可视化所有数据集。
作为一种非线性变换方法,t-SNE 放弃了数据矩阵。相反,t-SNE 利用高斯核来计算数据点的成对相似性。在原始数据集中,相互靠近的点比距离较远的点相互靠近的概率要高。t-SNE 将所有数据点映射到三维或二维空间,同时尝试保留数据对。9
还有许多其他降维方法,例如核 PCA、因子分析、随机森林和奇异值分解 (SVD)。PCA、LDA 和 t-SNE 是最广泛使用和讨论的算法之一。请注意,一些包和库(例如 scikit-learn)预装了用于实现这些技术的函数。
降维通常被用于数据可视化用途。
降维经常出现在生物学研究中;在此类研究中,遗传变量的数量会超过观测值的数量。因此,少数研究会比较不同的降维技术,从而确定 t-SNE 和内核 PCA 对不同基因组数据集均最为有效。10 其他研究为选择计算生物学研究中的降维方法提出了更为具体的标准。11 近期的一项研究提出了一种改进版的 PCA,可用于与血统相关的遗传分析,并提供了有关获得无偏预测的建议。12
潜在语义分析 (LSA) 是应用于文本文档自然语言处理的一种 SVD 形式。LSA 本质上遵循这样的原则:词语之间的相似性体现在它们在语言子空间或小样本中同时出现的程度。13 LSA 用于比较医务工作者提供的情感支持语言,以论证最佳的生命周期修辞实践。14 其他研究使用 LSA 作为评估指标,以确认其他机器学习技术提供的洞察分析和成效。15
使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。
借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。
通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。
1 Lih-Yuan Deng, Max Garzon, and Nirman Kumar, Dimensionality Reduction in Data Science, Springer, 2022.
2 Ian Goodfellow Yoshua Bengio, and Aaron Courville, Deep Learning, MIT Press, 2016.
3 Richard Bellman, Adaptive Control Processes: A Guided Tour, Princeton University Press, 1961.
4 I.T. Jollife, Principal Component Analysis, Springer, 2002.
5 Chris Albon, Machine Learning with Python Cookbook, O’Reilly, 2018. Nikhil Buduma, Fundamentals of Deep Learning, O’Reilley, 2017.
6 I.T. Joliffe, Principal Component Analysis, Springer, 2002. Heng Tao Shen, “Principal Component Analysis,” Encyclopedia of Database Systems, Springer, 2018.
7 Chris Albon, Machine Learning with Python Cookbook, O’Reilly, 2018.
8 Chris Ding, “Dimension Reduction Techniques for Clustering,” Encyclopedia of Database Systems, Springer, 2018.
9 Laurens van der Maaten and Geoffrey Hinton, “Visualizing Data Using t-SNE,” Journal of Machine Learning Research, vol. 9, no. 86, 2008, pp. 2579−2605, https://www.jmlr.org/papers/v9/vandermaaten08a.html .
10 Shunbao Li, Po Yang, and Vitaveska Lanfranchi, "Examing and Evaluating Dimension Reduction Algorithms for Classifying Alzheimer’s Diseases using Gene Expression Data," 17th International Conference on Mobility, Sensing and Networking (MSN), 2021, pp. 687-693, https://ieeexplore.ieee.org/abstract/document/9751471. Ruizhi Xiang, Wencan Wang, Lei Yang, Shiyuan Wang, Chaohan Xu, and Xiaowen Chen, "A Comparison for Dimensionality Reduction Methods of Single-Cell RNA-seq Data," Frontiers in Genetics, vol. 12, 2021, https://www.frontiersin.org/journals/genetics/articles/10.3389/fgene.2021.646936/full.
11 Shiquan Sun, Jiaqiang Zhu, Ying Ma, and Xiang Zhou, “Accuracy, robustness and scalability of dimensionality reduction methods for single-cell RNA-seq analysis,” Genome Biology, vol. 20, 2019, https://genomebiology.biomedcentral.com/articles/10.1186/s13059-019-1898-6. Lan Huong Nguyen and Susan Holmes, “Ten quick tips for effective dimensionality reduction,” PLoS Computational Biology, vol. 15, no. 6, 2019, https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1006907.
12 Daiwei Zhang, Rounak Dey, and Seunggeun Lee, "Fast and robust ancestry prediction using principal component analysis," Bioinformatics, vol. 36, no. 11, 2020, pp. 3439–3446, https://academic.oup.com/bioinformatics/article/36/11/3439/5810493.
13 Nitin Indurkhya and Fred Damerau, Handbook of Natural Language Processing, 2nd edition, CRC Press, 2010.
14 Lauren Kane, Margaret Clayton, Brian Baucom, Lee Ellington, and Maija Reblin, "Measuring Communication Similarity Between Hospice Nurses and Cancer Caregivers Using Latent Semantic Analysis," Cancer Nursing, vol. 43, no. 6, 2020, pp. 506-513, https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6982541/.
15 Daniel Onah, Elaine Pang, and Mahmoud El-Haj, "Data-driven Latent Semantic Analysis for Automatic Text Summarization using LDA Topic Modelling," 2022 IEEE International Conference on Big Data, 2022, pp. 2771-2780, https://ieeexplore.ieee.org/abstract/document/10020259.