机器学习——正则化 (Regularizaiton-Regular-Regularize)

什么是正则化?

1、从使用正则化的目的角度:正则化是为了防止过拟合。

机器学习——正则化 (Regularizaiton-Regular-Regularize)_第1张图片

我们先对该数据做线性回归,也就是左边第一张图。如果这么做,我们可以获得拟合数据的这样一条直线,但是,实际上这并不是一个很好的模型。我们把此类情况称为欠拟合(underfitting),或者叫作叫做高偏差(bias)。

以预测房价为例,第二幅图,我们在中间加入一个二次项,也就是说对于这幅数据我们用二次函数去拟合。自然,可以拟合出一条曲线,事实也证明这个拟合效果很好。另一个极端情况是,如果在第三幅图中对于该数据集用一个四次多项式来拟合。因此在这里我们有五个参数θ0到θ4,这样我们同样可以拟合一条曲线,通过我们的五个训练样本,我们可以得到如右图的一条曲线。

一方面,我们似乎对训练数据做了一个很好的拟合,因为这条曲线通过了所有的训练实例。但是,这实际上是一条很扭曲的曲线,它不停上下波动。因此,事实上我们并不认为它是一个预测房价的好模型。所以,我们把这类情况叫做过拟合(overfitting),也叫高方差(variance)。如果我们拟合一个高阶多项式,那么这个函数能很好的拟合训练集(能拟合几乎所有的训练数据),但这也就面临函数可能太过庞大的问题,变量太多。如果我们没有足够的数据集(训练集)去约束这个变量过多的模型,那么就会发生过拟合。

解决过度拟合问题:

方法一:尽量减少选取变量的数量

方法二:正则化:正则化中我们将保留所有的特征变量,但是会减小特征变量的数量级(参数数值的大小θ(j))。

2.直译:规则化。规则化就是说给需要训练的目标函数加上一些规则(限制),让他们不要自我膨胀。

运用正则化:

线性模型角度:

对于线性模型来说,无论是Logistic Regression、SVM或是简单的线性模型,都有一个基函数 ϕ()ϕ(),其中有很多 ww (参数)需要通过对损失函数 E()E() 求极小值(或最大似然估计)来确定,求的过程,也就是使用训练集的训练过程:梯度下降到最小值点。最终,找到最合适的 ww 确定模型。

二次正则项

机器学习——正则化 (Regularizaiton-Regular-Regularize)_第2张图片

一般正则项

机器学习——正则化 (Regularizaiton-Regular-Regularize)_第3张图片

二次正则项的优势:处处可导,方便计算,限制模型的复杂度,即 ww 中M的大小,M是模型的阶次,M越大意味着需要决定的权重越多,所以模型越复杂。在多项式模型多,直观理解是每一个不同幂次的 xx 前的系数,0(或很小的值)越多,模型越简单。这就从数学角度解释了,为什么正则化(规则化)可以限制模型的复杂度,进而避免过拟合。而一次正则项的优势,w∗w∗ 的位置恰好是 w1=0w1=0 的位置,意味着使用一次正则项可以降低维度(降低模型复杂度,防止过拟合)。但是,一次正则项有拐点,不是处处可微,给计算带来了难度。

神经网络模型角度:

机器学习——正则化 (Regularizaiton-Regular-Regularize)_第4张图片

M表示单层神经网中隐含层中的神经元的数量。

 上图展示了神经网络模型过拟合的直观表示。为了保持神经网络的一致性(即输出的值不能被尺缩变换,或平移变换),在线性模型中的加入正则项无法奏效。所以我们只能通过建立验证集(Validation Set),拉网搜索来确定M的取值(迭代停止的时间),又称为提前停止。

  这里有一个尾巴,即神经网络的不变量(invariance),我们并不希望加入正则项后出现不在掌控范围内的变化(即所谓图像还是那个图像,不能乱变)。而机器学习的其中一个核心目的也是去寻找不同事物(对象)的中包含信息的这个不变量(特征)。卷积神经网络从结构上恰恰实现了这种不变性。

你可能感兴趣的:(机器学习)