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范数。而在机器学习的特征选择中,利用选择矩阵的范数对选择矩阵进行约束,即是正则化技术,是一种稀疏学习。
,向量范数
-
范数
范数是指向量中的非0的个数,是一种度量向量稀疏性的表示方法。例如:,那么。
-
范数
范数是向量中元素的绝对值之和,即,也描述了向量的稀疏性。
从图中可以看出,的取值在之间时,范数不具有凸性。在实际的优化中,是无法进行优化的,因此,一般会将范数转化为范数,或者是其他可优化的范数。
矩阵的范数
为了度量稀疏矩阵的稀疏性,则定义矩阵的一种范数,为:
即为矩阵所有元素的绝对值之和,能够描述接矩阵的稀疏性,但是在优化时,难度较大,是将情况向矩阵中元素尽可能是0的方向优化。
矩阵的范数
而为了进一步说明矩阵的稀疏性,来说明特征选择中矩阵范数的作用。
在特征选择中,通过稀疏化的特征选择矩阵来选取特征,即相当于是一种线性变换。
矩阵范数的求导
对于特征选择矩阵,每一行(即行向量)用向量的2-范数描述,即。那么,描述化之后即为向量,那么对整个选择矩阵还需要用范数对进行描述,因为损失函数中的正则项,或称为正则化的项是一个数,而不是一个向量。因此再用1-范数对描述,即是的范数。
这便是矩阵的范数的实际描述过程。矩阵的范数满足矩阵范数的自反性、非负性、对称性和三角不等式关系,是一个范数,这里不予证明。
那么,在线性学习模型,损失函数如:
在优化中,矩阵的范数该如何求导?关于矩阵的F范数求导,可以参考矩阵的 Frobenius 范数及其求偏导法则。而矩阵范数求导如下推导:
首先,先证明一个向量求导的问题,其中 , 而已知求导
那么,可得向量的求导为
而对于一个矩阵 , 其中 是 的第 行。由矩阵的定义有
那么:
这即是矩阵范数的求导结果。
矩阵一般化范数的求导
而向老师就矩阵一般化范数给出了推导,如下: