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

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

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

  进行多任务学习时,一般会假设不同任务之间会有一些共性(否则也没必要把它们放在一起学习了),那么自然就会有些特征对它们集体都很有用,而有些特征对它们集体都很没用,这体现在 W W上就是 W W的有些行会都不为 0 0,也即该特征很有用,有些行都为 0 0,即该特征很没用。那么这时候, |||| ||⋅||∗取2-1范数是最合理的。具体来说,设矩阵 WRd×T W∈Rd×T的第 i i行为 wi wi⊤,那么其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μi tr(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μi minμ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,1 minμ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μdwt tr(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μdwt minwt∈Rd,μ1,…,μd,∑i=1dμi=1,μi≥0   ∑t=1T(loss(wt)+λwt⊤[1μ10⋯001μ2⋯0⋮⋮⋱⋮00⋯1μd]wt)
不难证明目标函数关于 W W Δ Δ是联合凸的。固定 W W Δ Δ的解析解由( 1 1)式给出;固定 Δ Δ,若loss项取hinge loss,那么就是求解一个SVM(取其他loss如logsitc loss,就是logistic regression)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值