机器学习降维之主成分分析(PCA)

本文详细介绍了主成分分析(PCA)的基本思想、推导过程,包括最大投影方差和最小投影距离两种视角,以及PCA的算法流程。PCA是一种重要的降维方法,适用于数据压缩、消除冗余。内容还涵盖了核主成分分析(KPCA)和PCA的总结,适合对机器学习降维感兴趣的读者。
摘要由CSDN通过智能技术生成

主成分分析(Principal components analysis, PCA) 是最重要的降维方法之一,在数据压缩、消除冗余和数据噪音消除等方面有广泛的应用。通常我们提到降维算法,最先想到的就是PCA,下面我们对PCA原理进行介绍。

1. PCA思想

PCA就是找出数据中最主要的方面,用数据中最重要的方面来代替原始数据。假如我们的数据集是n维的,共有m个数据(x1,x2,…,xm),我们将这m个数据从n维降到r维,希望这m个r的数据集尽可能的代表原始数据集。

我们知道从n维降到r维肯定会有损失,但是希望损失尽可能的小,那么如何让这r维的数据尽可能表示原来的数据呢?首先来看最简单的情况,即将二维数据降到一维,也就是n=2,r=1。数据如下图所示,我们希望找到某一个维度方向,它可以代表这两个维度的数据。图中列了两个向量,也就是u1和u2,那么哪个向量可以更好的代表原始数据集呢?
图片01
直观上看u1比u2更好,为什么呢?可以有两种解释,第一种解释是样本点在这个直线上的投影尽可能的分开,第二种解释是样本点到这个直线的距离足够近。假如我们把r从1维推广到任意维,则我们希望降维的标准为样本点在这个超平面上的投影尽可能分开,或者说样本点到这个超平面的距离足够近。基于上面的两种标准,我们可以得到PCA的两种等价推导。

2. PCA推导:基于最大投影方差

2.1 基变换

一般来说,想要获得原始数据的表示空间,最简单的方式是对原始数据进行线性变换(基变换),即Y=PX。其中Y是样本在新空间的表达,P是基向量,X是原始样本。我们可知选择不同的基能够对一组数据给出不同的表示,同时当基的数量少于原始样本本身的维数时,则可以达到降维的效果,矩阵表示如下
( p 1 p 2 . . . p r ) ( x ( 1 ) x ( 2 ) . . . x ( m ) ) = ( p 1 x ( 1 ) p 1 x ( 2 ) . . . p 1 x ( m ) p 2 x ( 1 ) p 2 x ( 2 ) . . . p 2 x ( m ) . . . . . . . . . . . . p r x ( 1 ) p r x ( 2 ) . . . p r x ( m ) ) \begin{pmatrix} p_1\\ p_2\\ .\\ .\\ .\\ p_r \end{pmatrix} \begin{pmatrix} x^{(1)} & x^{(2)} & ... & x^{(m)} \end{pmatrix} =\begin{pmatrix} p_1x^{(1)} & p_1x^{(2)} &... &p_1x^{(m)} \\ p_2x^{(1)}& p_2x^{(2)} & ... & p_2x^{(m)} \\ .& .& .& .\\ .& .& .& .\\ .& .& .& .\\ p_rx^{(1)}& p_rx^{(2)} &... & p_rx^{(m)} \end{pmatrix} p1p2...pr(x(1)x(2)...x(m))=p1x(1)p2x(1)...prx(1)p1x(2)p2x(2)...prx(2)............p1x(m)p2x(m)...prx(m)
在这里插入图片描述

2.2 方差

图片02
那么考虑,如何选择一个方向或者基才是最优的呢? 观察上图,我们将所有的点分别向两条直线做投影,基于前面PCA最大可分的思想,我们要找的方向是降维后损失最小,可以理解为投影后的数据尽可能的分开。那么这种分散程度可以用数学上的方差进行表示,方差越大数据越分散,方差公式如下所示
V a r ( x ) = 1 m ∑ i = 1 m ( x i − μ ) 2 Var(x) = \frac{1}{m}\sum_{i=1}^{m}(x_i - \mu)^2 Var(x)=m1i=1m(xiμ)2
对数据进行中心化后得到
V a r ( x ) = 1 m ∑ i = 1 m ( x i ) 2 Var(x) = \frac{1}{m}\sum_{i=1}^{m}(x_i)^2 Var(x)=m1i=1m(xi)2
现在我们知道以下几点

  • 对原始数据进行基变换可以对原始数据给出不同表示。
  • 基的维度小于数据的维度可以起到降维的效果。
  • 对基变换后新的样本进行求方差,选择使其方差最大的基。
2.3 协方差

基于上面提到的几点,我们来探讨如何寻找计算方案。从上面可以得到,二维降到一维可以使用方差最大,来选出能使基变换后数据分散最大的方向(基),但如果遇到高维的变换,怎么办呢?

针对高维情况,数学上采用协方差来表示
C o v ( X , Y ) = E ( ( X − μ ) ( Y − ν ) ) = E ( X ⋅ Y ) − μ ν Cov(X,Y) = E((X-\mu)(Y-\nu)) = E(X\cdot Y) - \mu\nu Cov(X,Y)=E((Xμ)(Yν))=E(XY)μν
例如,二维已中心化数据 ( x ( 1 ) , x ( 2 ) ) (x^{(1)},x^{(2)}) (x(1),x(2))的协方差为
C o v ( x ( 1 ) , x ( 2 ) ) = E ( x ( 1 ) ⋅ x ( 2 ) ) = 1 m ∑ i = 1 m x i ( 1 ) x i ( 2 ) Cov(x^{(1)},x^{(2)})=E(x^{(1)}\cdot x^{(2)}) = \frac{1}{m}\sum _{i=1}^{m}x_i^{(1)}x_i^{(2)} Cov(x(1),x(2))=E(x(1)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值