在单元 (unimodal) 目标变量的线性模型中,MLE (Maximum likelihood) 和 Least Squares (最小二乘法) 是常用的两种估计模型参数向量 W 的解法。他们都有个共同点,求解得到的参数向量 W 能够保证估计的目标值和观测得到的目标值之间的误差最小。但是单纯的考虑误差最小化得到的模型会有过拟合现象,也就是预测效果会很差。为了解决这个问题,在目标函数中往往都会考虑加入正则项。这篇博文正是为了记录哪些正则是比较常用的,以及他们所能达到的效果。以最小二乘误差函数为例,观测值 t 由两部分组成,真实值和随机误差项:
由于照成实验误差的因素会很多,通常会假设这些误差会线性叠加而成,这样跟据中心极限定理,随机误差项会服从正太分布。在没加入正则项之前目标函数可以表示为,其实是N个服从独立同分布假设的样本的似然函数。
通过MLE,我们可以得到回归模型权重参数 W 的最小二乘解 或者 通过不同的在线学习算法 (Sequential Learning 如 Stochastic Gradient Decent)。最小二乘的目标就在于寻找一个参数向量 W 使得估计值和观测目标值的误差最小。但如果观测得到的样本数量非常小的话,参数向量 W 中的某几个维度上的值会非常的大,从而造成过拟合。解决过拟合的常用方式加入一些正则项限制参数向量 W 的取值幅度。通常会考虑二次正则项,如下公式所示:
在机器学习领域,正则项也叫 "weight decay", 在学习算法中正则项会将权重参数不断往 0 值上拉近。 统计学则提供了一种叫 "parameter shrinkage" 的方法作为参数学习的惩罚项,起到的效果和 "weight decay" 是一样的, 形式如下:
以前一直分不清 "weight decay" 和 "parameter shrinkage' 的区别,只清楚他们都是起到正则项防止训练得到的模型过拟合的效果。其实还有更为通用的正则项形式
当 q = 1 的时候,正则项被统计学称作为 "lasso"。“lasso” 可以用于学习参数十分稀疏的模型,这个在很多地方有应用,比如图像处理,压缩感知。q 的不同取值会影响模型学习的过程,不同的效果如图所示:
还是以 q = 1 为例子,由于它的函数形状是一个菱形,这使得学习得到的参数在坐标轴上的取值概率要比 q = 2 或者取其它值的概率要大很多。下图中的蓝线是误差函数的误差等高线,黄色区域就是受正则项约束的参数取值区域。
这篇文章主要是关于不同类型的正则项,以及在不同情况下正则项的名称。其实在目标函数中起到正则作用的方式有很多,比如最近在 Deep Learning 中采用的 dropout。
References:
Bishop C M. Pattern recognition and machine learning[M]. New York: springer, 2006.