Principal Component Analysis (PCA) 主成分分析,是多变量分析中最老的技术之一,PCA来源于通信中的K-L变换。1901年由Pearson第一次提出主成分分析的主要方法,直到1963年Karhunan Loeve对该问题的归纳经历了多次的修改。
它的目标是通过某种线性投影,将高维的数据映射到低维的空间中表示,并期望在所投影的维度上数据的方差最大,以此使用较少的数据维度,同时保留住较多 的原数据点的特性。通俗的理解,如果把所有的点都映射到一起,那么几乎所有的信息 (如点和点之间的距离关系) 都丢失了,而如果映射后方差尽可能的大,那么数据点则会分散开来,以此来保留更多的信息。可以证明,PCA是丢失原始数据信息最少的一种线性降维方式
。(实际上就是最接近原始数据,但是PCA并不试图去探索数据内在结构)
在数学领域我们使用SVD去解决主成分分析 (PCA) 的问题
PCA的问题其实是一个基的变换,使得变换后的数据有着最大的方差。方差的大小描述的是一个变量的信息量,我们在讲一个东西的稳定性的时候,往往说要减小方差,如果一个模型的方差很大,那就说明模型不稳定了。但是对于我们用于机器学习的数据 (主要是训练数据),方差大才有意义,不然输入的数据都是同一个点,那方差就为0了,这样输入的多个数据就等同于一个数据了
首先来明确几个基础问题
向量基变换
向量
看看下面的这两个向量内积的例子
在坐标系中我们设有两个相交但不相等的的向量A与向量B可以知道下面的式子
向量A的模等于其坐标的平方和开根号
A到向量B的垂直线(投影)长度
A与B的内积等于A到B的投影长度乘以B的模
基
一个二维向量可以对应二维笛卡尔直角坐标系中从原点出发的一个有向线段。
但是,在二维空间当中,只有坐标(X,Y)本身是不能够精确表示一个具有方向的向量的。可以知道向量(x,y)是一个线性组合,即二维空间的基,在线性代数中,基(也称为基底)是描述、刻画向量空间的基本工具。向量空间的基是它的一个特殊的子集。
下面是二维空间的基的一般表示
在PCA降维中,我们需要进行空间坐标的变换也就是基变换,下面来看一个例子
理论推导
(1)问题描述
对于d维空间中的n个样本,,考虑如何在低维空间中最好地代表它们。
其中m是数据实例的个数, xi是数据实例i的向量表达, x拔是所有数据实例的平均向量。定义W为包含所有映射向量为列向量的矩阵,经过线性代数变换,可以得到如下优化目标函数: