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