如何优化正则项为2-1范数的问题

来源:互联网 发布:网络诈骗案多久能破案 编辑:程序博客网 时间:2024/04/30 03:51

转自:http://www.cnblogs.com/murongxixi/p/3585574.html


TT个任务的多任务学习(multi-task learning)中,设第tt个任务对应的分类器的参数记为wtwt,那么其对应的问题一般会形式化成

minW   loss(W)+λ||W||2minW   loss(W)+λ||W||∗2
其中W=[w1,,wT]W=[w1,…,wT]||||||⋅||∗是某个矩阵范数,λλ是权衡损失项和正则项的参数。

  进行多任务学习时,一般会假设不同任务之间会有一些共性(否则也没必要把它们放在一起学习了),那么自然就会有些特征对它们集体都很有用,而有些特征对它们集体都很没用,这体现在WW上就是WW的有些行会都不为00,也即该特征很有用,有些行都为00,即该特征很没用。那么这时候,||||||⋅||∗取2-1范数是最合理的。具体来说,设矩阵WRd×TW∈Rd×T的第ii行为wiwi⊤,那么其2-1范数定义为

||W||2,1=i=1d||wi||2||W||2,1=∑i=1d||wi||2
也就是行内取2范数,行间取1范数。

  直接优化2-1范数并不容易,一般方法是引入辅助变量Δ=diag(μ1,,μd)Δ=diag(μ1,…,μd)进行交替优化。注意tr(AB)=tr(BA)tr(AB)=tr(BA),于是

tr(WΔ1W)=tr[w1,w2,,wd]1μ10001μ20001μdw1w2wd=tr(i=1dwiwiμi)=i=1dtr(wiwi)μi=i=1dtr(wiwi)μi=i=1d||wi||22μitr(W⊤Δ−1W)=tr([w1,w2,…,wd][1μ10⋯001μ2⋯0⋮⋮⋱⋮00⋯1μd][w1⊤w2⊤⋮wd⊤])=tr(∑i=1dwiwi⊤μi)=∑i=1dtr(wiwi⊤)μi=∑i=1dtr(wi⊤wi)μi=∑i=1d||wi||22μi
由Cauchy-Schwarz不等式知
minμ1,,μd,di=1μi=1,μi0   i=1d||wi||22μiminμ1,…,μd,∑i=1dμi=1,μi≥0   ∑i=1d||wi||22μi
的最优解是
μi=||wi||2di=1||wi||2,i=1,,d(1)(1)μi∗=||wi||2∑i=1d||wi||2,i=1,…,d
于是
minμ1,,μd,di=1μi=1,μi0   tr(WΔ1W)=i=1d||wi||22μi=i=1d||wi||2i=1d||wi||2=||W||22,1minμ1,…,μd,∑i=1dμi=1,μi≥0   tr(W⊤Δ−1W)=∑i=1d||wi||22μi∗=∑i=1d||wi||2∑i=1d||wi||2=||W||2,12
故问题转化为:
minWRd×T,μ1,,μd,di=1μi=1,μi0   loss(W)+λ tr(WΔ1W)minW∈Rd×T,μ1,…,μd,∑i=1dμi=1,μi≥0   loss(W)+λ tr(W⊤Δ−1W)

  又

tr(WΔ1W)=trw1w2wT1μ10001μ20001μd[w1,w2,,wT]=tr[w1,w2,,wT]w1w2wT1μ10001μ20001μd=tr(t=1wtwt)1μ10001μ20001μd=t=1Ttrwtwt1μ10001μ20001μd=t=1Ttrwt1μ10001μ20001μdwt=t=1Twt1μ10001μ20001μdwttr(W⊤Δ−1W)=tr([w1⊤w2⊤⋮wT⊤][1μ10⋯001μ2⋯0⋮⋮⋱⋮00⋯1μd][w1,w2,…,wT])=tr([w1,w2,…,wT][w1⊤w2⊤⋮wT⊤][1μ10⋯001μ2⋯0⋮⋮⋱⋮00⋯1μd])=tr((∑t=1⊤wtwt⊤)[1μ10⋯001μ2⋯0⋮⋮⋱⋮00⋯1μd])=∑t=1Ttr(wtwt⊤[1μ10⋯001μ2⋯0⋮⋮⋱⋮00⋯1μd])=∑t=1Ttr(wt⊤[1μ10⋯001μ2⋯0⋮⋮⋱⋮00⋯1μd]wt)=∑t=1Twt⊤[1μ10⋯001μ2⋯0⋮⋮⋱⋮00⋯1μd]wt
故问题进一步转化为:
minwtRd,μ1,,μd,di=1μi=1,μi0   t=1Tloss(wt)+λwt1μ10001μ20001μdwtminwt∈Rd,μ1,…,μd,∑i=1dμi=1,μi≥0   ∑t=1T(loss(wt)+λwt⊤[1μ10⋯001μ2⋯0⋮⋮⋱⋮00⋯1μd]wt)
不难证明目标函数关于WWΔΔ是联合凸的。固定WWΔΔ的解析解由(11)式给出;固定ΔΔ,若loss项取hinge loss,那么就是求解一个SVM(取其他loss如logsitc loss,就是logistic regression)。

0 0
原创粉丝点击