机器学习:偏差、方差与正则化
1. 偏差和方差
1.1 偏差
通俗的讲,偏差反映的模型学习的好坏程度或者捕捉训练集主要特征的能力大小。偏差大意味着学习不够充分,主要特征没有捕捉到;偏差小意味着学习充分,捕捉到了训练集中的主要特征,当然这也存在过拟合的风险。
偏差较大的原因:训练不充分、数据规模大但模型过于简单(常见于神经网络)等
1.2 方差
通俗的讲,方差反映的是模型举一反三的学习能力,即在测试集上的学习表现。若在测试集上的表现好,则方差小;若在测试集上的表现不好,则方差大。
方差较大的原因:数据规模小(噪音存在的概率大),训练过于充分
1.3 偏差与方差的均衡
一般来说,偏差与方差此消彼长,方差大则偏差小,偏差大则方差小。在模型训练过程中,需要通过一些方法来确保模型在偏差不是太大的前提下保证方差也不是太大。
2. 正则化
机器学习中经常出现模型学习的过于“好”的现象,导致在测试集上的分类精度不高,方差过大,这就是所谓的过拟合。为此,将正则化机制引入损失函数,以减弱模型的过拟合效应。
常见的正则化机制有L1(矩阵的1范数)正则化和L2(矩阵的2范数)正则化,下面结合损失函数予以介绍。
2.1 经L1和L2正则化损失函数的形式
上述定义形式详见点击打开链接。
2.2 正则化效果
经L1范数正则后的损失函数倾向于使部分待优化参数的值等于于0,从而简化模型,削弱过拟合。因此,L1范数有稀疏参数的作用。
经L2范数正则后的损失函数倾向于使得参数的值较小,从而简化模型,削弱过拟合。其中,在神经网络中应用L2正则化可以实现权值衰减:
详见点击打开链接
再深入一点,权值衰减为何会削弱过拟合效应那?见下图
以tanh**函数为例进行解释,当权值减小后,Z值随之减少,**函数的作用区域(如坐标轴红色标注处)将大致呈线性,整个神经网络的非线性因素减少,一定程度上阻碍了模型的“过充分”学习,进而削弱了过拟合效应,sigmod**函数也可以类似的进行解释。当然,这个仅作为直觉上的解释,理论解释尚需进一步研读其它相关文献。引自点击打开链接