最近的研究设计并建立了一些优化模型,其中的一些优化方法值得总结。比如,当遇到如下模型:
上述模型中 U U 为正交矩阵,如何优化求解 U U 呢?我们将优化的目标函数进行trace展开:
那么最小化原始的目标函数,则等价为最大化如下目标函数:
新的目标函数有如下性质:
其中 σi σ i 表示矩阵的第 i i 大的奇异值。现在对 PXT P X T 进行奇异值分解,得到 PXT=ASBT P X T = A S B T (SVD分解);那么当 U=ABT U = A B T 时, Tr(UTPXT) T r ( U T P X T ) 取最大值。因为如下:
所以最终的 U=ABT U = A B T ,其中的 A,B A , B 为 PXT P X T 的奇异值分解。
有时我们建立的数据模型有如下形式,其中数据 X=[x1,⋯,xN]∈Rm×N X = [ x 1 , ⋯ , x N ] ∈ R m × N , B=[b1,⋯,bN]∈Rm×N B = [ b 1 , ⋯ , b N ] ∈ R m × N :
为了更好的优化求解上式,我们需要对第二项进行简单变形得到关于 B B 的形式,由此我们引入矩阵 H,h H , h ,如下:
有了 H,h H , h ,上述的目标函数可改写为:
针对 B B 的优化,可以采取一种比较简便的变形。我们引入vec堆叠操作符,将矩阵拉为向量;目标函数则变为:(这里使用了堆叠操作符的性质: vec(ASB)=(BT⊗A)∗vec(S) v e c ( A S B ) = ( B T ⊗ A ) ∗ v e c ( S ) , ⊗ ⊗ 为克罗内克积)
其中 vec(X)=x,vec(B)=α,P=(HT⊗Im)−(IN⊗W),Q=hT⊗W v e c ( X ) = x , v e c ( B ) = α , P = ( H T ⊗ I m ) − ( I N ⊗ W ) , Q = h T ⊗ W 。上述目标函数优化转换为对 α α 的优化求解。其实上述目标函数中虽然有 −λ∥Qα∥22 − λ ‖ Q α ‖ 2 2 项的存在,但是此目标函数关于 α α 是凸的,因为可以证明 PTP−QTQ P T P − Q T Q 正定。则 α α 有闭合解:
而对 W W 的优化也有闭合解,最简单做法便是优化原始目标函数中的第二项,实质为一个线性问题:
则 W=[b2,b3,⋯,bN]∗[b1,b2,⋯,bN−1]+ W = [ b 2 , b 3 , ⋯ , b N ] ∗ [ b 1 , b 2 , ⋯ , b N − 1 ] + 。当然 W W 的优化也可直接对变换后的目标函数直接求导求解。