正则化原理总结
正则化理论(Regularization Theory)是 Tikhonov于1963年提出的一种用以解决逆问题的不适定性的方法。不适定性通常由一组线性代数方程定义,这组方程组由于具有很大的系数而使得它的反问题(已知系统输出求输入)存在多解。
正则化理论就是用来对原始问题的最小化经验误差函数(损失函数)加上某种约束,这种约束可以看成是人为引入的某种先验知识(正则化参数等价于对参数引入先验分布),从而对原问题中参数的选择起到引导作用,因此缩小了解空间,也减小了噪声对结果的影响和求出错误解的可能,使得模型由多解变为更倾向其中一个解。
也就是说,正则化项本质上是一种先验信息,整个最优化问题从贝叶斯观点来看是一种贝叶斯最大后验估计,其中正则化项对应后验估计中的先验信息(不同的正则化项具有不同先验分布),损失函数对应后验估计中的似然函数,两者的乘积则对应贝叶斯最大后验估计的形式。附加的先验信息强行地让系统学习到的模型具有人们想要的特性,例如稀疏、低秩、平滑等等,约束了梯度下降反向迫使最终解倾向于符合先验知识。
接下来的问题是我们应该引入什么样正则项作为先验知识,才能准确高效地缩小解空间?一切方法的动机来源于人们一直以来对科学的“简洁性”、“朴素性”和“美”的深刻认同,这一经典理念可以用14世纪逻辑学家Occam提出的“奥克姆剃刀”原理表述,它长久以来被广泛运用在人们对自然科学、社会科学的探索和假设之中:Entities should not be multiplied unnecessarily,译作“若无必要,勿增实体”,即“简单有效原理”。
说到这里还想多说几句题外话。其实至少从亚里士多德以来,在哲学界、科学界陆续有很多人针对不同的场景、以种种方式提出了类似的观点。科学家们用这种方式,作为建立基本假设的原则、作为想象力的出发点和思考的大方向、作为模型选择和建立的依据,最终得到了被实验事实所验证的理论学说,比如:牛顿经典力学、麦克斯韦方程中位移电流的假设、进化论中进化机制的构想、狭义相对论两个基本假设的建立、广义相对论场方程的推导等等,当然它在如今的管理学、经济学等领域同样被广泛运用。诚然,这一“想当然”的观点最初源于自然哲学家们对于真理的敬畏与信念以及对“真理唯一性”的追求,目前为止几乎所有被实验证明了的科学理论都不违背这一理念,至于它究竟是否永远适用、弱化或者抛弃它之后人们是否还能够顺利地找到另外的真理,我们还无从而知。此外,以概率解释为主体的量子力学的发展也在考验着“真理唯一性”和上述的观念。
回到正则化问题。“奥卡姆剃刀”原理在机器学习中常被表述为:“在所有可能选择的模型中,我们应该选择能够很好地解释已知数据并且十分简单的模型”。
秉承奥卡姆剃刀原理,许多正则化项(即惩罚项)的引入,是为了使算法学习到更简单的模型,也就是让最终学习到的参数数量变少或者量值变小(即参数长度变短:shrinkage),因为这样可以让模型在较小的参数空间中搜寻最优参数,简化了模型。而且若sigmoid作为激活函数,当参数权值较小时,激活函数工作在线性区,此时模型的拟合能力较弱,也降低了过拟合的可能性。
为了让模型参数尽可能小,正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大。将其与原始的损失函数(又叫经验风险)相加构成新的损失函数(结构风险函数),努力找到一个全局最优解作为最终的参数唯一取值。
常用的正则项有L0、L1、L2正则等,其中L0和L1正则都有使参数稀疏的特点,实现了特征筛选,由于L1比L0更易优化,故更常用;与之不同,L2正则有使参数整体都趋向与0而非等于0的特点,能够在保证参数数量基本不变的前提下对所有参数实现权值压缩,避免因某个参数权重过大而对结果起到过大影响。由于相关资料较多,暂不介绍。(有关L1正则项的一个定理:任何的规则化算子(即L1范数),如果在 wi=0wi=0 的地方不可微,并且可以分解为一个求和的形式,那么这个规则化算子就可以实现稀疏)
以上首先从贝叶斯理论的角度说明了正则化的本质:人为引入先验信息,从而限定参数范围缩小了解空间。接接着介绍了正则化的直接作用:限定参数的数值范围,并用“奥卡姆剃刀“原理解释了限定范围的原因。
下面从其他角度去理解为什么正则化导致的参数稀疏性有助于寻找最优解并避免过拟合等问题。
1.弱化特征关联性
如果模型特征空间中的一些特征之间存在较强的关联,会使模型不适定,即模型参数会有多解。通过有限数据训练得到的只是其中一个解,这个解有时并不能很好地反映模型特征的真实情况。也就是说容易被有限数据所误导,例如:训练所得的模型参数受训练样本影响太大,训练样本的微小变化,最终的参数解就可能改变为另一组解,即模型不稳定。
因此通过附加正则项,使得影响较小的特征的系数趋近于0或等于0,着重保留重要的特征,同时限制所有特征的权重(即参数值),避免因某一参数值多大而过分依赖某一特征。当然,不加入正则项的原始损失函数在训练时也会起到一定的特征筛选(限制参数值)作用,在这是从数据标签(类别)出发,效果明显不如直接在优化函数中加入对应的参数值。
2.遵循神经网络中的稀疏性
根据一些神经科学中的发现,大脑在对某一事物产生反应时,只有极少量的神经元处于兴奋状态。在神经网络中,稀疏性可以被简单地解释为:如果当神经元的输出接近于1的时候我们认为它被激活,而输出接近于0的时候认为它被抑制,那么神经元大部分的时间都是处于被抑制状态,即神经元具有稀疏性。
神经元稀疏对应解参数的稀疏,也就是前面一直讨论的“参数量值小或稀疏”。
3.直观理解:解决过拟合时方差过大问题
模型过拟合是由于过分考虑了数据关联及噪声数据,过分追求“小偏差”使模型过于复杂,导致拟合的数据分布与真实分布偏差很小但方差过大;与之相反的欠拟合则是二者方差小偏差大。而正则项在这里用来平衡”方差”和“偏差“,起到了一个“trade-off”的作用。
从上图直观来看,方差大是因为模型考虑了每个样本点,拟合出的曲线波动大,斜率绝对值大,也就是函数的偏导数大。避免偏导数过大的方法显然是减小参数wiwi,因此参数越小,拟合的曲线越光滑、波动小方差小,拟合的函数越简单,相对来讲也就不易发生过拟合现象。