正交普鲁克问题(Orthogonal Procrustes Problem)

典型的正交普鲁克问题表达如下:
min ⁡ ∥ A Ω − B ∥ F s . t . Ω ⊤ Ω = I \begin{array}{ll} \min& ∥A\Omega−B∥_F\\ s.t.& \Omega^\top\Omega=I \end{array} mins.t.AΩBFΩΩ=I其中 A , B ∈ R m × n A ,B\in R^{m\times n} A,BRm×n 已知,待求的 Ω ∈ R n × n \Omega\in R^{n\times n} ΩRn×n 为正交矩阵。

∣ ∣ X ∣ ∣ F ||X||_F XF 称为Frobenius 范数,是矩阵范数的一种:
∣ ∣ X ∣ ∣ F = trace ( X ⊤ X ) = ∑ i , j x i j 2 ||X||_F = \sqrt{\text{trace}(X^\top X)} = \sqrt{\sum_{i,j}x_{ij}^2} XF=trace(XX) =i,jxij2 即所有元素的平方和。


下面来求解该问题:

∥ A Ω − B ∥ F 2 = t r a c e ( ( A Ω − B ) ⊤ ( A Ω − B ) ) = t r a c e ( Ω ⊤ A ⊤ A Ω − B ⊤ A Ω − Ω ⊤ A ⊤ B + B ⊤ B ) = t r a c e ( Ω ⊤ A ⊤ A Ω ) − t r a c e ( B ⊤ A Ω ) − t r a c e ( Ω ⊤ A ⊤ B ) + t r a c e ( B ⊤ B ) = t r a c e ( Ω ⊤ A ⊤ A Ω ) − 2 t r a c e ( B ⊤ A Ω ) + t r a c e ( B ⊤ B ) = t r a c e ( Ω Ω ⊤ A ⊤ A ) − 2 t r a c e ( B ⊤ A Ω ) + t r a c e ( B ⊤ B ) = t r a c e ( A ⊤ A ) − 2 t r a c e ( B ⊤ A Ω ) + t r a c e ( B ⊤ B ) \begin{array}{ll} ∥A\Omega−B∥_F^2 &= trace((A\Omega−B)^\top(A\Omega−B)) \\ &= trace( \Omega^\top A^\top A \Omega -B^\top A\Omega - \Omega^\top A^\top B +B^\top B) \\ &=trace( \Omega^\top A^\top A \Omega) -trace(B^\top A\Omega) - trace(\Omega^\top A^\top B) +trace(B^\top B) \\ &=trace( \Omega^\top A^\top A \Omega) -2trace(B^\top A\Omega) +trace(B^\top B) \\ &=trace( \Omega\Omega^\top A^\top A ) -2trace(B^\top A\Omega) +trace(B^\top B)\\ &=trace( A^\top A ) -2trace(B^\top A\Omega) +trace(B^\top B)\\ \end{array} AΩBF2=trace((AΩB)(AΩB))=trace(ΩAAΩBAΩΩAB+BB)=trace(ΩAAΩ)trace(BAΩ)trace(ΩAB)+trace(BB)=trace(ΩAAΩ)2trace(BAΩ)+trace(BB)=trace(ΩΩAA)2trace(BAΩ)+trace(BB)=trace(AA)2trace(BAΩ)+trace(BB)
所以最小化 ∥ A Ω − B ∥ F ∥A\Omega−B∥_F AΩBF 等价于最大化 t r a c e ( B ⊤ A Ω ) trace(B^\top A\Omega) trace(BAΩ),即正交普鲁克问题等价于:
max ⁡ t r a c e ( C Ω ) s . t . Ω ⊤ Ω = I \begin{array}{ll} \max& trace(C\Omega)\\ s.t.& \Omega^\top\Omega=I \end{array} maxs.t.trace(CΩ)ΩΩ=I其中 C = B ⊤ A C = B^\top A C=BA

C C C 奇异值分解: U Σ V ⊤ = C U\Sigma V^\top = C UΣV=C,则上述问题等价于最大化:
t r a c e ( C Ω ) = t r a c e ( U Σ V ⊤ Ω ) = t r a c e ( Σ V ⊤ Ω U ) = t r a c e ( Σ Z ) ( 令 Z = V ⊤ Ω U ) = ∑ i , j σ i j z i j = ∑ i σ i i z i i ≤ ∑ i σ i i \begin{array}{ll} trace(C\Omega) &= trace(U\Sigma V^\top \Omega) \\ &= trace(\Sigma V^\top \Omega U) \\ &= trace(\Sigma Z) \quad(令Z=V^\top \Omega U)\\ &= \sum_{i,j}\sigma_{ij}z_{ij} \\ &= \sum_{i}\sigma_{ii}z_{ii} \\ &\leq \sum_{i}\sigma_{ii} \end{array} trace(CΩ)=trace(UΣVΩ)=trace(ΣVΩU)=trace(ΣZ)(Z=VΩU)=i,jσijzij=iσiiziiiσii取等号的条件为: Z Z Z 的对角元为 1.
不妨令 Z = I = V ⊤ Ω U Z=I = V^\top \Omega U Z=I=VΩU,解得:
Ω = V U ⊤ \Omega = VU^\top Ω=VU

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

颹蕭蕭

白嫖?

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

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

打赏作者

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

抵扣说明:

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

余额充值