42 | PCA主成分分析(上):如何利用协方差矩阵来降维?
黄申
该思维导图由 AI 生成,仅供参考
你好,我是黄申。
在概率统计模块,我详细讲解了如何使用各种统计指标来进行特征的选择,降低用于监督式学习的特征之维度。接下来的几节,我会阐述两种针对数值型特征,更为通用的降维方法,它们是主成分分析 PCA(Principal Component Analysis)和奇异值分解 SVD(Singular Value Decomposition)。这两种方法是从矩阵分析的角度出发,找出数据分布之间的关系,从而达到降低维度的目的,因此并不需要监督式学习中样本标签和特征之间的关系。
PCA 分析法的主要步骤
我们先从主成分分析 PCA 开始看。
在解释这个方法之前,我先带你快速回顾一下什么是特征的降维。在机器学习领域中,我们要进行大量的特征工程,把物品的特征转换成计算机所能处理的各种数据。通常,我们增加物品的特征,就有可能提升机器学习的效果。可是,随着特征数量不断的增加,特征向量的维度也会不断上升。这不仅会加大机器学习的难度,还会影响最终的准确度。针对这种情形,我们需要过滤掉一些不重要的特征,或者是把某些相关的特征合并起来,最终达到在减少特征维度的同时,尽量保留原始数据所包含的信息。
了解了这些,我们再来看今天要讲解的 PCA 方法。它的主要步骤其实并不复杂,我一说你就能明白,但是为什么要这么做,你可能并不理解。咱们学习一个概念或者方法,不仅要知道它是什么,还要明白是怎么来的,这样你就能知其然,知其所以然,明白背后的逻辑,达到灵活运用。因此,我先从它的运算步骤入手,给你讲清楚每一步,然后再解释方法背后的核心思想。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了利用协方差矩阵进行降维的方法,重点介绍了主成分分析(PCA)的步骤和原理。首先解释了特征降维的必要性和PCA方法的基本思想。随后详细介绍了PCA的主要步骤,包括标准化原始数据、获取协方差矩阵、计算特征值和特征向量等。特别是对协方差矩阵的定义和计算进行了详细解释,以及如何计算特征值和特征向量的推导过程。通过这些步骤,读者可以了解PCA方法的具体操作和数学原理,从而更好地理解和运用这一降维方法。文章还提到了如何选择主要特征向量并转换原始数据的方法,以及如何确定合适的特征维度。此外,作者还提出了思考题,引发读者对文章内容的进一步思考。整体而言,本文通过详细的解释和示例,帮助读者理解了PCA的复杂计算步骤和抽象思路,为进一步学习和应用PCA提供了良好的基础。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《程序员的数学基础课》,新⼈⾸单¥68
《程序员的数学基础课》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(12)
- 最新
- 精选
- Joe一直有个问题为什么协方差是除以m-1,而不是m。方差,均方根等公式也是除m-1。好奇怪。
作者回复: 这是个很好的问题,涉及的内容比较多,我可以放在后面答疑来解释
2019-03-224 - !null是不是只有方阵才能求特征值和特征向量?特征值和特征向量的个数与矩阵的维度有关系吗?特征向量的维度和矩阵的维度有关系吗?
作者回复: 是的,如果是非方阵,可以使用SVD奇异值分解
2021-08-232 - yaya所以上只是讲解pca的步骤吗?非常赞同要明白他是为什么被提出的,怎么来的观点,但是pca如果只是记步骤很容易忘记,觉得还是从如何建模,然后推导而来更有印象。
作者回复: 非常同意,我会在下一篇解释为什么PCA要这么做
2019-03-222 - 牛奶请问,在解释协方差公式的时候,xbar是不是应该表示的是“m个样本x这个属性的平均值”?还有一个问题就是,关于这句“协方差是用于衡量两个变量的总体误差”,对于协方差的意义我只能理解到,协方差表示的是两个变量之间的相关性,为什么是两个变量的总体误差呢?
作者回复: 对,xbar是平均值。你说的相关性和协方差类似,但不同。类似之处在于,它们都是研究两个变量之间的关系。不同在于,两个变量的相关系数是看它们是否同时往一个方向变化。如果变量A变大,B也变大,A变小B也变小,那么就是正相关,用正数。反之,A变大B变小,A变小B变大,那么就是负相关,用负数表示。而两者的协方差永远是正的
2021-03-121 - 骑行的掌柜J这里Xn,1+...... 后面的括号是不是写错了?还是写掉了一部分?黄老师 (x1,1−λ)(x2,2−λ)…(xn,n−λ)+x1,2x2,3…xn−1,nxn,1+…)−(xn,1xn−1,2…x2,n−1x1,n)=0 谢谢 因为有点没看懂😂
作者回复: 应该是排版的格式问题,我查了一下自己的原稿,式子最左边还有一个左括号
2020-07-061 - !null|(X-λI)| 那个竖线是什么意思?行列式是什么意思?怎么算的
作者回复: 从几何的角度来理解,行列式的计算是为了求解n维空间中平行体的体积
2020-10-10 - qinggeouyemarkdown 语法支持不是很好 (1) 标准化原始数据 $$ x' = \frac{x-μ}{σ} $$ 第一列 均值 $μ_1 = 0$ , 方差 ${σ_1}^2 = [(1-0)^2 + (2-0)^2 + (-3-0)^2]/3 = 14/3$ 第二列 均值 $μ_2 =1/3 $ , 方差 ${σ_2}^2 = [(3-1/3)^2 + (5-1/3)^2 + (-7-1/3)^2]/3 = 248/9$ 第三列 均值 $μ_3 =-19/3 $ , 方差 ${σ_3}^2 = [(-7+19/3)^2 + (-14+19/3)^2 + (2+19/3)^2]/3 = 386/9$ 则, $$ \mathbf{X'} = \begin{vmatrix} 0.46291005&0.50800051&-0.10179732\\0.9258201&0.88900089&-1.17066918\\-1.38873015&-1.3970014&1.2724665\\\end{vmatrix} $$ (2)协方差矩阵 $$ \mathbf{cov(X_{,i}, X_{,j})} = \frac{\sum_{k=1}^m(x_{k,i} - \bar{X_{,i}})(x_{k,j} - \bar{X_{,j}})}{m-1} $$ $$ \mathbf{X'}.mean(asix=0) = [0,0, -7.401486830834377e-17] $$ $$ \mathbf{cov(X_{,i}, X_{,j})} = \frac{(\mathbf{X'[:,i-1]} - \mathbf{X'[:,i-1]}.mean()).transpose().dot(\mathbf{X'[:,j-1]} - \mathbf{X'[:,j-1]}.mean())} {m-1} $$ 协方差矩阵(对角线上是各维特征的方差): $$ \mathbf{COV} = \begin{vmatrix} \mathbf{cov(X_{,1}, X_{,1})} & \mathbf{cov(X_{,1}, X_{,2})} & \mathbf{cov(X_{,1}, X_{,3})} \\ \mathbf{cov(X_{,2}, X_{,1})} & \mathbf{cov(X_{,2}, X_{,2})} & \mathbf{cov(X_{,2}, X_{,3})} \\ \mathbf{cov(X_{,3}, X_{,1})} &\mathbf{cov(X_{,3}, X_{,2})} &\mathbf{cov(X_{,3}, X_{,3})}\\\end{vmatrix} = \begin{vmatrix} 1.5 & 1.4991357 & -1.44903232 \\ 1.4991357 & 1.5 & -1.43503825 \\ -1.44903232 & -1.43503825 & 1.5 \\\end{vmatrix} $$2019-03-3124
- 余泽锋import numpy as np import pandas as pd from sklearn.preprocessing import scale array = np.array([[1, 3, -7], [2, 5, -14], [-3, -7, 2]]) array = scale(array) df = pd.DataFrame(array) df.corr()2019-04-1113
- 建强1.标准化 第一步:计算每列平均值: E(X1) = 0, E(X2) = 1/3, E(X3) = -19/3 第二步:计算每列方差: D(X1) = 14/3, D(X2) = 248/9, D(X3) = 386/9 第三步:根据标准化公式:[X - E(X)] / SQRT[D(X)]做标准化处理,结果: X11 = 0.4628, X12 = 0.508, X13 = -0.1018 X21 = 0.9258, X22 = 0.889, X23 = -1.1707 X31 = -1.389, X32 = -1,397, X33 = 1.2725 2.协方差矩阵 [[ 7. , 17. , -20.5 ], [ 17. , 41.33333333, -49.33333333], [-20.5 , -49.33333333, 64.33333333]]2020-11-0112
- piboye最重要的数学推导没有啊2023-12-17归属地:广东
收起评论