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

2.10 PCA

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

1. 如何从2.71过渡到2.72

在这里插入图片描述

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

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

根据 X i , : = x ( i ) T \boldsymbol{X}_{i,:}=\boldsymbol{x}^{(i)^{T}} Xi,:=x(i)T​,我们可以得出 X X X​​ 是这样的,每个 x ( i ) x^{(i)} x(i)​都是n维列向量​
X = [ x ( 1 ) T x ( 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)Tx(m)T(3)
我们试着表示一下 X − X d d T X- Xdd^T XXddT​,如下
X − X d d T = [ x ( 1 ) T x ( 2 ) T ⋮ x ( m ) T ] − [ x ( 1 ) T x ( 2 ) T ⋮ x ( m ) T ] d d T (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} XXddT=x(1)Tx(2)Tx(m)Tx(1)Tx(2)Tx(m)TddT(4)

= [ x ( 1 ) T − x ( 1 ) T d d T x ( 2 ) T − x ( 2 ) T d d T ⋮ x ( m ) T − x ( m ) T d d T ] (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)Tx(1)TddTx(2)Tx(2)TddTx(m)Tx(m)TddT(5)

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

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

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

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

2. 如何根据2.84理解最优的d是 X T X X^TX XTX的最大特征值对应的特征向量

在这里插入图片描述

2.84式中 d T X T X d d^TX^TXd dTXTXd一定是标量,所以迹运算可以忽略

我们先假设d是 X T X X^TX XTX的特征向量,那么一定有 X T X d = λ d X^TXd = \lambda d XTXd=λd,带入2.84得到
arg ⁡ max ⁡ d ⁡ ( d ⊤ λ d ) = arg ⁡ max ⁡ d ⁡ ( λ ) = λ m a x (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为特征向量时取得是不太好证的,但是证明最大特征值就是这个表达式的最大值,我倒是有些想法。

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

d T P T Λ P d d^TP^T\Lambda Pd dTPTΛPd​​​,直接令V = Pd,得到 v T Λ v v^T\Lambda v vTΛv​​ ,展开成二次项即为
v 1 2 λ 1 + v 2 2 λ 2 + . . . + v n 2 λ 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 < λ m a x , λ 2 < λ m a x , . . . , λ n < λ m a x \lambda_1<\lambda_{max},\lambda_2<\lambda_{max},...,\lambda_n<\lambda_{max} λ1<λmax,λ2<λmax,...,λn<λmax​,

所以有
v 1 2 λ 1 + v 2 2 λ 2 + . . . + v n 2 λ n < = ( v 1 2 + v 2 2 + . . . + v n 2 ) ∗ λ m a x = V T V ∗ λ m a x = ( P d ) T ( P d ) ∗ λ m a x = d T P T P d ∗ λ m a x = λ m a x (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. 归纳法证明

在这里插入图片描述

待补充…

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤独腹地

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值