Outline
预备知识
- 样本实例 : 表示第i个样本,它的特征维度为D;
- 样本矩阵 : , 其中N表示样本个数,D表示样本维数;
- 內积矩阵 : , 元素 表示样本 与样本 的相似度;
- 协方差矩阵: ,元素 表示维度 i 与维度 j 的 协方差;
- 正交矩阵:, 满足:;
- 酉矩阵: , 满足:,表示的共轭转置;
- Hermite矩阵:, 若 ,其中表示共轭矩阵;
SVD
设A是一个阶矩阵,其中元素均属于数域K(即实数域或者复数域),则存在一个分解使得:
其中,其中U是m×m阶酉矩阵;Σ是半正定m×n阶对角矩阵;而V*,即V的共轭转置,是n×n阶酉矩阵。这样的分解就称作M的奇异值分解。Σ对角线上的元素Σi,其中Σi即为M的奇异值。
PCA
-
View-1:最大化投影方差
假定对于数据集, 我们打算把数据投影到一个一维空间(维度降为1维),因此需要寻找一个投影向量。为了唯一确定该投影向量,我们对其加以限制:.首先,计算样本均值:
然后,计算投影后样本的方差:
其中,S表示样本协方差矩阵,定义如下:
考虑到投影向量u1的约束条件,我们可通过引入拉格朗日乘子,将带约束的优化问题转为无约束的优化问题:
上述优化目标关于u1求导置零,得到:
, 即
从而,所求投影向量即为样本协方差矩阵最大的特征值对应的特征向量!一般地,假设我们想要把数据投影到一个M+1维子空间,而我们已经得到了M个投影向量,则第M+1个投影向量必须与已有的M个向量线性无关,为了保证这一点,我们可以让与u1, ... ,uM正交【为什么?如果不正交呢?】。类似地,我们可以得到如下的目标函数:
上述优化目标关于求导置零,得到:
上式依次乘以,可得 .因此,有:
即,所求的第M+1个投影向量为样本协方差矩阵的第M+1个特征值对应的特征向量。
- View-2:最小化投影误差
对于数据集,我们引入一组完备的正交基, 对于样本而言,它在原来的坐标系(基向量)下的的坐标为{},则它在新的坐标系下可被表示为:
由相互正交的特性可知:.于是有:
我们打算:用在M<D维子空间的投影点来尽可能地逼近它在D维空间中的位置。不失一般性,假设M维子空间由正交基的前M个基构成,于是得到如下的近似点:
注意,这里需要说明的一点是,近似点的M+1至D的分量由剩余的正交基的线性组合来产生,这里bi对所有近似样本都取一样的值。至此,我们可以得到数据集的重构误差:
最小化上述重构误差,得到: ,j = 1,2, ..., M; , j = M+1, ..., D. 于是得到:
进一步,重构误差可以化简为:
类似地,考虑基的正交性和单位模的约束,不难得到:
因此,为了使得重构误差最小化,应该选择最大的M的特征值对应的特征向量作为投影向量!
实验结果
- Mnist
- Nature image
gray_img 1st_pc 5 pcs 25-pc