PCA的原理、目标函数及求解方法。

首先解释下什么是降维:

PCA旨在找到数据中的主成分,并利用这些主成分表征原始数据,从而达到降维的目的。举一个简单的例子,在三维空间中有一系列数据点,这些点分布在一个过原点的平面上。如果我们用自然坐标系x,y,z三个轴来表示数据,就需要使用三个维度。而实际上,这些点只出现在一个二维平面上,如果我们通过坐标系旋转变换使得数据所在平面与x,y平面重合,那么我们就可以通过x’,y’两个维度表达原始数据,并且没有任何损失,这样就完成了数据的降维。而x,y两个轴所包含的信息就是我们要找到的主成分。
但在高维空间中,我们往往不能像刚才这样直观地想象出数据的分布形式,也就更难精确地找到主成分对应的轴是哪些。不妨,我们先从最简单的二维数据来看看PCA究竟是如何工作的,如图4.1所示。
在这里插入图片描述
图4.1(a)是二维空间中经过中心化的一组数据,我们很容易看出主成分所在的轴(以下称为主轴)的大致方向,即图4.1(b)中黄线所处的轴。因为在黄线所处的轴上,数据分布得更为分散,这也意味着数据在这个方向上方差更大。在信号处理领域,我们认为信号具有较大方差,噪声具有较小方差,信号与噪声之比称为信噪比。信噪比越大意味着数据的质量越好,反之,信噪比越小意味着数据的质量越差。由此我们不难引出PCA的目标,即最大化投影方差,也就是让数据在主轴上投影的方差最大。
对于给定的一组数据点{ v 1 v_1 v1, v 2 v_2 v2, v 3 v_3 v3, v 4 v_4 v4,… v i v_i vi},其中所有向量均为列向量,中心化后的表示为:{ v 1 − u v_1-u v1u, v 2 − u v_2-u v2u, v 3 − u v_3-u v3u, v 4 − u v_4-u v4u,… v i − u v_i-u viu},其中u= 1 n \frac{1}{n} n1 ∑ i = 1 n v i \displaystyle\sum_{i=1}^{n} v_i i=1nvi。我们知道,向量内积在几何上表示一个向量在另一个向量上投影的长度。因此 x i x_i xi在w上的投影坐标可以表示为( x i x_i xi,w)= x T x^T xTw。所以目标是找到一个投影方向w,使得( x 1 x_1 x1, x 2 x_2 x2, x 3 x_3 x3, x 4 x_4 x4,… x i x_i xi)在w上投影方差尽可能大。容易得知投影之后,均值为0,因为
这也是我们中心化的意义。投影后的方差表示为:
在这里插入图片描述
仔细一看,这其实就是样本的协方差矩阵啊,我们将其写作Σ,另外由于 w T w^T wTw=1,因此我们要求解一个最大化问题,可表示为:在这里插入图片描述

引入拉格朗日乘子,并对w求导使其为0,便可以推出Σ,此时
在这里插入图片描述
熟悉线性代数的读者马上就会发现,原来,x投影后的方差就是协方差矩阵的特征值。我们要找到最大的方差也就是协方差矩阵最大的特征值,最佳投影方向就是最大特征值所对应的特征向量。次佳投影方向位于最佳投影方向的正交空间中,是第二大特征值对应的特征向量,以此类推。至此,我们得到以下几种PCA的求解方法。
(1)对样本数据进行中心化处理。
(2)求样本协方差矩阵。
(3)对协方差矩阵进行特征值分解,将特征值从大到小排列。
(4)取特征值前d大对应的特征向量( w 1 w_1 w1, w 2 w_2 w2, w 3 w_3 w3, w 4 w_4 w4,… w d w_d wd),通过以下映射将n维样本映射到d维
在这里插入图片描述
新的x’的第d维就是x在第d个主成分au方向上的投影,通过选取最大的d个特征值对应的特征向量,我们将方差较小的特征(噪声)抛弃,使得每个n维列向量x被映射为d维列向量x,定义降维后的信息占比为
在这里插入图片描述

·总结与扩展·

至此,我们从最大化投影方差的角度解释了PCA的原理、目标函数和求解方法。其实,PCA还可以用其他思路进行分析,比如从最小回归误差的角度得到新的目标函数。但最终我们会发现其对应的原理和求解方法与本文中的是等价的。另外,由于PCA是一种线性降维方法,虽然经典,但具有一定的局限性。我们可以通过核映射对PCA进行扩展得到核主成分分析(KPCA),也可以通过流形映射的降维方法,比如等距映射、局部线性嵌入、拉普拉斯特征映射等,对一些PCA效果不好的复杂数据集进行非线性降维操作。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值