机器学习-主成分分析PCA降维

Posted 吾仄lo咚锵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习-主成分分析PCA降维相关的知识,希望对你有一定的参考价值。

文章目录

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

简介


主成分分析(Principle Component Analysis,PCA)是常用的降维方法,用较少的互不相关的新变量来反映原变量所表示的大部分信息,有效解决维度灾难问题。

一种直观的解释是,主成分是对所有样本点的一种投影,且我们希望投影后可以尽可能的分开,即使得投影后样本点的方差最大化。不难理解,方差越大,越能反映数据特征。


上图摘自https://blog.csdn.net/qq_35164554/article/details/101058673

主成分分析包括如下几个步骤:

  1. 计算均值
  2. 计算协方差
  3. 计算协方差矩阵对应的特征值和特征向量
  4. 计算第n主成分及其贡献率

步骤


为方便说明,以如下数据集为例:

x1x2
12
53

均值

求每个特征的均值:
x 1 ‾ = 1 + 5 2 = 3 \\overlinex_1=\\frac1+52=3 x1=21+5=3

x 2 ‾ = 2 + 3 2 = 2.5 \\overlinex_2=\\frac2+32=2.5 x2=22+3=2.5

协方差矩阵

协方差是用来表示两个变量的相关性的,比如正相关(x增大则y增大)、负相关(x增大y减小)和不相关。更多细节安利这个b站讲解如何通俗地解释协方差

减去均值:
x − x ‾ = ( − 2 − 0.5 2 0.5 ) x-\\overlinex=\\beginpmatrix -2 & -0.5 \\\\ 2 & 0.5 \\endpmatrix xx=(220.50.5)

计算协方差s:
s = 1 n − 1 ( x − x ‾ ) T ( x − x ‾ ) = 1 2 − 1 ( − 2 − 0.5 2 0.5 ) ( − 2 − 0.5 2 0.5 ) = ( 8 2 2 0.5 ) s=\\frac1n-1(x-\\overlinex)^T(x-\\overlinex)\\\\=\\frac12-1\\beginpmatrix-2&-0.5\\\\2&0.5 \\endpmatrix\\beginpmatrix-2&-0.5\\\\2&0.5\\endpmatrix\\\\=\\beginpmatrix8&2\\\\2&0.5\\endpmatrix s=n11(xx)T(xx)=211(220.50.5)(220.50.5)=(8220.5)

特征值和特征向量

需要亿点点线性代数知识,计算特征值和特征向量。

求特征值 λ \\lambda λ
∣ s − λ E ∣ = ∣ 8 − λ 2 2 0.5 − λ ∣ = 0 |s-\\lambda E|=\\beginvmatrix8-\\lambda&2\\\\2&0.5-\\lambda \\endvmatrix=0 sλE=8λ220.5λ=0
( 8 − λ ) ( 0.5 − λ ) − 4 = 0 (8-\\lambda)(0.5-\\lambda)-4=0 (8λ)(0.5λ)4=0

λ 1 = 0 , λ 2 = 8.5 \\lambda_1=0,\\lambda_2=8.5 λ1=0,λ2=8.5

λ 1 = 0 \\lambda_1=0 λ1=0带回 ∣ s − λ E ∣ = |s-\\lambda E|= sλE= ( 8 2 2 0.5 ) \\beginpmatrix8&2\\\\2&0.5\\endpmatrix (8220.5),正交单位化得特征向量 e 1 = ( 1 17 , − 4 17 ) T e_1=(\\frac1\\sqrt17,\\frac-4\\sqrt17)^T e1=(17 1,17 4)T

λ 2 = 8.5 \\lambda_2=8.5 λ2=8.5带回 ∣ s − λ E ∣ = |s-\\lambda E|= sλE= ( − 0.5 2 2 − 8 ) \\beginpmatrix-0.5&2\\\\2&-8\\endpmatrix (0.5228),正交单位化得特征向量 e 2 = ( 4 17 , 1 17 ) T e_2=(\\frac4\\sqrt17,\\frac1\\sqrt17)^T e2=(17 4,17 1)T

插播反爬信息 )博主CSDN地址:https://wzlodq.blog.csdn.net/

第一主成分

将特征向量从大到小排序 ( λ 2 > λ 1 ) (\\lambda_2>\\lambda_1) (λ2>λ1),依次得到第N主成分。

如第一主成分为 Y 1 = e 2 T x = 4 17 x 1 + 1 17 x 2 Y_1=e_2^Tx=\\frac4\\sqrt17x_1+\\frac1\\sqrt17x_2 Y1=以上是关于机器学习-主成分分析PCA降维的主要内容,如果未能解决你的问题,请参考以下文章

机器学习之路:python 特征降维 主成分分析 PCA

机器学习:主成分分析PCA降维_Python

机器学习Sklearn库主成分分析PCA降维的运用实战

机器学习算法-python实现PCA 主成分分析降维

机器学习——降维(主成分分析PCA线性判别分析LDA奇异值分解SVD局部线性嵌入LLE)

机器学习:基于主成分分析(PCA)对数据降维