1. pca的目标是最大化方差,方差指的是什么?
对于这个问题,方差指的是
image.png
2.不同的投影方式的方差有什么区别?
为了避免过于抽象的讨论,我们仍以一个具体的例子展开。假设我们的数据由五条记录组成,将它们表示成矩阵形式:
image.png
其中每一列为一条数据记录,而一行为一个字段。为了后续处理方便,我们首先将每个字段内所有值都减去字段均值,其结果是将每个字段都变为均值为0(这样做的道理和好处后面会看到)。
我们看上面的数据,第一个字段均值为2,第二个字段均值为3,所以变换后:
image.png
我们可以看下五条数据在平面直角坐标系内的样子:
image.png
如果使用pca把原来的二维的数据降低到一维,那么如果选择一条向量,使得降维之后的点的方差最大?
举个例子,将这五个点 分别投影到y=x (左图)和 y=0(右图)所示,那么他们的方差谁更大?
image.png
我将方差用红色的线画了出来,如下图所示:
image.png左图的方差是 5.65:
注意,是绝对值求和 ! .png
右图的方差是 4:
image.png
也就是说,按照左图的投影方式,左图的方差是5.65,比右图更大。也就是说,左图的投影的效果更好。
3.如何找到最大的投影方向?
这里面涉及到一个 协方差的概念,这个教程讲的很好 :
http://blog.codinglabs.org/articles/pca-tutorial.html
简单的说,对于要求的矩阵X,我们希望它的将它坐标轴旋转到一个新的方向,(假设这个坐标的矩阵是P),这个方向可以使数据的方差最大。(也就是旋转之后的新矩阵的协方差矩阵的对角线元素最大,同时非对角线上面的元素为0)
so,优化的目标就变成了:
image.png
4. 小结一下pca算法
实例
接着上文
数据还原
参考教程:
http://blog.codinglabs.org/articles/pca-tutorial.html
http://www.cnblogs.com/jerrylead/archive/2011/04/18/2020209.html
网友评论