L1,L2和弹性网络

lasso弹性网络 分类实战 python_岭回归 回归两种模型正则化的方式,都可以帮助我们解决在训练的过程中产生的过拟合的问题。对于这两种正则化的方式,无论是岭回归还是 lasso弹性网络 分类实战 python_岭回归 回归,都是在原始的损失函数后面添加一项,这一项的作用都是期望能够尽量减小学习到的 lasso弹性网络 分类实战 python_正则化_03

lasso弹性网络 分类实战 python_正则_04


  

  对于这两种方式,我们在损失函数后面添加的项有所不同,一个是平方,一个是绝对值。其实我们在机器学习算法中已经遇见过两次这种平方与绝对值的比较了。比如在学习回归算法的评判标准的时候,提到过 lasso弹性网络 分类实战 python_正则化_05(均方误差) 和 lasso弹性网络 分类实战 python_岭回归_06(平均绝对误差),这两种误差的表现方式和模型正则化的两种方式十分的类似。还有就是欧拉距离与曼哈顿距离也是如此。

lasso弹性网络 分类实战 python_岭回归_07


  通过这个就可以看出来,其实在机器学习领域对于不同的应用我们可能会发明出很多不同的名词,不同的名词表达不同的衡量标准。

  说到距离,我们之前提到过明可夫斯基距离,它的公式是这样的。

lasso弹性网络 分类实战 python_岭回归_08


  我们将这种形式再进行一下变形,提炼成:

lasso弹性网络 分类实战 python_正则化_09


  我们将上面这种形式称为 lasso弹性网络 分类实战 python_岭回归_10 范数,如果 lasso弹性网络 分类实战 python_正则_11,其实就相当于 lasso弹性网络 分类实战 python_正则化_12 向量的曼哈顿距离,当 lasso弹性网络 分类实战 python_岭回归_13 时,就表示该向量的欧拉距离。我们又引入了一个新的概念 lasso弹性网络 分类实战 python_岭回归_14,但是和我们之前学习到的内容是完全不冲突的,那我们结合 lasso弹性网络 分类实战 python_岭回归_10 范数,看一下 lasso弹性网络 分类实战 python_正则_16,这种形式是一个 lasso弹性网络 分类实战 python_正则化_17 正则项。而 lasso弹性网络 分类实战 python_正则化_17 正则项与 lasso弹性网络 分类实战 python_正则化_17

lasso弹性网络 分类实战 python_岭回归_20


  同理,对于 lasso弹性网络 分类实战 python_岭回归 所添加的正则项就被称为 lasso弹性网络 分类实战 python_正则化_22

lasso弹性网络 分类实战 python_岭回归_23

lasso弹性网络 分类实战 python_正则化_22 正则项,lasso弹性网络 分类实战 python_正则化_17 正则项,那么就有 lasso弹性网络 分类实战 python_岭回归_26 正则项。不过在我们进行模型正则化的过程中,通常很少使用 lasso弹性网络 分类实战 python_正则_27 这样的正则项。实际上,还存在一个 lasso弹性网络 分类实战 python_正则化_28 正则项,那么我们是怎么定义 lasso弹性网络 分类实战 python_正则化_28

lasso弹性网络 分类实战 python_正则_30


  添加的项的意思是希望 lasso弹性网络 分类实战 python_正则化_03 的个数尽量小,注意它和 lasso弹性网络 分类实战 python_正则化_22lasso弹性网络 分类实战 python_正则化_17 的区别,lasso弹性网络 分类实战 python_正则化_22lasso弹性网络 分类实战 python_正则化_17 都是可以写出来的数学表达式,我们只需要让这个数学表达式加上 lasso弹性网络 分类实战 python_正则化_05 尽可能小。但是 lasso弹性网络 分类实战 python_正则化_28 这个正则项的意思是让 lasso弹性网络 分类实战 python_正则化_03 的个数越少越好,描述的是非零 lasso弹性网络 分类实战 python_正则化_03 元素的个数,我们用这样一种方式来限制 lasso弹性网络 分类实战 python_正则化_03 的数量尽可能少,进而使得我们得到的曲线不要太陡。实际上,我们很少使用 lasso弹性网络 分类实战 python_正则化_28 正则进行模型正则化的过程的,这是因为对于 lasso弹性网络 分类实战 python_正则化_28 正则的优化是一个 NP 难的问题,所以通常我们是不使用 lasso弹性网络 分类实战 python_正则化_28 正则的,如果我们真的想要限制 lasso弹性网络 分类实战 python_正则化_03 的个数,通常我们用 lasso弹性网络 分类实战 python_正则化_22

  在最后,再介绍一个概念弹性网(Elastic Net)。其实弹性网就是结合 lasso弹性网络 分类实战 python_岭回归 和 岭回归这两种方式,在 lasso弹性网络 分类实战 python_正则化_05 后面添加一个 lasso弹性网络 分类实战 python_正则化_22 正则项和一个 lasso弹性网络 分类实战 python_正则化_17 正则项。只不过在这里我们又引入了一个新的超参数 lasso弹性网络 分类实战 python_正则_50

lasso弹性网络 分类实战 python_岭回归_51

lasso弹性网络 分类实战 python_正则化_03 设置为 0,所以当 lasso弹性网络 分类实战 python_正则化_03 量太大的化,可能整体的计算量会非常大,此时应该优先选择弹性网,这是因为弹性网结合了岭回归和 lasso弹性网络 分类实战 python_岭回归 回归的优点,而 lasso弹性网络 分类实战 python_岭回归 回归的缺点就是急于将 lasso弹性网络 分类实战 python_正则化_03