线性模型(三)--ridge、lasso、ElasticNet回归

在使用机器学习方法进行预测时,往往会出现这种情况:训练出的模型在训练集上的效果很好,但是在测试集上的效果很差,这种情况称为过拟合;如果模型本身在训练集上的效果就很差,这种情况称之为欠拟合。为了防止过拟合的现象出现,学者对线性回归进行了优化,于是产生了ridge、lasso还有ElasticNet回归,下面我们分别介绍这三种回归。

首先让我们了解一下ridge回归。在线性回归(二)-线性回归公式推导中,我们定义了线性回归的损失函数为,经过推导最终得到。为了防止过拟合的出现,我们在原损失函数的基础上增加一个正则项,则有

     (1)

接下来求解,写成向量形式有

     

                                     (2)

(2)式对求偏导得,

     (3)

令(3)式等于0,求得

     (4)

(4)即为ridge回归系数的解。这是ridge回归的直观推导方式,接下来我们从另一个角度来分析一下(4)式。

线性回归(二)--线性回归公式推导中,默认可逆的情况下,我们求得线性回归的系数,那么不可逆的情况下该如何处理?实际上我们可以分析得出是半正定的(半正定是指该矩阵的Hessian矩阵非负),只需要让该矩阵加上,即可保证的逆存在,此时有

         (5)

这样可以从另外一种角度解释(4)式中加上的合理性。

刚刚我们从正向推导得出了ridge回归的系数,又反向分析了所得结果的合理性,然而我们为什么在构造ridge的损失方程时要加上一个系数平方项呢?我们不妨分析看,当出现过拟合的情况时,模型几乎完全匹配训练集,但是在测试集上效果很差,这就是说该模型具有低偏差高方差的特点,模型可能在较小的区间内波动性很大,也就是说模型的导数值会很大。模型的阶数和自变量的值对导数影响较小,这时只有自变量的系数值很大才可能造成这种结果。实际上一般出现过拟合的情况时,模型的系数会很大。为了避免这种情况,我们单独对系数加以限制,其中的一个方法可以令,结合原损失函数,则有


            (6)

我们不难(6)式和(1)式是等价的。

对系数的限制可以采用另一种方法,即,此时损失函数变为

  (7)

(7)式即为lasso回归。

对于ElasticNet回归,有,可以看作lasso和ridge回归的组合。


你可能感兴趣的:(机器学习原理介绍)