模型优化方法小结

最近的研究设计并建立了一些优化模型,其中的一些优化方法值得总结。比如,当遇到如下模型:

minUTU=IXUTP2FminUTU=I⁡‖X−UTP‖F2

上述模型中UU为正交矩阵,如何优化求解U呢?我们将优化的目标函数进行trace展开:

XUTP2F=Tr(XTX)+Tr(PTP)2Tr(XTUTP)‖X−UTP‖F2=Tr(XTX)+Tr(PTP)−2Tr(XTUTP)

那么最小化原始的目标函数,则等价为最大化如下目标函数:

maxUTU=ITr(XTUTP)maxUTU=I⁡Tr(XTUTP)

新的目标函数有如下性质:

Tr(XTUTP)=Tr(UTPXT)i=1nσi(UT)σi(PXT)=i=1nσi(PXT)Tr(XTUTP)=Tr(UTPXT)≤∑i=1nσi(UT)∗σi(PXT)=∑i=1nσi(PXT)

其中σiσi表示矩阵的第ii大的奇异值。现在对PXT进行奇异值分解,得到PXT=ASBTPXT=ASBT (SVD分解);那么当U=ABTU=ABT时,Tr(UTPXT)Tr(UTPXT)取最大值。因为如下:

Tr(UTPXT)=Tr(BATASBT)=Tr(S)=i=1nσi(PXT)Tr(UTPXT)=Tr(BAT∗ASBT)=Tr(S)=∑i=1nσi(PXT)

所以最终的U=ABTU=ABT,其中的A,BA,BPXTPXT的奇异值分解。

有时我们建立的数据模型有如下形式,其中数据X=[x1,,xN]Rm×NX=[x1,⋯,xN]∈Rm×NB=[b1,,bN]Rm×NB=[b1,⋯,bN]∈Rm×N

minB,Wμ2XB2F+λn=1Nbn+1Wbn22minB,W⁡μ2‖X−B‖F2+λ∑n=1N‖bn+1−Wbn‖22

为了更好的优化求解上式,我们需要对第二项进行简单变形得到关于BB的形式,由此我们引入矩阵H,h,如下:

H=0100000000010000RN×NH=[00⋯0010⋯00⋮⋮⋱⋮00⋯0000⋯10]∈RN×N

h=[0,0,,0,1]TRNh=[0,0,⋯,0,1]T∈RN

有了H,hH,h,上述的目标函数可改写为:

minB,Wμ2XB2F+λBHWB2FλWBh22minB,W⁡μ2‖X−B‖F2+λ‖BH−WB‖F2−λ‖WBh‖22

针对BB的优化,可以采取一种比较简便的变形。我们引入vec堆叠操作符,将矩阵拉为向量;目标函数则变为:(这里使用了堆叠操作符的性质:vec(ASB)=(BTA)vec(S)为克罗内克积)

minαμ2xα22+λPα22λQα22minα⁡μ2‖x−α‖22+λ‖Pα‖22−λ‖Qα‖22

其中vec(X)=x,vec(B)=α,P=(HTIm)(INW),Q=hTWvec(X)=x,vec(B)=α,P=(HT⊗Im)−(IN⊗W),Q=hT⊗W。上述目标函数优化转换为对αα的优化求解。其实上述目标函数中虽然有λQα22−λ‖Qα‖22项的存在,但是此目标函数关于αα是凸的,因为可以证明PTPQTQPTP−QTQ正定。则αα有闭合解:

α=μ(μI+2λPTP2λQTQ)+xα=μ(μI+2λPTP−2λQTQ)+x

而对WW的优化也有闭合解,最简单做法便是优化原始目标函数中的第二项,实质为一个线性问题:

[b2,b3,,bN]=W[b1,b2,,bN1]

W=[b2,b3,,bN][b1,b2,,bN1]+W=[b2,b3,⋯,bN]∗[b1,b2,⋯,bN−1]+。当然WW的优化也可直接对变换后的目标函数直接求导求解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值