2.10 PCA

本节主要记录部分推导过程中的问题,PCA的推导全过程之后再补充

1. 如何从2.71过渡到2.72

个人认为,从2.72往2.71推导更容易一些,然后我们再逆向考虑就行了

先介绍一下Frobenius范数,定义公式如下,即矩阵每个元素的平方和开根
∥A∥F≡∑i=1m∑j=1n∣aij∣2(1)\|\mathbf{A}\|_{F} \equiv \sqrt{\sum_{i=1}^{m} \sum_{j=1}^{n}\left|a_{i j}\right|^{2}}\tag{1} ∥A∥F​≡i=1∑m​j=1∑n​∣aij​∣2​(1)
假设A=[a1Ta2T⋅⋅⋅amT]A = \left[\begin{array}{c} a_1^T \\ a_2^T \\ \cdot \\ \cdot \\ \cdot \\ a_m^T \end{array}\right]A=⎣⎢⎢⎢⎢⎢⎢⎡​a1T​a2T​⋅⋅⋅amT​​⎦⎥⎥⎥⎥⎥⎥⎤​​。那么有
∥A∥F2=∑i=1n∣∣ai∣∣22(2)\|\mathbf{A}\|_{F}^2 =\sum_{i=1}^{n}{||a_i||_2^2}\tag{2} ∥A∥F2​=i=1∑n​∣∣ai​∣∣22​(2)
我想这个式子比较好理解,请记住它,一会儿会用到。

根据 Xi,:=x(i)T\boldsymbol{X}_{i,:}=\boldsymbol{x}^{(i)^{T}}Xi,:​=x(i)T​,我们可以得出XXX​​ 是这样的,每个x(i)x^{(i)}x(i)​都是n维列向量​
X=[x(1)Tx(2)T⋅⋅⋅x(m)T](3)X=\left[\begin{array}{c} x^{(1)^{T}} \\ x^{(2)^{T}} \\ \cdot \\ \cdot \\ \cdot \\ x^{(m)^{T}} \end{array}\right]\tag{3} X=⎣⎢⎢⎢⎢⎢⎢⎡​x(1)Tx(2)T⋅⋅⋅x(m)T​⎦⎥⎥⎥⎥⎥⎥⎤​(3)
我们试着表示一下X−XddTX- Xdd^TX−XddT​,如下
X−XddT=[x(1)Tx(2)T⋮x(m)T]−[x(1)Tx(2)T⋮x(m)T]ddT(4)X-Xdd^T = \left[\begin{array}{c} x^{(1)^{T}} \\ x^{(2)^{T}} \\ \vdots \\ x^{(m)^{T}} \end{array}\right]-\left[\begin{array}{c} x^{(1)^{T}} \\ x^{(2)^{T}} \\ \vdots \\ x^{\left(m)^{T}\right.} \end{array}\right] d d^{T}\tag{4} X−XddT=⎣⎢⎢⎢⎢⎡​x(1)Tx(2)T⋮x(m)T​⎦⎥⎥⎥⎥⎤​−⎣⎢⎢⎢⎢⎡​x(1)Tx(2)T⋮x(m)T​⎦⎥⎥⎥⎥⎤​ddT(4)

=[x(1)T−x(1)TddTx(2)T−x(2)TddT⋮x(m)T−x(m)TddT](5)=\left[\begin{array}{c} x^{(1)^{T}} -x^{(1)^{T}}dd^T\\ x^{(2)^{T}} -x^{(2)^{T}}dd^T\\ \vdots \\ x^{(m)^{T}} -x^{(m)^{T}}dd^T \end{array}\right]\tag{5} =⎣⎢⎢⎢⎢⎡​x(1)T−x(1)TddTx(2)T−x(2)TddT⋮x(m)T−x(m)TddT​⎦⎥⎥⎥⎥⎤​(5)

观察(4),每一行都是一个列向量的转置,这个列向量就是 x(i)−x(i)Tddx^{(i)}-x^{(i)^T}ddx(i)−x(i)Tdd​​​,即(2)式中的 aia_iai​​​

注意,由于x(i)Tdx^{(i)^T}dx(i)Td​是一个标量,所以转置的时候不用对它做变换,这一点很关键

那么根据(2)式,我们可以得到
∥X−XddT∥F2=∑i=1n∣∣x(i)−x(i)Tdd∣∣22(6)\|\mathbf{X-Xdd^T}\|_{F}^2 =\sum_{i=1}^{n}{||x^{(i)}-x^{(i)^T}dd||_2^2}\tag{6} ∥X−XddT∥F2​=i=1∑n​∣∣x(i)−x(i)Tdd∣∣22​(6)
看到这儿,对比2.71式,我们已经实现了这个转换过程,大功告成。

现在逆向考虑也变得简单了,就是根据(2)式从右边向左边推即可

2. 如何根据2.84理解最优的d是XTXX^TXXTX的最大特征值对应的特征向量

2.84式中dTXTXdd^TX^TXddTXTXd一定是标量,所以迹运算可以忽略

我们先假设d是XTXX^TXXTX的特征向量,那么一定有XTXd=λdX^TXd = \lambda dXTXd=λd,带入2.84得到
arg⁡max⁡d⁡(d⊤λd)=arg⁡max⁡d⁡(λ)=λmax(7)\underset{d}{\arg \max } \operatorname{}\left(\boldsymbol{d}^{\top}\boldsymbol{\lambda} \boldsymbol{d}\right) \\ =\underset{d}{\arg \max } \operatorname{}\left(\boldsymbol{\lambda}\right) \\ = \boldsymbol{\lambda_{max}} \tag{7} dargmax​(d⊤λd)=dargmax​(λ)=λmax​(7)

也就是说,只要能证明最大值在d为特征向量时取得或者证明最大特征值就是这个表达式的最大值,那么最优的d一定是最大特征值对应的特征向量。我们解决了问题的一半。

证明最大值在d为特征向量时取得是不太好证的,但是证明最大特征值就是这个表达式的最大值,我倒是有些想法。

我们把XTXX^TXXTX​​特征分解后,得到PTΛPP^T\Lambda PPTΛP​​,其中P是一个正交阵,即PTP=1P^TP = 1PTP=1代入2.84

dTPTΛPdd^TP^T\Lambda PddTPTΛPd​​​,直接令V = Pd,得到vTΛvv^T\Lambda vvTΛv​​ ,展开成二次项即为
v12λ1+v22λ2+...+vn2λn(8)v_1^2\lambda_1+v_2^2\lambda_2+...+v_n^2\lambda_n\tag{8} v12​λ1​+v22​λ2​+...+vn2​λn​(8)

又因为λ1<λmax,λ2<λmax,...,λn<λmax\lambda_1<\lambda_{max},\lambda_2<\lambda_{max},...,\lambda_n<\lambda_{max}λ1​<λmax​,λ2​<λmax​,...,λn​<λmax​​,

所以有
v12λ1+v22λ2+...+vn2λn<=(v12+v22+...+vn2)∗λmax=VTV∗λmax=(Pd)T(Pd)∗λmax=dTPTPd∗λmax=λmax(9)v_1^2\lambda_1+v_2^2\lambda_2+...+v_n^2\lambda_n<=(v_1^2+v_2^2+...+v_n^2)*\lambda_{max} \\ \\ = V^TV*\lambda_{max} \\ \\ = (Pd)^T(Pd)*\lambda_{max} \\ \\ = d^TP^TPd*\lambda_{max} = \lambda_{max} \tag{9} v12​λ1​+v22​λ2​+...+vn2​λn​<=(v12​+v22​+...+vn2​)∗λmax​=VTV∗λmax​=(Pd)T(Pd)∗λmax​=dTPTPd∗λmax​=λmax​(9)

得证!!

3. 归纳法证明

待补充…

深度学习花书-2.10 PCA数学推导相关推荐

  1. 深度学习花书学习感悟之第二章线性代数

    趁着寒假的闲暇时光,希望能稍加学习. 花书毕竟是深度学习四大名著之一,因此早就想拜读一下.在其中获得的感悟或者学习到的新的内容,希望能够通过博客的形式记录下来.一来是希望能够记录下自己学习的点点滴滴, ...

  2. 深度学习花书学习感悟之第三章概率论

    一.概率密度函数 说到概率密度函数(probability density function, PDF,后面用简写),肯定是针对连续型变量而言的.对于离散型变量,我们称之为分布律 对于概率密度函数,有 ...

  3. 深度学习 花书中的概念——百晓生知识处理库自动抽取

    分割后的名词组 ['机器学习(machinelearning)', '逻辑回归(logisticregression)的简单机器学习算法可以决定是否建议剖腹产(Mor-Yosefetal.', '一个 ...

  4. 动手学习深度学习花书踩坑01-----FashionMNIST数据集下载失败

    在网上看了很多方法,一下让改 mnist.py 里的URL路径,一下让指定本地文件路径的,都没成功,可能是我把文件位置放错了,最后用自己的方法,巧妙地解决了. 1 先执行一遍书中原本的代码,这时候下载 ...

  5. Deep Learning 深度学习 花书 Ian Goodfellow 伊恩·古德费洛

    免责说明 资源仅为学习参考,不可用于商业目的!版权归原作者所有,请在下载后于24小时内删除!谢谢! 链接: https://pan.baidu.com/s/1S8QMCTfgsMm3VYhtg3WcP ...

  6. 【深度学习(deep learning)】花书第10章 序列建模:循环和递归网络 读书笔记

    [深度学习(deep learning)]花书第10章 序列建模:循环和递归网络 读书笔记 第10章 序列建模:循环和递归网络 [深度学习(deep learning)]花书第10章 序列建模:循环和 ...

  7. 火遍日本 IT 界的深度学习入门书,你读完了吗?

    在日本 IT 圈,有一本书的影响力超越了实力派的"花书",长期位列日亚"人工智能"类图书榜首,众多五星好评.也许你有所耳闻,这本书就是<深度学习入门:基于 ...

  8. 爆火的深度学习面试书现可白嫖!GitHub上线2周1.5K Star,之前售价146元

    金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 面试宝典千千万,但这一份,应当是深度学习领域里不容错过的那一个了. 这不,才在arXiv"上架"12天,GitHub就狂 ...

  9. 基于TensorFlow 2.0的中文深度学习开源书来了!GitHub趋势日榜第一,斩获2K+星

    十三 发自 凹非寺  量子位 报道 | 公众号 QbitAI TensorFlow 2.0 发布已有一个半月之久,你会用了吗? 近日,一个叫做深度学习开源书的项目在火了.GitHub趋势日榜排名全球第 ...

  10. 深度学习与计算机视觉系列(10)_细说卷积神经网络

    转载自: 深度学习与计算机视觉系列(10)_细说卷积神经网络 - 龙心尘 - 博客频道 - CSDN.NET http://blog.csdn.net/longxinchen_ml/article/d ...

最新文章

  1. approach for attending ieee conferences
  2. Slack设置根据关键字自动提醒的小技巧
  3. Android开发之星期天数的实现与日期转星期几
  4. 如何自动导出内存映像文件?
  5. Java中的序列问题-2
  6. RabbitMQ学习——常见概念详解
  7. linux中date命令y与Y区别,Linux命令之date
  8. 谷粒学院项目总结(持续更新)
  9. AMOS分析技术:模型的群组分析;AMOS如何对同一个模型分别用男性数据和女性数据拟合?
  10. 作为非计算机专业的我,是如何拿下软考软件设计师的?
  11. 无线Wifi密码之暴力破解篇(WPA)
  12. 计算机网络 互联网使用的安全协议
  13. 【WIN10】PS/2 标准键盘鼠标带感叹号(代码10,39)(适用于红米G)
  14. html b5纸尺寸,A5纸的尺寸多大(各种标准纸张大小A1,A2,A3,A4纸的尺寸)
  15. php中hr标签的用法,HTML: hr 标签
  16. Conflux 联合创始人、CTO伍鸣博士出席杭州钱江世纪城重点发展企业座谈会
  17. PPT素材不够用,这5个网站帮你解决
  18. ApriTag2 检测方法
  19. 剑指 Offer 41-50
  20. 最新中国土地市场网JS逆向分析

热门文章

  1. 调用天气接口获取天气预报
  2. 数据库大并发操作要考虑死锁和锁的性能问题
  3. BZOJ 1697: [Usaco2007 Feb]Cow Sorting牛排序(置换+贪心)
  4. iBATIS使用$和#的一些理解
  5. 记录一次浏览器主页被劫持的经历
  6. Centos6.X 安装MongoDb
  7. [C入门 - 游戏编程系列] 贪吃蛇篇(一) - 世界定义
  8. Linux进程状态(ps stat)之R、S、D、T、Z、X 转:http://blog.csdn.net/huzia/article/details/18946491...
  9. MySQL Innodb Engine -- 文件格式(innodb_file_format)
  10. 5、lvs使用进阶(01)