本文记录的目的是方便自己学习和复习,有误之处请谅解,欢迎指出。
正则化是机器学习中常用解决过拟合,减低模型复杂程度的技术。方法比较简单就是在损失函数后添加惩罚项L1、L2,两种正则化的效果也不太一样。它们的公式如下:
一、L1、L2的推导
1、利用拉格朗日
最小化损失函数的本质是找到模型权重系数,即最小化如下函数:
我们的目的是为了减少模型复杂程度,我们可以从什么方向考虑呢?我们都知道减少特征能够降低模型的复杂度,减少特征可以通过让模型的特征系数为0,来达到减少特征的目的。因此,我们可以让向量中某些元素为0或者说控制中非零元素的个数,控制数量添加约束条件即可:
0范数表示非零元素的数量,由于0范数不宜求解,实际中常使用1范数代替0分数求解;或者2范数,二范数可以使得中的元素很小,接近0。即公式如下:
加入条件后,利用拉格朗日将带约束条件的函数转为不带约束项的优化问题。
其中,大于0,最小化也就等价于:
2、利用拉普拉斯分布和高斯分布
模型权重可以看成是一个随机变量,符合某种分布,根据最大后验概率估计。
后面的可以看成一个先验和条件,取对数得:
对于后面的先验条件,假设符合高斯分布,则:
同理,假设符合拉普拉斯分布:
可以看到,在高斯分布和拉普拉斯分布的前提下,的效果等价于损失函数中添加了L2、L1正则。