矩阵L2,1范数及矩阵L2,p范数的求导 矩阵L2,1范数及矩阵L2,p范数的求导

矩阵L2,1范数及矩阵L2,p范数的求导

1、向量范数

1-范数:,即向量元素绝对值之和,matlab调用函数norm(x, 1) 。

2-范数:,Euclid范数(欧几里得范数,常用计算向量长度),即向量元素绝对值的平方和再开方,matlab调用函数norm(x, 2)。

∞-范数:,即所有向量元素绝对值中的最大值,matlab调用函数norm(x, inf)。

-∞-范数:,即所有向量元素绝对值中的最小值,matlab调用函数norm(x, -inf)。

p-范数:,即向量元素绝对值的p次方和的1/p次幂,matlab调用函数norm(x, p)。


2、矩阵范数

1-范数:, 列和范数,即所有矩阵列向量绝对值之和的最大值,matlab调用函数norm(A, 1)。

2-范数:,谱范数,即A'A矩阵的最大特征值的开平方。matlab调用函数norm(x, 2)。

∞-范数:,行和范数,即所有矩阵行向量绝对值之和的最大值,matlab调用函数norm(A, inf)。

F-范数:,Frobenius范数,即矩阵元素绝对值的平方和再开平方,matlab调用函数norm(A, ’fro‘)。


常见的矩阵范数有L1,L2,范数,F范数和引申出的L2,1范数。而在机器学习的特征选择中,利用选择矩阵的范数对选择矩阵进行约束,即是正则化技术,是一种稀疏学习。

L0L0L1L1向量范数

  • L0L0 范数

    L0L0 范数是指向量vv中的非0的个数,是一种度量向量稀疏性的表示方法。例如:v=[0,1,1,0,0,1]v=[0,1,1,0,0,1],那么v0=3∥v∥0=3

  • L1L1 范数 
    L1L1 范数是向量中元素的绝对值之和,即v1=ni=1|vi|∥v∥1=∑i=1n|vi|,也描述了向量的稀疏性。 


    这里写图片描述

从图中可以看出,pp的取值在[01)[0,1)之间时,范数不具有凸性。在实际的优化中,是无法进行优化的,因此,一般会将L0L0范数转化为L1L1范数,或者是其他可优化的范数。

矩阵的L1L1范数

为了度量稀疏矩阵的稀疏性,则定义矩阵的一种范数,为: 

W1=i,j|Wi,j|‖W‖1=∑i,j|Wi,j|

即为矩阵所有元素的绝对值之和,能够描述接矩阵的稀疏性,但是在优化时,难度较大,是将情况向矩阵中元素尽可能是0的方向优化。

矩阵的L2,1L2,1范数

而为了进一步说明矩阵的稀疏性,来说明特征选择中矩阵L2,1L2,1范数的作用。 


这里写图片描述

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


这里写图片描述

矩阵L2,1L2,1范数的求导

对于特征选择矩阵WW,每一行(即行向量)用向量的2-范数描述,即wi=j|Wi,j|2wi=∑j|Wi,j|2。那么,描述化之后即为向量w=[w1,w2,,wd]Tw=[w1,w2,⋯,wd]T,那么对整个选择矩阵WW还需要用范数对ww进行描述,因为损失函数中的正则项,或称为正则化的项是一个数,而不是一个向量。因此再用1-范数对ww描述,即是WWL2,1L2,1范数。 

W2,1=w1=i=1dj=1n|Wi,j|2‖W‖2,1=‖w‖1=∑i=1d∑j=1n|Wi,j|2

这便是矩阵的 L2,1L2,1范数的实际描述过程。矩阵的 L2,1L2,1范数满足矩阵范数的自反性、非负性、对称性和三角不等式关系,是一个范数,这里不予证明。

那么,在线性学习模型,损失函数如: 

minW,bXW+enbTY2F+λW2,1minW,b‖XW+enbT−Y‖F2+λ‖W‖2,1

在优化中,矩阵的范数该如何求导?关于矩阵的F范数求导,可以参考 矩阵的 Frobenius 范数及其求偏导法则。而矩阵 L2,1L2,1范数求导如下推导: 
首先,先证明一个向量求导的问题,其中 x={x1,x2,,xn}x={x1,x2,…,xn} , 而已知求导
dxxT=x1dx1++xndxn(x21++x2n)12=xdxT(xxT)12dxxT=x1dx1+⋯+xndxn(x12+⋯+xn2)12=xdxT(xxT)12

那么,可得向量的求导为 
dxxTdx=x(xxT)12=xx2dxxTdx=x(xxT)12=x∥x∥2

而对于一个矩阵 W=[w1,,wd]TW=[w1,⋯,wd]T , 其中 wiwi 是 WW 的第 ii 行。由矩阵的定义有
W2,1=w1=i=1dwi2=i=1d(wiwiT)12∥W∥2,1=∥w∥1=∑i=1d∥wi∥2=∑i=1d(wiwiT)12

那么: 
W2,1W=(i=1dwi2)wjd×1=(i=1d(wiwiT)12)wjd×1=(wjwj2)d×1=1w121w221wd2w1w2wd=1w121w221wd2W=ΣW∂∥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,1L2,1范数的求导结果。

矩阵一般化L2,PL2,P范数的求导

而向老师就矩阵一般化L2,PL2,P范数给出了推导,如下: 


这里写图片描述 

这里写图片描述 

这里写图片描述 

这里写图片描述 
关于矩阵的求导,是机器学习的一个数学难点,需要好好积累数学理论知识!

猜你喜欢

转载自blog.csdn.net/m0_37692953/article/details/80498178