1.2.4 向量的范数
范数是用来度量线性空间中向量长度或大小的数学概念。若‖·‖是线性空间V上的非负函数,且满足
非负性:∀v∈V,‖v‖≥0;‖v‖=0⇔v=0
齐次性:∀v∈V,c∈R,
三角不等式:∀u、v∈V,‖u+v‖≤‖u‖+‖v‖
则‖·‖称为线性空间V上的范数。对于一个n维向量v,它的常用范数是p-范数,即
其中,p≥0是一个标量参数,p=1称为1-范数,p=2称为2-范数,p=∞称为∞-范数。
(1)1-范数。向量v各个元素的绝对值之和是
(2)2-范数。向量v各个元素平方和的平方根是
(3)∞-范数。向量v各个元素的最大绝对值是
应用要点:机器学习中的常用方法是监督机器学习,即定义模型和损失函数后,模型在训练过程中通过最小化损失函数来确定其参数。但是这种方法因为模型参数过多,会导致模型复杂度上升,容易导致过拟合,即在模型训练过程中,模型的训练误差很小,但是在实际测试和应用中,其训练误差较大,或者说模型的泛化性能较差。而模型训练的最终目标不是其训练误差较小,而是其测试误差较小(或泛化性能较好)。在所有可能选择的模型中,人们应该选择能够很好地拟合训练样本并且简单的模型。“简单的模型”可以理解为在能够很好地拟合或解释训练样本的所有模型中,参数较少的模型。于是机器学习的目标是在保证模型“简单”的基础上其测试误差最小,这样得到的参数才具良好的泛化性能。通过模型参数的1-范数和2-范数来构建正则化项是实现简单模型的常用方法。
模型“简单”常常通过正则化来实现。正则化的使用可以约束人们选择模型的特征。这样人们可以将先验知识融入模型中,以使学习到的模型具有人们期望的特征,如稀疏。在损失函数后添加1-范数和2-范数是实现正则化的常用方法。若损失函数是L(yi,f(xi;ω)),其中(xi,yi)是第i个训练样本,ω是模型参数,则1-范数和2-范数正则化模型中的目标函数是
上述模型中的目标函数由损失函数和正则化项(1-范数或2-范数)构成,λ是大于零的正则化因子(从最优化理论的角度也可以理解为惩罚因子)。在损失函数中添加正则化项后,训练的模型可能会具有人们期望的特征。为了更好地理解1-范数和2-范数正则化给模型带来的影响及区别,我们可将式(1.4)和式(1.5)图形化,如图1.2所示。图1.2(a)所示为1-范数正则化模型,该图中的圆圈表示损失函数的等高线,矩形表示1-范数。图1.2(b)所示为2-范数正则化模型,该图中上面的圆圈表示损失函数的等高线,下面的圆圈表示2-范数。
图1.2 范数正则化比较
由图1.2(a)可知,要求解式(1.4)的最优解ω*,损失函数的等高线要与表示1-范数的矩形相切,其相切的点有可能落在坐标轴上,因此其只有一个坐标分量不为零,其他坐标分量为零,即1-范数正则化模型获得的最优解ω*是稀疏的。这里“稀疏”可以理解为最优解ω*中的大多数参数都是零向量,只有少量的参数是非零向量,这说明通过机器学习得到的模型是“简单”的。在实际的机器学习问题中,1-范数正则化使得一些模型参数为零向量,忽略了一些无关的或次要的特征,提高了学习到的模型的泛化性能。
由图1.2(b)可知,要求解式(1.5)的最优解ω*,损失函数的等高线要与表示2-范数的圆圈相切,其相切的点有很大可能不落在坐标轴上。而要使得目标函数最小化会导致在显著减小损失函数(目标函数的第一项)方向上的参数被相对完整的保留,而无助于损失函数减小方向上的参数在模型训练过程中会逐渐衰减趋向零向量。因此,1-范数正则化与2-范数正则化的区别是,1-范数正则化使得模型参数很多变为零向量,而2-范数正则化使得很多模型参数大小变得越来越小,趋向于零向量,即2-范数正则化通过抑制一些模型参数,使得这些参数大小很小,从而让这些参数对应的特征发挥较小的影响,来达到避免过拟合的目的。由于PCA(Principal Component Analysis,主成分分析)方法[3]的思路是剔除了一些对拟合贡献较小的特征,而2-范数正则化只是将部分无关特征权值缩放至零附近,因此2-范数正则化也常被称为Soft-PCA。若读者要从理论角度深入理解2-范数正则化能避免过拟合的原因,则需要借助矩阵分析的知识,具体内容见文献[4]。