主成分分析 PCA

主成分分析(Principal Component Analysis,简称 PCA)是一种统计方法,通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量称为主成分。PCA 旨在找到数据中的主成分,并利用这些主成分表征原始数据,从而达到降维的目的。

简单地说,PCA 就是要找出原始数据集中最主要的内容(特征),用这些内容来代替原始数据集。

【示例】:在三维空间中有一系列数据点,这些点分布在一个过原点的平面上。如果我们用自然坐标系 x,y,z 三个轴来表示数据,就需要使用三个维度。而实际上,这些点只出现在一个二维平面上,如果我们**通过坐标系旋转变换(获得新坐标系)**使得数据所在平面与 x,y 平面重合,那么我们就可以通过 x′,y′ 两个维度表达原始数据,并且没有任何损失,这样就完成了数据的降维。而 x′,y′ 两个轴所包含的信息就是我们要找到的主成分。

一般地,将原始数据集从 m 维降到 n 维(n < m)都会存在一定的损失,我们的目标是让损失尽可能地小。

【优点】:通过上面的介绍,我们可以归纳出 PCA 的优点。

  • 降低数据的复杂性
  • 识别最重要的多个特征

最大方差理论

在高维空间中,我们往往不能像刚才那样直观地想象出数据的分布形式,也就更难精确地找到主成分对应的轴是哪些。不妨从最简单的二维数据来看看 PCA 究竟是如何工作的。

TIM截图20190327133757.jpg

图(a)是二维空间中经过中心化的一组数据,通过图像可以很容易看出主成分所在轴的大致方向,即图(b)黄线所处的轴。因为在黄线所处的轴上,数据分布得更为分散,这也意味着数据在该方向上方差更大。

【问】:为什么要选择数据方差更大的方向?

【答】:在信号处理领域,我们认为信号具有较大方差,噪声具有较小方差,信号与噪声之比称为信噪比。信噪比越大意味着数据的质量越好,反之,信噪比越小意味着数据的质量越差。从数据分布角度来看,选择方差更大的方向能够使得样本投影后更为分散、可以保留最多的信息,不易造成损失;而选择方差较小的方向会使得投影后的样本出现重叠,造成损失。

由此引出 PCA 的目标:最大化投影方差,让数据在超平面上投影的方差最大

目标函数及求解方法

在 PCA 中,数据从原来的坐标系转换到新的坐标系,新坐标系的选择是由数据本身决定的。

给定一组样本 { v 1 , v 2 , ⋯ &ThinSpace; , v n } \{v_1, v_2, \cdots, v_n\} { v1,v2,,vn},其中所有向量均为列向量。首先对样本进行中心化处理,使得 ∑ i x i = 0 \sum_i x_i = 0 ixi=0
μ = 1 n ∑ i = 1 n v i { x 1 , x 2 , ⋯ &ThinSpace; , x n } = { v 1 − μ , v 2 − μ , ⋯ &ThinSpace; , v n − μ } ∑ i = 1 n x i = ∑ i = 1 n v i − n μ = 0 \mu = \frac{1}{n}\sum_{i=1}^nv_i \\ \{x_1, x_2, \cdots, x_n\} = \{v_1-\mu, v_2-\mu,\cdots,v_n-\mu\} \\ \sum_{i=1}^n x_i = \sum_{i=1}^n v_i - n\mu = 0 μ=n1i=1nvi{ x1,x2,,xn}={ v1μ,v2μ,,vnμ}i=1nxi=i=1nvinμ=0

中心化处理.jpg

通过观察上面的两张图可以明显地发现,对样本进行中心化处理实际上是将样本进行了平移,将多维空间的原点作为样本集的中心点。那么,为什么要对样本集做中心化处理?先将这个问题保留在心中,接着往下看。

再假定投影变换后得到的新坐标系为 { w 1 , w 2 , ⋯ &ThinSpace; , w d } \{w_1, w_2, \cdots, w_d\} { w1,w2,,wd},其中 w i w_i wi 是标准正交基向量, ∣ ∣ w i ∣ ∣ 2 = 1 ,   w i T w j = 0 ( i ≠ j ) ||w_i||_2 = 1, \ w_i^Tw_j = 0(i \neq j) wi2=1, wiTwj=0(i̸=j)

向量内积在几何上表示为第一个向量投影到第二个向量上的长度。以二维空间为例,A(1, 0)、B(0, 1) 分别为该空间的一组正交基,假设此时二维空间中有一个样本 X(3, 2),X 分别与 A、B 的内积为 3 和 2。为二维空间建立坐标系 A 向量为 x 轴,B 向量为 y 轴,实际上 X 与 A、B 的内积为 X 投影到 A 和 B 的长度,恰好是 X 在 x 轴和 y 轴的坐标。扩展到多维空间,则多维空间中的一个向量与该多维空间的一组标准正交基的内积——当前向量在这组标准正交基建立的坐标系的坐标。

二维坐标系

因此向量 x i x_i xi 在新坐标系 w = ( w 1 , w 2 , ⋯ &ThinSpace; , w d ) w = (w_1, w_2, \cdots, w_d) w=(w1,w2,,wd) 上的投影坐标可以表示为 x i T w x_i^Tw xiTw。现在的目标是找到一个投影方向 w,使得原始样本的投影 z 1 , z 2 , ⋯ &ThinSpace; , z n z_1, z_2, \cdots, z_n z1,z2,,zn 在 w 上的投影方差尽可能大。

但如果单纯只选择方差最大的方向,后续方向应该会和方差最大的方向接近重合。为了让两个特征尽可能表示更多的原始信息,我们自然不希望它们之间存在线性相关性。

此时,优化目标为:

  • 找到一个投影方向 w,使得原始样本的投影在 w 上的投影方差尽可能大;
  • 投影后各特征之间不存在线性相关性。

那么,怎么衡量特征之间的相关性呢?可以用特征之间的协方差来进行衡量。若协方差为零,则表示当前特征无关;若为 1,则表示最大正相关;若为 -1,则表示最大负相关。若两个特征向量的协方差为零,反映到坐标系中就是这两个特征向量正交。

根据方差的计算公式 D ( X ) = ∑ i = 1 n x i − E ( X ) D(X) = \sum_{i=1}^nx_i - E(X) D(X)=i=1nxiE(X),我们需要计算原始样本投影变换后的坐标 x i T w x_i^Tw xiTw 以及它们的均值 μ ′ \mu&#x27; μ
x 1 + x 2 + ⋯ + x n = v 1 − μ + v 2 − μ + ⋯ + v n − μ = 0 μ ′ = 1 n ∑ i = 1 n x i T w = ( 1 n ∑ i = 1 n x i T ) w = 0 x_1 + x_2 + \cdots + x_n = v_1 - \mu + v_2 - \mu + \cdots + v_n - \mu = 0 \\ \mu&#x27; = \frac{1}{n}\sum_{i=1}^nx_i^Tw = (\frac{1}{n}\sum_{i=1}^nx_i^T)w = 0 x1+x2++xn=v1μ+v2μ++vnμ=0μ=n1i=1nxiTw=(n1i=1nxiT)w=0
由于对样本集做了中心化处理,使得投影之后的均值为 0,简化了方差的计算,这就是对样本集做中心化处理的原因。

投影后的方差可以表示为
D ( x ) = 1 n ∑ i = 1 n ( x i T w − 0 ) 2 = 1 n ∑ i = 1 n ( x i T w ) T ( x i T w ) = 1 n ∑ i = 1 n w T x i x i T w = w T ( 1 n ∑ i = 1 n x i x i T ) w ( 1 ) D(x) = \frac{1}{n}\sum_{i=1}^n(x_i^Tw - 0)^2 = \frac{1}{n}\sum_{i=1}^n(x_i^Tw)^T(x_i^Tw) \\ = \frac{1}{n}\sum_{i=1}^nw^Tx_ix_i^Tw = w^T(\frac{1}{n}\sum_{i=1}^nx_ix_i^T)w \quad (1) D(x)=n1i=1n(xiTw0)2=n1i=1n(xiTw)T(xiTw)=n1i=1nwTxixiTw=wT(n1i=1nxi

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值