Part I/ Chapter 2 线性代数基础2 实例:PCA

Posted rainton-z

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Part I/ Chapter 2 线性代数基础2 实例:PCA相关的知识,希望对你有一定的参考价值。

主成分分析(principal components analysis,PCA)

用基础的线性代数知识能够推导出主成分分析(principal components analysis,PCA)这一简单的机器学习算法。

1、出发点:在n维实线性空间中我们有m个点的集合x(1),x(2),...,x(m),对这些点进行有损压缩,希望在压缩的过程中损失的精度尽可能少。一种编码的方式就是用低维来表示高维,就是说对于这m个点中的每一个点x(i),都对应着一个l维的编码向量c(i),如果c(i)的维度低于x(i),那么我们就实现了用更少的内存来存储原有数据。

2、我们的目的变为:①寻找一个编码函数,使得f(x)=c ②寻找一个解码函数,使得x≈g(f(x))。

3、为了简化解码器,我们用矩阵乘法的方式将编码c映射回原来的n维空间中,即g(c)=Dc,其中D就是定义解码的n×l维矩阵,为了简化编码问题,我们限制D中所有列向量具有单位范数且互相正交。严格意义上讲,除非l=n,D是一个非正交矩阵。

4、编码:输入x→最优编码c*:最小化输入x与重构输出g(c*)之间的距离,即c*=argmin||x-g(c)||2,通过线性代数的运算以及向量微积分,可以得到c=DTx,因此,获得编码函数f(x)=DTx。

5、解码:r(x)=g(f(x))=DDTx,重构时挑选编码矩阵D,由于使用相同的一个矩阵D对所有点进行解码,因此需要最小化所有维数和所有点上的误差矩阵的Frobenius范数。可以从l=1开始求解,经过运算得到,l=1时的最优的d是XTX的最大特征值对应的特征向量,这样仅仅得到了第一个主成分,更一般地,如果想要得到主成分的基时,矩阵D由前l个最大的特征值对应的特征向量组成。

以上是关于Part I/ Chapter 2 线性代数基础2 实例:PCA的主要内容,如果未能解决你的问题,请参考以下文章

Python Chapter 10: 列表 Part3

Part I/ Chapter 5 机器学习基础1

机器学习专家系列精品课程零基础到精通

Part I/ Chapter 3 信息论

MapReduce Design Patterns(chapter 2 (part 2))

Part I/ Chapter 3 概率论&结构化概率模型