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