使用SVD来求解优化问题最优值以及求解PCA

博客介绍了使用SVD求解优化问题最优值和PCA的方法。在求解优化问题时,通过对矩阵H进行SVD分解找到最优解;证明了相关引理,说明对H分解可找到使Tr(XH)最大的最优X。还指出PCA本质是求解方差的特征向量,即图中的V。

使用SVD来求解优化问题最优值

假设我们想要求解如下问题:

R ∗ = argmax ⁡ R ∑ i = 1 n q i T R p i = ∑ i = 1 n t r ( Q T R P ) i i = t r ( Q T R P ) R\mathbf{^{*}} =\underset{R}{\operatorname{argmax}}\sum ^{n}_{i=1} q^{T}_{i} Rp_{i} =\sum ^{n}_{i=1} tr\left( Q^{T} RP\right)_{ii} =tr\left( Q^{T} RP\right) R=Rargmaxi=1nqiTRpi=i=1ntr(QTRP)ii=tr(QTRP)

H ≜ ∑ i = 1 n p i q i T \displaystyle H\triangleq \sum ^{n}_{i=1} p_{i} q^{T}_{i} Hi=1npiqiT,于是问题变成求解如下最优值:

R ∗ = argmax ⁡ R   t r ( Q T R P ) = t r ( R P Q T ) = t r ( R H ) R\mathbf{^{*}} =\underset{R}{\operatorname{argmax}}\ tr\left( Q^{T} RP\right)=tr\left( RPQ^{T}\right)=tr\left( RH\right) R=Rargmax tr(QTRP)=tr(RPQT)=tr(RH)

现在,如果H的SVD分解为, H = U Λ V T \displaystyle H=U\Lambda V^{T} H=UΛVT,可以证明

R ∗ = V U T R\mathbf{^{*}} =VU^{T} R=VUT

一定是该优化问题的最优解。

现在证明一个引理:

引理1:对于任意的正定矩阵 A A T \displaystyle AA^{T} AAT,对于任意的正交矩阵B,则有
Tr ⁡ ( A A T ) ≥ Tr ⁡ ( B A A T ) \operatorname{Tr}\left( AA^{T}\right) \geq \operatorname{Tr}\left( BAA^{T}\right) Tr(AAT)Tr(BAAT)

证明:令 a i \displaystyle a_{i} ai是A的第i列,于是
Tr ⁡ ( B A A t ) = Tr ⁡ ( A t B A ) = ∑ i a i t ( B a i ) \begin{aligned} \operatorname{Tr}\left( BAA^{t}\right) & =\operatorname{Tr}\left( A^{t} BA\right)\\ & =\sum _{i} a^{t}_{i}( Ba_{i}) \end{aligned} Tr(BAAt)=Tr(AtBA)=iait(Bai)

根据Cauchy–Schwarz_inequality,

a i T ( B a i ) ≤ ( a i T a i ) ( a i T B T B a i ) = a i T a i a^{T}_{i}( Ba_{i}) \leq \sqrt{\left( a^{T}_{i} a_{i}\right)\left( a^{T}_{i} B^{T} Ba_{i}\right)} =a^{T}_{i} a_{i} aiT(Bai)(aiTai)(aiTBTBai) =aiTai

因为B是正交矩阵,所以 B T B = E \displaystyle B^{T} B=E BTB=E.因此

Tr ⁡ ( B A A T ) ⩽ ∑ i a i T a i = Tr ⁡ ( A A T ) \operatorname{Tr}\left( BAA^{T}\right) \leqslant \sum _{i} a^{T}_{i} a_{i} =\operatorname{Tr}\left( AA^{T}\right) Tr(BAAT)iaiTai=Tr(AAT)
证毕。

现设
X = V U T   ( 这 是 正 交 矩 阵 , X T X = U V T V U T = E ) X=VU^{T} \ \left( 这是正交矩阵,X^{T} X=UV^{T} VU^{T} =E\right) X=VUT (,XTX=UVTVUT=E)
于是
X H = V U T U Λ V T = V Λ V T \begin{aligned} XH & =VU^{T} U\Lambda V^{T}\\ & =V\Lambda V^{T} \end{aligned} XH=VUTUΛVT=VΛVT
因此 X H \displaystyle XH XH是一个对称而且正定的矩阵,根据Cholesky分解 X H \displaystyle XH XH一定可以分解成 A A T \displaystyle AA^{T} AAT的形式,于是根据上述引理,对于任意的正交矩阵B,这样的对称正定矩阵一定满足公式:
Tr ⁡ ( X H ) ≥ Tr ⁡ ( B X H ) \operatorname{Tr}( XH) \geq \operatorname{Tr}( BXH) Tr(XH)Tr(BXH)
于是, Tr ⁡ ( X H ) \displaystyle \operatorname{Tr}( XH) Tr(XH)一定是最优值,因为任意的变换都会使得该它减少。这个东西告诉我们,只要我们能够对H进行SVD分解,那么我们一定能够找到一个最优的X使得 Tr ⁡ ( X H ) \displaystyle \operatorname{Tr}( XH) Tr(XH)最大。

使用SVD来求解PCA

在这里插入图片描述
如上图,PCA本质上就是求解方差的特征向量,而这个特征向量其实就是图中里面的V。

参考资料

Arun, K. Somani, Thomas S. Huang, and Steven D. Blostein. “Least-squares fitting of two 3-D point sets.” IEEE Transactions on pattern analysis and machine intelligence 5 (1987): 698-700.

https://zhuanlan.zhihu.com/p/35893884

An easy introduction to unsupervised learning with 4 basic techniques

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值