奇异值与主成分分析( PCA ): 主成分分析在上一节里面也讲了一些,这里主要谈谈如何用 SVD 去解 PCA 的问题。 PCA 的问题其实是一个基的变换,使得变换后的数据有着最大的方差。方差的大小描述的是一个变量的信息量,我们在讲一个东西的稳定性的时候,往往说要减小方差,如果一个模型的方差很大,那就说明模型不稳定了。但是对于我们用于机器学习的数据(主要是训练数据),方差大才有意义,不然输入的数据都是同一个点,那方差就为 0了,这样输入的多个数据就等同于一个数据了。以下面这张图为例子: 这个假设是一个摄像机采集一个物体运动得到的图片,上面的点表示物体运动的位置,假如我们想要用一条直线去拟合这些点,那我们会选择什么方向的线呢?当然是图上标有 signal 的那条线。如果我们把这些点单纯的投影到 x轴或者 y轴上,最后在 x轴与 y轴上得到的方差是相似的(因为这些点的趋势是在 45度左右的方向,所以投影到 x轴或者y轴上都是类似的),如果我们使用原来的 xy坐标系去看这些点,容易看不出来这些点真正的方向是什么。但是如果我们进行坐标系的变化,横轴变成了 signal 的方向,纵轴变成了 noise 的方向,则就很容易发现什么方向的方差大, 什么方向的方差小了。一般来说,方差大的方向是信号的方向,方差小的方向是噪声的方向, 我们在数据挖掘中或者数字信号处理中,往往要提高信号与噪声的比例,也就是信噪比。对上图来说,如果我们只保留 signal 方向的数据,也可以对原数据进行不错的近似了。 PCA 的全部工作简单点说,就是对原始的空间中顺序地找一组相互正交的坐标轴,第一个轴是使得方差最大的,第二个轴是在与第一个轴正交的平面中使得方差最大的,第三个轴是在与第 1、2个轴正交的平面中方差最大的,这样假设在 N维空间中,我们可以找到 N个这样的坐标轴,我们取前 r个去近似这个空间,这样就从一个 N维的空间压缩到 r维的空间了,但是我们选择的 r个坐标轴能够使得空间的压缩使得数据的损失最小。还是假设我们矩阵每一行表示一个样本,每一列表示一个 feature ,用矩阵的语言来表示,将一个 m*n的矩阵 A的进行坐标轴的变化, P就是一个变换的矩阵从一个 N维的空间变换到另一个 N维的空间,在空间中就会进行一些类似于旋转、拉伸的变化。而将一个 m*n的矩阵 A变换成一个 m*r的矩阵,这样就会使得本来有n个feature 的,变成了有 r个feature 了( r<n),这 r个其实就是对 n 个feature 的一种提炼,我们就把这个称为 feature 的压缩。用数学语言表示就是: 但是这个怎么和 SVD 扯上关系呢?之前谈到, SVD 得出的奇异向量也是从奇异值由大到小排列的,按PCA 的观点来看,就是方差最大的坐标轴就是第一个奇异向
奇异值与主成分分析PCA 来自淘豆网m.daumloan.com转载请标明出处.