Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >机器学习中7种常用的线性降维技术总结

机器学习中7种常用的线性降维技术总结

作者头像
deephub
发布于 2024-02-21 05:44:24
发布于 2024-02-21 05:44:24
8830
举报
文章被收录于专栏:DeepHub IMBADeepHub IMBA

上篇文章中我们主要总结了非线性的降维技术,本文我们来总结一下常见的线性降维技术。

1、Principal Component Analysis (PCA)

Principal Component Analysis (PCA) 是一种常用的降维技术,用于将高维数据集转换为低维表示,同时保留数据集的主要特征。PCA 的目标是通过找到数据中最大方差的方向(主成分),将数据投影到这些方向上,从而实现降维。

PCA 的主要思想是通过线性变换将原始数据映射到一个新的坐标系下,使得在新的坐标系下数据的方差最大化。这些新的坐标轴称为主成分,它们是原始特征的线性组合。通过保留最大方差的主成分,可以保留数据中最重要的信息,而丢弃方差较小的主成分可以达到降维的效果。

PCA 的步骤如下:

  1. 标准化数据:对原始数据进行标准化处理,使得每个特征的均值为 0,方差为 1。
  2. 计算协方差矩阵:计算标准化后的数据的协方差矩阵。
  3. 计算特征值和特征向量:对协方差矩阵进行特征值分解,得到特征值和对应的特征向量。
  4. 选择主成分:按照特征值的大小选择前 k 个特征向量作为主成分,其中 k 是降维后的维度。
  5. 投影数据:将原始数据投影到选定的主成分上,得到降维后的数据集。

PCA 可以用于数据可视化、去除噪音、减少计算量等。然而,需要注意的是,PCA 假设数据是线性可分的,因此在应用 PCA 之前需要对数据进行一定的预处理和理解。

2、Factor Analysis (FA)

Factor Analysis (FA) 是一种统计方法,用于探索观察到的变量之间的潜在结构或因素。它试图找到能够解释观察到的变量之间共同变异的潜在因素,并将这些变量归纳为较少数量的无关变量。

FA 和 PCA 有些相似,但也有一些重要的区别:

  1. 目标:PCA 旨在找到最大方差的方向,而 FA 旨在找到潜在的变量(因素),这些变量能够解释观察到的变量之间的共同变异。
  2. 假设:PCA 假设观察到的变量是观察到的原始特征,而 FA 假设观察到的变量是潜在因素的线性组合和随机误差的总和。
  3. 解释性:PCA 往往更直接,因为它的主成分是原始特征的线性组合。而 FA 的因素可能不太容易解释,因为它们是观察到的变量的线性组合,而非原始特征。
  4. 旋转:在 FA 中,因素通常会进行旋转,以使它们更易于解释。

FA 在许多领域都有应用,包括心理学、社会科学、市场研究等。它可用于简化数据集、识别潜在结构、减少测量误差等。但是需要谨慎选择适当的因素数目和因素旋转方法,以确保结果的可解释性和有效性。

3、Linear Discriminant Analysis,LDA

线性判别分析(Linear Discriminant Analysis,LDA)是一种用于降维和特征提取的监督学习技术。它与主成分分析(PCA)不同,因为它不仅考虑了数据的方差结构,还考虑了数据的类别信息。LDA 旨在找到一个投影方向,最大化不同类别之间的距离(类间散布),同时最小化同一类别内部的距离(类内散布)。

LDA 的主要步骤如下:

  1. 计算类别的均值向量:对于每个类别,计算该类别下所有样本的均值向量。
  2. 计算类内散布矩阵(Within-class scatter matrix):对于每个类别,计算该类别下所有样本与其均值向量之间的散布矩阵,并将它们求和。
  3. 计算类间散布矩阵(Between-class scatter matrix):计算所有类别的均值向量与总体均值向量之间的散布矩阵。
  4. 计算特征值和特征向量:对于矩阵的逆矩阵乘以类间散布矩阵,得到的矩阵进行特征值分解,得到特征值和特征向量。
  5. 选择投影方向:选择特征值最大的前 k 个特征向量作为投影方向,其中 k 是降维后的维度。
  6. 投影数据:将原始数据投影到选定的投影方向上,得到降维后的数据。

LDA 的优点在于它考虑了数据的类别信息,因此生成的投影能更好地区分不同类别之间的差异。它在模式识别、人脸识别语音识别等领域中有着广泛的应用。LDA 在处理多类别和类别不平衡的情况下可能会遇到一些问题,需要特别注意。

4、Eigendecomposition

Eigendecomposition(特征值分解)是一种用于对方阵进行分解的数学技术。它将一个方阵分解为一组特征向量和特征值的乘积形式。特征向量表示了在转换中不改变方向的方向,而特征值表示了在转换中沿着这些方向的缩放比例。

给定一个方阵 AA,其特征值分解表示为:

其中,Q是由 A 的特征向量组成的矩阵,Λ是对角矩阵,其对角线上的元素是 A的特征值。

特征值分解有许多应用,包括主成分分析(PCA)、特征脸识别、谱聚类等。在PCA中,特征值分解用于找到数据协方差矩阵的特征向量,从而找到数据的主成分。在谱聚类中,特征值分解用于找到相似性图的特征向量,从而进行聚类。特征脸识别利用了特征值分解来识别人脸图像中的重要特征。

虽然特征值分解在许多应用中非常有用,但并非所有的方阵都能进行特征值分解。例如,奇异矩阵(singular matrix)或非方阵就不能进行特征值分解。特征值分解在大型矩阵计算上可能是非常耗时的。

5、Singular value decomposition (SVD)

奇异值分解(Singular Value Decomposition,SVD)是一种用于矩阵分解的重要技术。它将一个矩阵分解为三个矩阵的乘积形式,这三个矩阵分别是一个正交矩阵、一个对角矩阵和另一个正交矩阵的转置。

给定一个 m × n 的矩阵 AA,其奇异值分解表示为:

其中,U 是一个 m × m 的正交矩阵,称为左奇异向量矩阵;Σ 是一个 m × n 的对角矩阵,其对角线上的元素称为奇异值;VT 是一个 n × n 的正交矩阵的转置,称为右奇异向量矩阵。

奇异值分解具有广泛的应用,包括数据压缩、降维、矩阵逆求解、推荐系统等。在降维中,只保留奇异值较大的项,可以实现对数据的有效压缩和表示。在推荐系统中,通过奇异值分解可以对用户和项目之间的关系进行建模,从而提供个性化的推荐。

奇异值分解还可以用于矩阵逆求解,特别是对于奇异矩阵。通过保留奇异值较大的项,可以近似求解逆矩阵,从而避免了对奇异矩阵求逆的问题。

6、Truncated Singular Value Decomposition (TSVD)

截断奇异值分解(Truncated Singular Value Decomposition,TSVD)是奇异值分解(SVD)的一种变体,它在计算中只保留最重要的奇异值和对应的奇异向量,从而实现数据的降维和压缩。

给定一个 m × n 的矩阵 AA,其截断奇异值分解表示为:

其中,Uk 是一个 m × k 的正交矩阵,Σk 是一个 k × k 的对角矩阵,VkT 是一个 k × n 的正交矩阵的转置,这些矩阵对应于保留最重要的 k 个奇异值和对应的奇异向量。

TSVD 的主要优点在于它可以通过保留最重要的奇异值和奇异向量来实现数据的降维和压缩,从而减少了存储和计算成本。这在处理大规模数据集时尤其有用,因为可以显著减少所需的存储空间和计算时间。

TSVD 在许多领域都有应用,包括图像处理、信号处理、推荐系统等。在这些应用中,TSVD 可以用于降低数据的维度、去除噪声、提取关键特征等。

7、Non-Negative Matrix Factorization (NMF)

Non-Negative Matrix Factorization (NMF) 是一种用于数据分解和降维的技术,其特点是分解得到的矩阵和向量都是非负的。这使得 NMF 在许多应用中都很有用,特别是在文本挖掘、图像处理和推荐系统等领域。

给定一个非负矩阵 VV,NMF 将其分解为两个非负矩阵 WW 和 HH 的乘积形式:

其中,W 是一个 m × k 的非负矩阵,称为基矩阵(basis matrix)或者特征矩阵(feature matrix),H 是一个 k × n 的非负矩阵,称为系数矩阵(coefficient matrix)。这里的 k 是降维后的维度。

NMF 的优点在于它能够得到具有物理含义的分解结果,因为所有的元素都是非负的。这使得 NMF 在文本挖掘中能够发现潜在的主题,而在图像处理中能够提取出图像的特征。此外,NMF 还具有数据降维的功能,可以减少数据的维度和存储空间。

NMF 的应用包括文本主题建模、图像分割与压缩、音频信号处理、推荐系统等。在这些领域中,NMF 被广泛应用于数据分析和特征提取,以及信息检索和分类等任务中。

总结

线性降维技术是一类用于将高维数据集映射到低维空间的技术,其核心思想是通过线性变换来保留数据集的主要特征。这些线性降维技术在不同的应用场景中有其独特的优势和适用性,可以根据数据的性质和任务的要求选择合适的方法。例如,PCA适用于无监督的数据降维,而LDA适用于监督学习任务。

结合前一篇文章,我们介绍了10种非线性降维技术核7种线性降维技术,下面我们来做个总结

线性降维技术:基于线性变换将数据映射到低维空间,适用于线性可分的数据集;例如数据点分布在一个线性子空间上的情况;因为其算法简单,所以计算效率高,易于理解和实现;通常不能捕捉数据中的非线性结构,可能会导致信息丢失。

非线性降维技术:通过非线性变换将数据映射到低维空间;适用于非线性结构的数据集,例如数据点分布在流形上的情况;能够更好地保留数据中的非线性结构和局部关系,提供更好的可视化效果;计算复杂度较高,通常需要更多的计算资源和时间。

如果数据是线性可分的或者计算资源有限,可以选择线性降维技术。而如果数据包含复杂的非线性结构或者需要更好的可视化效果,可以考虑使用非线性降维技术。在实践中,也可以尝试不同的方法,并根据实际效果来选择最合适的降维技术。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DeepHub IMBA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
机器学习速成第三集——无监督学习之降维(理论部分)!
无监督学习中的降维技术是将高维数据降低到低维空间,以便更容易处理和可视化。常见的降维方法包括主成分分析(PCA)、独立成分分析(ICA)、t分布随机邻近嵌入(t-SNE)、线性判别分析(LDA)等。
用户11315985
2024/10/16
1880
机器学习速成第三集——无监督学习之降维(理论部分)!
Python机器学习数据降维及其可视化
机器学习在数据分析与挖掘中的应用越来越广泛,随着机器学习模型的不断发展,处理的数据量和数据维度越来越大,衡量模型性能和可视化数据信息变得至关重要。一般来说用于挖掘的数据信息都是多维的,而目前数据可视化一般为二维或者三维的,要想对高维数据可视化必须进行降维。
深度学习与Python
2019/06/18
2.9K0
【机器学习-无监督学习】降维与主成分分析
  在上一篇文章聚类中,我们介绍了无监督学习的重要问题之一:聚类问题,并主要讲解了k均值算法。结尾处我们提到,在解决复杂聚类问题时,第一步通常不会直接使用k均值算法,而是会先用其他手段提取数据的有用特征。对于高维复杂数据来说,其不同维度代表的特征可能存在关联,还有可能存在无意义的噪声干扰。因此,无论后续任务是有监督学习还是无监督学习,我们都希望能先从中提取出具有代表性、能最大限度保留数据本身信息的几个特征,从而降低数据维度,简化之后的分析和计算。这一过程通常称为数据降维(dimensionality reduction),同样是无监督学习中的重要问题。本文就来介绍数据降维中最经典的算法——主成分分析(principal component analysis,PCA)。
Francek Chen
2025/01/22
1730
【机器学习-无监督学习】降维与主成分分析
三个主要降维技术对比介绍:PCA, LCA,SVD
随着数据集的规模和复杂性的增长,特征或维度的数量往往变得难以处理,导致计算需求增加,潜在的过拟合和模型可解释性降低。降维技术提供了一种补救方法,它捕获数据中的基本信息,同时丢弃冗余或信息较少的特征。这个过程不仅简化了计算任务,还有助于可视化数据趋势,减轻维度诅咒的风险,并提高机器学习模型的泛化性能。降维在各个领域都有应用,从图像和语音处理到金融和生物信息学,在这些领域,从大量数据集中提取有意义的模式对于做出明智的决策和建立有效的预测模型至关重要。
deephub
2023/10/09
1.4K0
三个主要降维技术对比介绍:PCA, LCA,SVD
《人工智能之高维数据降维算法:PCA与LDA深度剖析》
在人工智能与机器学习蓬勃发展的当下,数据处理成为关键环节。高维数据在带来丰富信息的同时,也引入了计算复杂度高、过拟合风险增大以及数据稀疏性等难题。降维算法应运而生,它能将高维数据映射到低维空间,在减少维度的同时最大程度保留关键信息。主成分分析(PCA)与线性判别分析(LDA)作为两种常用的降维算法,在人工智能领域应用广泛。本文将深入探讨它们的原理。
程序员阿伟
2025/02/26
1820
使用Python进行数据降维|线性降维
为什么要进行数据降维?直观地好处是维度降低了,便于计算和可视化,其深层次的意义在于有效信息的提取综合及无用信息的摈弃,并且数据降维保留了原始数据的信息,我们就可以用降维的数据进行机器学习模型的训练和预测,但将有效提高训练和预测的时间与效率。
刘早起
2020/04/22
1.7K0
机器学习(8) -- 降维
Content 10. Dimensionality Reduction   10.1 Motivation     10.1.1 Motivation one: Data Compression     10.2.2 Motivation two: Visualization   10.2 Principal Component Analysis     10.2.1 Problem formulation     10.2.2 Principal Component Analysis Algorith
昱良
2018/04/04
9650
机器学习(8) -- 降维
机器学习(29)之奇异值分解SVD原理与应用详解
关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第一 【Python】:排名第三 【算法】:排名第四 前言 奇异值分解(Singular Value Decomposition,简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域,是很多机器学习算法的基石。本文就对SVD的原理做一个总结,并讨论在在PCA降维算法中是如何运用运用SVD的。 特征值与特征向量 首先回顾下特征值和特征向量的定义如下: Ax=λx 其中A是
昱良
2018/04/04
2K0
机器学习(29)之奇异值分解SVD原理与应用详解
机器学习算法之PCA算法
在机器学习中降维是我们经常需要用到的算法,在降维的众多方法中PCA无疑是最经典的机器学习算法之一,最近准备撸一个人脸识别算法,也会频繁用到PCA,本文就带着大家一起来学习PCA算法。
BBuf
2019/12/04
1.2K0
机器学习算法之PCA算法
「Workshop」第十一期:降维
前言:主要是从理解降维和用R实现降维这两个层面上来阐述,具体的算法还需要感兴趣的小伙伴另外了解。
王诗翔呀
2020/08/10
1.3K0
「Workshop」第十一期:降维
PCA、SVD深入浅出与python代码
我个人的理解:PCA本质上就是寻找数据的主成分。我们可以简单的打个比方,假设有一组高维数据。他的主成分方向就是用一个线性回归拟合这些高维数据的方向。用最小二乘的逻辑拟合的。其他的主成分都是与最大主成分正交的。
机器学习炼丹术
2023/03/16
1.1K0
PCA、SVD深入浅出与python代码
机器学习(20)——数据降维为什么要降维?PCA原理LDA比较:
前言:正所谓每一个结果的出现都是一系列的原因导致的,当构建机器学习模型时候,有时候数据特征异常复杂,这就需要经常用到数据降维技术,下面主要介绍一些降维的主要原理 为什么要降维? 在实际的机器学习项目中,特征选择/降维是必须进行的,因为在数据中存在以下几个 方面的问题: 数据的多重共线性:特征属性之间存在着相互关联关系。多重共线性会导致解的空间不稳定, 从而导致模型的泛化能力弱; 高纬空间样本具有稀疏性,导致模型比较难找到数据特征; 过多的变量会妨碍模型查找规律; 仅仅考虑单个变量对于目标属性的影响可能忽略变
DC童生
2018/04/27
19.4K0
机器学习(20)——数据降维为什么要降维?PCA原理LDA比较:
奇异值分解(SVD)原理与在降维中的应用
    奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石。本文就对SVD的原理做一个总结,并讨论在在PCA降维算法中是如何运用运用SVD的。
刘建平Pinard
2018/08/14
6910
奇异值分解(SVD)原理与在降维中的应用
机器学习降维算法汇总!
最近看了一些关于降维算法的东西,本文首先给出了七种算法的一个信息表,归纳了关于每个算法可以调节的(超)参数、算法主要目的等等,然后介绍了降维的一些基本概念,包括降维是什么、为什么要降维、降维可以解决维数灾难等,然后分析可以从什么样的角度来降维,接着整理了这些算法的具体流程。
算法进阶
2023/10/23
6230
机器学习降维算法汇总!
数据降维处理:PCA之奇异值分解(SVD)介绍
《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来! 01 — 回顾 昨天实践了一个数据降维的例子,用到了5个二维的样本点,通过特征值分解法,将样本降维为1个维度,这个过程又称为数据压缩,关于这篇文章,请参考: 数据降维处理:PCA之特征值分解法例子解析 今天来进一步谈谈数据降维,以实现主成分提取的另一种应用非常广泛的方法:奇异值分解法,它和特征值分解法有些相似,但是从某些角度讲,比特征值分解法更强
double
2018/04/02
1.8K0
数据降维处理:PCA之奇异值分解(SVD)介绍
降维
PCA的主要思想是将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。PCA的工作就是从原始的空间中顺序地找一组相互正交的坐标轴,新的坐标轴的选择与数据本身是密切相关的。其中,第一个新坐标轴选择是原始数据中方差最大的方向,第二个新坐标轴选取是与第一个坐标轴正交的平面中使得方差最大的,第三个轴是与第1,2个轴正交的平面中方差最大的。依次类推,可以得到n个这样的坐标轴。通过这种方式获得的新的坐标轴,我们发现,大部分方差都包含在前面k个坐标轴中,后面的坐标轴所含的方差几乎为0。于是,我们可以忽略余下的坐标轴,只保留前面k个含有绝大部分方差的坐标轴。事实上,这相当于只保留包含绝大部分方差的维度特征,而忽略包含方差几乎为0的特征维度,实现对数据特征的降维处理。
用户10713522
2023/08/17
2080
【数据挖掘】解码数据降维:主成分分析(PCA)和奇异值分解(SVD)
译者按:当拥有非常高纬度的数据集时,给数据降低纬度对于分析来说是非常重要的。降维要求分析人员在最大程度降低数据纬度的同时,尽可能多的保留原数据中包含的信息。主成分分析(PCA)是降维的常用方法之一,而奇异值分解(SVD)则是实现主成分分析的重要手法。本文在不涉及太多数学细节的条件下,形象生动地解析数据降维的过程,并通过人脸识别的例子,直观地展示了主成分分析的显著降维效果。 每一天,IBM会产生250万的三次方比特的数据,而这些生成的数据中的大部分是高纬度的。顾名思义,为使工作更为有效,给数据降维是必不可少的
陆勤_数据人网
2018/02/27
2.6K0
【数据挖掘】解码数据降维:主成分分析(PCA)和奇异值分解(SVD)
MLK | 机器学习的降维"打击"
"MLK,即Machine Learning Knowledge,本专栏在于对机器学习的重点知识做一次梳理,便于日后温习,内容主要来自于《百面机器学习》一书,结合自己的经验与思考做的一些总结与归纳,本
Sam Gor
2019/07/15
6620
MLK | 机器学习的降维"打击"
【Scikit-Learn 中文文档】分解成分中的信号(矩阵分解问题) - 无监督学习 - 用户指南 | ApacheCN
2.5. 分解成分中的信号(矩阵分解问题) 2.5.1. 主成分分析(PCA) 2.5.1.1. 准确的PCA和概率解释(Exact PCA and probabilistic interpretation) PCA 用于对一组连续正交分量中的多变量数据集进行方差最大方向的分解。 在 scikit-learn 中, PCA 被实现为一个变换对象, 通过 fit 方法可以降维成 n 个成分, 并且可以将新的数据投影(project, 亦可理解为分解)到这些成分中。 可选参数 whiten=Tr
片刻
2018/01/15
1.3K0
【Scikit-Learn 中文文档】分解成分中的信号(矩阵分解问题) - 无监督学习 - 用户指南 | ApacheCN
掌握机器学习数学基础之线代(二)
标量、向量、矩阵和张量 矩阵向量的运算 单位矩阵和逆矩阵 行列式 方差,标准差,协方差矩阵-------(第一部分) 范数 特殊类型的矩阵和向量 特征分解以及其意义 奇异值分解及其意义 Moore-Penrose 伪逆 迹运算 读完估计需要10min,这里主要讲解剩余部分,第一部分详见之前文章^-^ 范数 什么是范数,听得那么术语..其实就是衡量一个向量大小的单位。在机器学习中,我们也经常使用被称为范数(norm) 的函数衡量矩阵大小 (为什么是这样的,不要管了,要扯就扯偏了,记得是衡量向量或者矩阵大小
企鹅号小编
2018/02/13
7870
掌握机器学习数学基础之线代(二)
推荐阅读
相关推荐
机器学习速成第三集——无监督学习之降维(理论部分)!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档