[机器学习花书笔记] 主成分分析

问题:假设在R^{n}空间中我们有 m 个点{x^{1},...x^{m}},我们希望对这些点进行有损压缩。


方法:

低维表示:

x ^{(i)} \epsilon R ^{n} → 编码向量c ^{(i)} \epsilon R ^{l}

n > l,则我们便使用了更少的内存来存储原来的数据。

to find    f(x)=c     编码器

and    x\approx g(f(x))     解码器

令    g(c)=DcD\epsilon R^{n\times l}     解码矩阵     (简化解码器)

限制:D的列向量都有单位范数      (为了获得唯一解)

限制:PCA 限制 D 的列向量彼此正交      (简化解码器的最优编码问题)


解最优编码问题:

扫描二维码关注公众号,回复: 2867438 查看本文章

思路:最小化原始输入向量 x 和重构向量g(c)之间的距离。

      (使用L2范数)


推导:

            (若A为单位正交矩阵,则A^{T}A=E

f(x)=D^{T}xr(x)=g(f(x))=DD^{T}x


挑选编码矩阵D:

回顾问题:最小化原始输入向量 x 和重构向量g(c)之间的距离。

      (使用L2范数)

此时可写作:.


为了推导用于寻求D^{*}的算法,我们首先考虑 l = 1 的情况。

此时D是一个向量d,问题变成:

(将标量d^{T}x^{(i)}写在左边)

(标量的转置与自身相等)

将表示各点的向量按行堆叠成一个矩阵X,则问题又变成

(参考迹的运算)

            (迹运算性质:


问题变成:

(根据约束条件化简)

这个优化问题可以通过特征分解来求解。具体来讲,最优的 d 是X^{T}X最大特征值对应的特征向量。

(原理见“特征分解”一节:


以上推导特定于 l = 1 的情况,仅得到了第一个主成分。

更一般地,当我们希望得到主成分的基时,矩阵 D 由前 l 个最大 的特征值对应的特征向量组成。

这个结论可以通过归纳法证明。

 

参考:机器学习花书

猜你喜欢

转载自blog.csdn.net/u013895890/article/details/81835857