在机器学习中,正则化是相对于过拟合出现的一种特征选择的方法。在机器学习算法中使用的Loss项为最小化误差,而最小化误差是为了让我们的模型拟合我们的训练数据,此时,若参数过分拟合我们的训练数据就会形成过拟合的问题,而规则化参数的目的就是为看防止我们的模型过分拟合我们的训练数据。此时,我们会在Loss项之后加上正则项以约束模型中的参数:
其中,为损失函数项,为正则项。
正则化的方法主要有两种:
其中,L1正则和L2正则的形式如下:
其中,为大于0的常数。
在很多讲解正则化的材料中都会有如下的一张图
(图片来自:http://www.zhihu.com/question/20700829)
左图是L2正则,右图为L1正则。当模型中只有两个参数,即和时,L2正则的约束空间是一个圆,而L1正则的约束空间为一个正方形,这样,基于L1正则的约束会产生稀疏解,如图所示,即图中某一维()为0。而L2正则只是将参数约束在接近0的很小的区间里,而不会正好为0。对于L1正则产生的稀疏解有很多的好处,如可以起到特征选择的作用,因为有些维的系数为0,说明这些维对于模型的作用很小。
在OWL-QN算法中,为了使得更新前后的变量在同一个象限中,定义了一些特殊的函数,用于求解L1正则的问题。
有了函数的下降的方向,接下来必须对变量的所属象限进行限制,目的是使得更新前后变量在同一个象限中,定义函数:
参考文献
[1] Scalable Training of L1-Regularized Log-Linear Models