在 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范数是最合理的。具体来说,设矩阵 W∈Rd×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μ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 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,μi≥0 ∑i=1d||wi||22μi minμ1,…,μd,∑i=1dμi=1,μi≥0 ∑i=1d||wi||22μi
的最优解是
μ∗i=||wi||2∑di=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,μi≥0 tr(W⊤Δ−1W)=∑i=1d||wi||22μ∗i=∑i=1d||wi||2∑i=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
故问题转化为:
minW∈Rd×T,μ1,…,μd,∑di=1μi=1,μi≥0 loss(W)+λ tr(W⊤Δ−1W) minW∈Rd×T,μ1,…,μd,∑i=1dμi=1,μi≥0 loss(W)+λ tr(W⊤Δ−1W)
又
tr(W⊤Δ−1W)=tr⎛⎝⎜⎜⎜⎜⎜⎜⎜⎡⎣⎢⎢⎢⎢⎢w⊤1w⊤2⋮w⊤T⎤⎦⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢⎢⎢⎢1μ10⋮001μ2⋮0⋯⋯⋱⋯00⋮1μd⎤⎦⎥⎥⎥⎥⎥⎥⎥[w1,w2,…,wT]⎞⎠⎟⎟⎟⎟⎟⎟⎟=tr⎛⎝⎜⎜⎜⎜⎜⎜⎜[w1,w2,…,wT]⎡⎣⎢⎢⎢⎢⎢w⊤1w⊤2⋮w⊤T⎤⎦⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢⎢⎢⎢1μ10⋮001μ2⋮0⋯⋯⋱⋯00⋮1μd⎤⎦⎥⎥⎥⎥⎥⎥⎥⎞⎠⎟⎟⎟⎟⎟⎟⎟=tr⎛⎝⎜⎜⎜⎜⎜⎜⎜(∑t=1⊤wtw⊤t)⎡⎣⎢⎢⎢⎢⎢⎢⎢1μ10⋮001μ2⋮0⋯⋯⋱⋯00⋮1μd⎤⎦⎥⎥⎥⎥⎥⎥⎥⎞⎠⎟⎟⎟⎟⎟⎟⎟=∑t=1Ttr⎛⎝⎜⎜⎜⎜⎜⎜⎜wtw⊤t⎡⎣⎢⎢⎢⎢⎢⎢⎢1μ10⋮001μ2⋮0⋯⋯⋱⋯00⋮1μd⎤⎦⎥⎥⎥⎥⎥⎥⎥⎞⎠⎟⎟⎟⎟⎟⎟⎟=∑t=1Ttr⎛⎝⎜⎜⎜⎜⎜⎜⎜w⊤t⎡⎣⎢⎢⎢⎢⎢⎢⎢1μ10⋮001μ2⋮0⋯⋯⋱⋯00⋮1μd⎤⎦⎥⎥⎥⎥⎥⎥⎥wt⎞⎠⎟⎟⎟⎟⎟⎟⎟=∑t=1Tw⊤t⎡⎣⎢⎢⎢⎢⎢⎢⎢1μ10⋮001μ2⋮0⋯⋯⋱⋯00⋮1μd⎤⎦⎥⎥⎥⎥⎥⎥⎥wt 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
故问题进一步转化为:
minwt∈Rd,μ1,…,μd,∑di=1μi=1,μi≥0 ∑t=1T⎛⎝⎜⎜⎜⎜⎜⎜⎜loss(wt)+λw⊤t⎡⎣⎢⎢⎢⎢⎢⎢⎢1μ10⋮001μ2⋮0⋯⋯⋱⋯00⋮1μd⎤⎦⎥⎥⎥⎥⎥⎥⎥wt⎞⎠⎟⎟⎟⎟⎟⎟⎟ 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)。