常见的矩阵范数有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的取值在
矩阵的L1范数
为了度量稀疏矩阵的稀疏性,则定义矩阵的一种范数,为:
∥W∥1=∑i,j|Wi,j|
即为矩阵所有元素的绝对值之和,能够描述接矩阵的稀疏性,但是在优化时,难度较大,是将情况向矩阵中元素尽可能是0的方向优化。
矩阵的L2,1范数
而为了进一步说明矩阵的稀疏性,来说明特征选择中矩阵L2,1范数的作用。

在特征选择中,通过稀疏化的特征选择矩阵来选取特征,即相当于是一种线性变换。

矩阵L2,1范数的求导
对于特征选择矩阵W,每一行(即行向量)用向量的2-范数描述,即
∥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范数给出了推导,如下:




关于矩阵的求导,是机器学习的一个数学难点,需要好好积累数学理论知识!
版权声明:本文为lqzdreamer原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。