常見的矩陣範數有L1,L2,∞ 範數,F範數和引申出的L2,1範數。而在機器學習的特徵選擇中,利用選擇矩陣的範數對選擇矩陣進行約束,即是正則化技術,是一種稀疏學習。
L0 ,L1 向量範數
L0 範數
L0 範數是指向量v 中的非0的個數,是一種度量向量稀疏性的表示方法。例如:v=[0,1,1,0,0,1] ,那麼∥v∥0=3 。
L1 範數
L1 範數是向量中元素的絕對值之和,即∥v∥1=∑ni=1|vi| ,也描述了向量的稀疏性。
從圖中可以看出,p 的取值在[0,1) 之間時,範數不具有凸性。在實際的優化中,是無法進行優化的,因此,一般會將L0 範數轉化爲L1 範數,或者是其他可優化的範數。
矩陣的L1 範數
爲了度量稀疏矩陣的稀疏性,則定義矩陣的一種範數,爲:
∥W∥1=∑i,j|Wi,j|
即爲矩陣所有元素的絕對值之和,能夠描述接矩陣的稀疏性,但是在優化時,難度較大,是將情況向矩陣中元素儘可能是0的方向優化。
矩陣的L2,1 範數
而爲了進一步說明矩陣的稀疏性,來說明特徵選擇中矩陣L2,1 範數的作用。
在特徵選擇中,通過稀疏化的特徵選擇矩陣來選取特徵,即相當於是一種線性變換。
矩陣L2,1 範數的求導
對於特徵選擇矩陣W ,每一行(即行向量)用向量的2-範數描述,即wi=∑j|Wi,j|2−−−−−−−−√ 。那麼,描述化之後即爲向量w=[w1,w2,⋯,wd]T ,那麼對整個選擇矩陣W 還需要用範數對w 進行描述,因爲損失函數中的正則項,或稱爲正則化的項是一個數,而不是一個向量。因此再用1-範數對w 描述,即是W 的L2,1 範數。
∥W∥2,1=∥w∥1=∑i=1d∑j=1n|Wi,j|2−−−−−−−−⎷
這便是矩陣的
L2,1 範數的實際描述過程。矩陣的
L2,1 範數滿足矩陣範數的自反性、非負性、對稱性和三角不等式關係,是一個範數,這裏不予證明。
那麼,在線性學習模型,損失函數如:
minW,b∥XW+enbT−Y∥2F+λ∥W∥2,1
在優化中,矩陣的範數該如何求導?關於矩陣的F範數求導,可以參考
矩陣的 Frobenius 範數及其求偏導法則。而矩陣
L2,1 範數求導如下推導:
首先,先證明一個向量求導的問題,其中
x={x1,x2,…,xn} , 而已知求導
dxxT=x1dx1+⋯+xndxn(x21+⋯+x2n)12=xdxT(xxT)12
那麼,可得向量的求導爲
dxxTdx=x(xxT)12=x∥x∥2
而對於一個矩陣
W=[w1,⋯,wd]T , 其中
wi 是
W 的第
i 行。由矩陣的定義有
∥W∥2,1=∥w∥1=∑i=1d∥wi∥2=∑i=1d(wiwiT)12
那麼:
∂∥W∥2,1∂W=⎛⎝⎜⎜⎜⎜⎜∂(∑i=1d∥wi∥2)∂wj⎞⎠⎟⎟⎟⎟⎟d×1=⎛⎝⎜⎜⎜⎜⎜∂(∑i=1d(wiwiT)12)∂wj⎞⎠⎟⎟⎟⎟⎟d×1=(wj∥wj∥2)d×1=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜1∥w1∥21∥w2∥2⋱1∥wd∥2⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎛⎝⎜⎜⎜⎜w1w2⋮wd⎞⎠⎟⎟⎟⎟=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜1∥w1∥21∥w2∥2⋱1∥wd∥2⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟W=ΣW
這即是矩陣
L2,1 範數的求導結果。
矩陣一般化L2,P 範數的求導
而向老師就矩陣一般化L2,P 範數給出了推導,如下: