一. PCA概述
PCA是Principal Component Analysis,主成分分析。
用途:
降维中最常用的一种手段
目标:
提取最有价值的信息(基于方差)
问题:
降维后的数据的意义?
二. 向量的表示及基变换
2.1 向量的表示
内积:
解释:
设向量B的模为1,则A与B的内积值等于A向B所在
直线投影的矢量长度
向量的表示:
向量可以表示为(3,2)
实际上表示线性组合:
2.2 基变换
基:
(1,0)和(0,1)叫做二维空间中的一组基
基是正交的(即内积为0,或直观说相互垂直)
基是线性无关
变换:
数据与一个基做内积运算,结果作为第一个新的坐标分量,然后与第二个基做内积运算,结果作为第二个新坐标的分量
数据(3,2)映射到基中坐标:
基变换:
两个矩阵相乘的意义是将右边矩阵中的每一列列向量变换到
左边矩阵中每一行行向量为基所表示的空间中去
三. 协方差矩阵
方向:
如何选择这个方向(或者说基)才能尽量保留最多的原始信息呢?一种直观的看法是:希望投影后的投影值尽可能分散
方差:
寻找一个一维基,使得所有数据变换为这个基上的坐标表示后,方差值最大
协方差(假设均值为0时):
四. 协方差
如果单纯只选择方差最大的方向,后续方向应该会和方差最大的方向接近重合。
解决方案:
为了让两个字段尽可能表示更多的原始信息,我们是不希望它们之间存在(线性)相关性的
协方差:
可以用两个字段的协方差表示其相关性
当协方差为0时,表示两个字段完全独立。为了让协方差为0,选择第二个基时只能在与第一个基正交的方向上选择。因此最终选择的两个方向一定是正交的。
五. 优化目标
将一组N维向量降为K维(K大于0,小于N),目标是选择K个单位正交基,使原始数据变换到这组基上后,各字段两两间协方差为0,字段的方差则尽可能大
协方差矩阵:
矩阵对角线上的两个元素分别是两个字段的方差,而其它元素是a和b的协方差。
协方差矩阵对角化:即除对角线外的其它元素化为0,并且在对角线上将元素按大小从上到下排列.
协方差矩阵对角化:
实对称矩阵:
一个n行n列的实对称矩阵一定可以找到n个单位正交特征向量
实对称阵可进行对角化:
根据特征值的从大到小,将特征向量从上到下排列,则用前K行组成的矩阵乘以原始数据矩阵X,就得到了我们需要的降维后的数据矩阵Y
六. PCA实例
数据:
协方差矩阵:
特征值:
特征向量:
对角化:
降维: