以下分别列举常用的向量范数和矩阵范数的定义。
- 向量范数
1-范数:
||x||1=∑i=1N|xi|,即向量元素绝对值之和,matlab调用函数norm(x, 1) 。
2-范数:
||x||2=∑i=1Nxi2,Euclid范数(欧几里得范数,常用计算向量长度),即向量元素绝对值的平方和再开方,matlab调用函数norm(x, 2)。
∞-范数:||x||∞=maxi|xi|,即所有向量元素绝对值中的最大值,matlab调用函数norm(x, inf)。
−∞-范数:||x||−∞=mini|xi|
,即所有向量元素绝对值中的最小值,matlab调用函数norm(x, -inf)。
p-范数:||x||p=(∑i=1N|xi|p)1p
,即向量元素绝对值的p次方和的1/p次幂,matlab调用函数norm(x, p)。
1-范数:||A||1=maxj∑i=1m|ai,j|
, 列和范数,即所有矩阵列向量绝对值之和的最大值,matlab调用函数norm(A, 1)。
2-范数:||A||2=λ1,λ<br/>为ATA的最大特征值。
,谱范数,即A'A矩阵的最大特征值的开平方。matlab调用函数norm(x, 2)。
∞-范数:||A||∞=maxi∑j=1N|ai,j|
,行和范数,即所有矩阵行向量绝对值之和的最大值,matlab调用函数norm(A, inf)。
F-范数:||A||F=(∑i=1m∑j=1n|ai,j|2)12
,Frobenius范数,即矩阵元素绝对值的平方和再开平方,matlab调用函数norm(A, ’fro‘)。
核范数:||A||∗=∑i=1nλi,λi是A的奇异值。
即奇异值之和
我们从最简单的最小二乘线性模型开始。最开始,最小二乘的loss(需优化的目标函数)如下:
式中,tn是目标变量,xn是观测量(自变量),\phi 是基函数(后期推导与核化相关),是w是参数。此式有闭式解,解为:
但是我们都知道,矩阵求逆是一个病态问题,即矩阵并不是在所有情况下都有逆矩阵。所以上述式子在实际使用时会遇到问题。为了解决这个问题,可以求其近似解。可以用SGD(梯度下降法)求一个近似解,或者加入正则项(2范数)。加入正则项是我们这里要说的。加入2范数的正则项可以解决这个病态问题,并且也可以得到闭式解,在实际使用时要比用SGD快,并且加入正则化后的好处并不仅仅是这些。加入正则项(2范数)的loss如下:
其闭式解为:
此式在 \lambda 不为零时,总是有解的,所以是一个非病态的问题,这在实际使用时很好。除了这一点,2范数的正则项还有其他好处,比如控制方差和偏差的关系,得到一个好的拟合,这里就不赘述了,毕竟这里讲的是范数,有兴趣可以参阅相关资料。
加入正则项后一般情况下的loss为:
好了,我们终于可以专注于范数了。不同范数对应的曲线如下图:
(图来源于参考书PRML)
上图中,可以明显看到一个趋势,即q越小,曲线越贴近坐标轴,q越大,曲线越远离坐标轴,并且棱角越明显。那么 q=0 和 q=oo 时极限情况如何呢?猜猜看。
bingio, 你猜对了,答案就是十字架和正方形。除了图形上的直观形象,在数学公式的推导中,q=0 和 q=oo 时两种极限的行为可以简记为非零元的个数和最大项。即0范数对应向量或矩阵中非零元的个数,无穷范数对应向量或矩阵中最大的元素。具体推导可以参考维基百科。至此为止,那么他们用在机器学习里有什么区别呢?
以1范数和2范数为例:
(图来自PRML)
上图中,蓝色的圆圈表示原问题可能的解范围,橘色的表示正则项可能的解范围。而整个目标函数(原问题+正则项)有解当且仅当两个解范围相切。从上图可以很容易地看出,由于2范数解范围是圆,所以相切的点可能有很多个,绝大部分不在坐标轴上,而由于1范数是菱形,其相切的点大多在坐标轴上,而坐标轴上的点有一个特点,其只有一个坐标分量不为零,其他坐标分量为零,即是稀疏的。所以有如下结论,1范数可以导致稀疏解,2范数导致稠密解。那么为什么不用0范数呢,理论上它是求稀疏解最好的规范项了。然而在机器学习中,特征的维度往往很大,解0范数又是NP-hard问题,所以在实际中不可行。但是用1范数解是可行的,并且也可以得到稀疏解,所以实际稀疏模型中用1范数约束。
至此,我们总结一下,在机器学习中,以0范数和1范数作为正则项,可以求得稀疏解,但是0范数的求解是NP-hard问题; 以2范数作为正则项可以得到稠密解,并且由于其良好的性质,其解的定义很好,往往可以得到闭式解,所以用的很多。
另外,从距离的角度说一下范数。1范数对应街区距离,2范数对应大家熟知的欧式距离,无穷范数对应棋盘距离(切比雪夫距离)。
参考资料:
1. PRML: Pattern recognition and machine learning, Christopher M. Bishop.
2. USTC 图像分析课程ppt,统计学习课程ppt.
发布于 2017-09-25 20:15
标签:--,矩阵,调用函数,正则,matlab,范数,norm From: https://blog.csdn.net/quaer/article/details/142533872