主成分分析(PCA)——矩阵角度推导

这篇具有很好参考价值的文章主要介绍了主成分分析(PCA)——矩阵角度推导。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 写在前面

最近机器学习课上正式讲了主成分分析,只是老师说的很快,我并没有完全理解。随后我搜了很多关于这方面的讲解来进行理解,仅CSDN上就有很多讲的很好的文章,从协方差矩阵角度进行说明,基本上我也都理解了。但另一方面我发现可以结合我最近学的矩阵分析,从纯矩阵运算的角度推导。这里说明在阅读这篇文章之前,最好对矩阵知识有一定的了解,不过不用多深,因为我才刚刚开始学矩阵分析,所以我对矩阵的了解也不深。

2. 简单示例

在进一步推导公式什么的之前,我希望先通过一个简单的例子来具象化对PCA的理解。虽然数学概念是抽象的,但是它发挥作用的地方就在我们身边,特别是机器学习的概念知识。首先PCA是干什么的呢?它是用来降低输入的维度的,因为维度太高实在是不好分析,而且也没办法具象地显示出来。那怎么降低输入矩阵的维度呢,直接把其中的几个维度删掉吗?那这样的话,删掉哪几个呢?肯定不是直接删掉其中的维度,万一把关键的输入信息给删掉了,就算降低维度了,这个错误的输入还有什么用呢?PCA的思想是把输入的点投影到几个正交轴上,这里的轴就代表着维度,如果可以在删掉其中几个轴的同时还保留原来的大部分信息,那么这个降维就成功了。这是如何做到的呢?下面我们来看一个例子:

假如平面内存在三个坐标点,它们分别是(1,2), (2,4)和(3,6)。显然在这种情况下要表示这三个点我们得有两个维度,也就是(1,0)和(0,1)。如果我们换一个维度,这三个点还是这样表示吗?我们令新的维度是(1,2),(2,-1)。上述三个坐标点就变成了(1,0),(2,0)和(3,0)。可以看到在第二个维度下,三个点的坐标都是0,也就是说这三个点在第二个维度上没有一点变化,如果我们删掉第二个维度,原本三个坐标点的坐标信息是完全被保留了的,这也蕴含了PCA的主要思想:换基底。

很多时候,人往往会忽略司空见惯的东西,把一切都当做是理所当然。当我们写下每个数字的时候,我们往往会以十进制的角度去考虑它们,同样在我们标出点的坐标的时候我们也会以(1,0)和(0,1)为基底去表示它们。但是,这并不是理所当然的,坐标的位置并不会因为我们选取的基底而改变,我们选取(1,0)和(0,1)最直接的考量是这样表示简单,但情况并不总是这样。正如上述的例子,如果我们换一个基底表示这些点,坐标会变得更加简单。

3. 正式推导

通过上面的说明,我想大家应该对基底变换和它的作用有了更加具象的理解,下面我们要把具象的示例抽象出来,用数学语言进行表达。考虑一个输入矩阵:

这个矩阵表明输入的特征维度是n,共有m个样本。其实当我写出这个矩阵的时候,就已经隐含了一个信息,即这是以单位矩阵为基底的矩阵,因此每个样本的特征可以这样表示

整体就是:

注意,这里的X是原来输入矩阵的转置。到这里可能你会觉得好笑,你写的这不是废话吗?就像写1=1这么无聊。好,下面我们要换个基底,在新的基底下表示X,这个新的基底也要是个单位正交矩阵,那么就有:

代入上面的例子,输入矩阵是

显然有,这里为了简单我就没把I'单位化了,是需要要单位化的,这样使

因此我们有:

这里

在新的基底下,每个样本点在某一个维度上的投影或者坐标就从原来的

变成了

PCA的想法是能够在删除维度的同时尽可能保留更多的信息。还记得我们上面的示例吗?如果我们能让点投影到某个维度上之后,它原本的信息仅通过这个维度就可以尽可能地进行保存,那么去掉其他维度就不会损失什么信息。如何实现这点呢?其实这是个线性回归的问题,即找到一个直线的使所有点到该直线距离平方和最小,这样我们可以说这个方向已经尽力做到了最好,保留了尽可能多的信息。

主成分分析(PCA)——矩阵角度推导,矩阵,算法,机器学习

到这个直线距离的平方和最小,其实也就是投影到这个方向上坐标的平方和最大主成分分析(PCA)——矩阵角度推导,矩阵,算法,机器学习

我们知道投影到任一维度的坐标是

如何使其平方和达到最大呢?首先我们得想办法表示这个出这个平方和。我们有:

显然我们关注的平方和是这个矩阵的主元,即

这步如果不太懂请仔细看看矩阵方面的知识,需要灵活掌握矩阵维度的表示。

由于是对称矩阵,有

U为正交矩阵,是对角矩阵,主元为特征值,从大到小依次排列,U是特征值对应的特征向量组成的矩阵。

同样是正交矩阵。

因此我们要使上式达到最大有:
主成分分析(PCA)——矩阵角度推导,矩阵,算法,机器学习

根据拉格朗日乘子法可解得:

那么此时我们就找到了第一个我们要的方向,就是U的第一列,即的最大特征值对应的特征向量。我们先把所有点投影到这个方向上,可以保留最多的信息。可能你会奇怪为什么这里的变成了第一个方向,这是因为坐标系轴的方向是相对的而不是绝对的,我在这里用表示新基底的向量是想表明通用性。找到第一个方向了,第二个方向该如何找呢?首先我们知道:

因为互相正交,所以有

可得,此时约束方程就变成了

 主成分分析(PCA)——矩阵角度推导,矩阵,算法,机器学习

此时有

同理我们可以接着找下面的方向,你会发现每个向量就是相应特征值对应的特征向量,X是已知的,我们也可以解得特征值和特征向量,所以就解出来了,对应的在新的基底下的X的表示也可以求出,至此结束。

4. 结语

可以看到,与其他文章从协方差矩阵角度出发不同的是,上面的过程我并没提到方差,就是通过矩阵运算,附带用拉格朗日乘子法求最值来进行求解。但目前还存在一个问题,就是我发现在求解完成之后我其实并没有去中心化,也就是我上面的输入矩阵必须要减去均值才能完全对上其他文章从协方差矩阵出发的结果。那么在这里,为什么要减去均值呢?总之,我认为矩阵分析是非常值得研究和学习的,HORN的矩阵分析教材我十分推荐,非常值得阅读,也顺带批评一下国内的线代教材,写的实在一言难尽(本人工科,入门矩阵知识就是通过线代)。文章来源地址https://www.toymoban.com/news/detail-840134.html

到了这里,关于主成分分析(PCA)——矩阵角度推导的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【机器学习】 奇异值分解 (SVD) 和主成分分析 (PCA)

            在机器学习 (ML) 中,一些最重要的线性代数概念是奇异值分解 (SVD) 和主成分分析 (PCA)。收集到所有原始数据后,我们如何发现结构?例如,通过过去 6 天的利率,我们能否了解其构成以发现趋势?         对于高维原始数据,这变得更加困难。这就像

    2024年02月15日
    浏览(52)
  • 【数学建模】常用算法-主成分分析PCA的Python实现

    本文主要讲解主成分分析析法(PCA)的python实现,后续会跟进实例分析 主成分分析PCA是一种应用广泛的和降维方法,对其实现做以下归纳 导入包 定义计算协方差矩阵函数 X为输入的数据,m为样本数据的条数,也就是X的行数。 对X进行标准化,方法为:减去均值除以方差,这

    2023年04月08日
    浏览(103)
  • PCA(主成分分析)的理解与应用(学习笔记)

    PCA         主成分分析(Principal Component Analysis, PCA)是一种线性降维算法,也是一种常用的数据预处理(Pre-Processing)方法。它的目标是是用方差(Variance)来衡量数据的差异性,并将差异性较大的高维数据投影到低维空间中进行表示。绝大多数情况下,我们希望获得两个

    2024年02月05日
    浏览(49)
  • 【数据挖掘】PCA/LDA/ICA:A成分分析算法比较

            在深入研究和比较算法之前,让我们独立回顾一下它们。请注意,本文的目的不是深入解释每种算法,而是比较它们的目标和结果。 如果您想了解更多关于

    2024年02月15日
    浏览(43)
  • R语言——采用主成分分析PCA方法下的“S 模式 “矩阵从同步分类中提取度量指标

    本教程将向您展示如何根据我们的综合分类计算一些指标。 PCA(Principal Component Analysis,主成分分析)是一种常用的数据降维技术,用于从高维数据中提取最重要的特征。它通过将原始数据转换为一组新的正交变量,称为主成分,以捕捉数据中最大的方差。 1. 数据标准化:如

    2024年03月15日
    浏览(53)
  • 机器学习实战教程(四):从特征分解到协方差矩阵:详细剖析和实现PCA算法

    方差和标准差的原理和实例演示,请参考 方差 方差(Variance)是度量一组数据的分散程度。方差是各个样本与样本均值的差的平方和的均值: 标准差 标准差是数值分散的测量。 标准差的符号是 σ (希腊语字母 西格马,英语 sigma) 公式很简单:方差的平方根。 协方差 通俗

    2024年02月02日
    浏览(50)
  • PCA分析(主成分分析)--结果解读

    主成分分析( PCA )是一个很好的工具,可以用来降低特征空间的维数。 PCA 的显著优点是它能产生不相关的特征,并能提高模型的性能。 PCA 用于减少用于训练模型的特征维度数量,它通过从多个特征构造所谓的主成分( PC )来实现这一点。 PC 的构造方式使得 PC1 方向在最大

    2024年02月03日
    浏览(37)
  • PCA主成分分析

    目前图像特征的提取主要有两种方法:传统图像特征提取方法 和 深度学习方法。 传统的特征提取方法:基于图像本身的特征进行提取(PCA); 深度学习方法:基于样本自动训练出区分图像的特征分类器; 特征选择(feature selection)和特征提取(Feature extraction)都属于 降维

    2024年02月08日
    浏览(52)
  • 主成分分析(PCA)详解

    主成分分析(PCA)是一种比较基础的数据降维方法,也是多元统计中的重要部分,在数据分析、机器学习等方面具有广泛应用。主成分分析目的是用较少的变量来代替原来较多的变量,并可以反映原来多个变量的大部分信息。 对于一个含有n个数据,变量的个数为p的一个样本,

    2024年01月17日
    浏览(44)
  • 主成分分析(PCA)原理详解

    在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观测,收集大量数据后进行分析寻找规律。多变量大数据集无疑会为研究和应用提供丰富的信息,但是也在一定程度上增加了数据采集的工作量。更重要的是在很多情形下,许多变量之间可能存在相关性,从而

    2024年02月07日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包