1 动机
数据压缩:太多的特征会使得增加算法训练困难度,且可能存在冗余特征(如物体的厘米和物体的英寸)
数据可视化:多特征值无法可视化,降维后可视化可以帮助我们更好的分析数据;
2 主成分分析PCA
需要将n维数据降至k维,寻找一个经过原点的方向向量(u1,u2...uk),使得特征向量到这个方向向量的投射误差(垂线长度)最小,是一种比较常见的降维算法。
将数据特征重要性排序,省去后面维数,以此降维简化模型或者数据压缩,同时最大程度的保留了原有数据信息;
优点:完全无参数限制
算法:PCA将数据降维从n到k
step1:均值归一化,计算所有特征均值μi
step2:计算协方差矩阵 ,其中
step3:计算协方差矩阵的特征向量,令,利用奇异值分解,[U,S,V]=svd(sigma)求解;
step4: 上一步计算得到的U为n*n的与训练样本有着最小投射误差的向量构成的矩阵
我们只需要从U中选取前K个向量,获得n*k维度的Ureduce及新特征向量 (k*1维度)
选择主成分的数量:
方式1:迭代法,循环令k=1,2,3,......,计算Ureduce,直到平均均方误差与训练集方差的比例达到目标退出循环;
方式2:利用svd函数得到的计算平均均方误差与训练集方差的比例使之达到预期目标:
重建的压缩表示:
补充1:变量协方差cov[Xi,Xj]=E[(Xi−E[Xi])(Xj−E[Xj])],表示了两个向量的线性相关性
补充2:向量v是矩阵A的特征向量可表达为Av=λv,矩阵A乘v,其实是对v做线性变换,右边λ即代表了变换的程度
------------------------------------------------------------------------------------------------------------------------------------
文章内容学习整理于吴教授公开课课程与黄博士笔记,感谢!