什么是正则化?
能够提高模型在test上的准确率,能够提高模型的泛化能力所做的任何改动,可以称之为正则化
- 正则化主要思想:降低模型的复杂度
- 正则化主要目的:防止模型过拟合
- 正则化实现思路:最小化损失Loss+ 最小复杂度
- 正则化终极目标:提升模型泛化能力
为什么需要正则化?
让模型不要过于依赖样本数据
在模型训练的过程中,模型参数的训练实际上就是一个不断迭代,寻找到一个方程来拟合数据集。然而到这里,我们只知道需要去拟合训练集,但拟合的最佳程度我们并没有讨论过。看看下面回归模型的拟合程度,看看能发现什么。
分类模型中
在最左边的图中,拟合程度比较低,显然这样的 并不是我们想要的。训练集的准确率低,那么测试集肯定也不高,也就是模型的泛化能力不高。
在最右边的图中,拟合程度非常高,甚至每一个点都能通过 表达,这个难道就是我们所渴望得到的 吗?并不是!我们的数据集中无法避免的存在着许多噪声,而在理想情况下,我们希望噪声对我们的模型训练的影响为0。而如果模型将训练集中每一个点都精准描述出来,显然包含了许许多多噪声点,在后续的测试集中得到的准确率也不高。另一方面,太过复杂的 直接导致函数形状并不平滑,而会像图中那样拐来拐去,并不能起到预测的作用,“回归”模型也丧失了其预测能力(也就是模型泛化能力),显然这也不是我们想要的。
中间的图中,展现的是最适合的拟合程度, 不过于复杂或过于简单,并且能够直观的预测函数的走向。虽然它在测试集的中准确列不及图三高,但在测试集中我们得到的准确率是最高的,同时泛化能力也是最强的。
- 欠拟合:泛化能力差,训练样本集准确率低,测试样本集准确率低。
- 欠拟合的原因
- 训练样本数量少
- 模型复杂度过低
- 参数还未收敛就停止循环
- 欠拟合的解决办法
- 增加样本数量
- 增加模型参数,提高模型复杂度
- 增加循环次数
- 查看是否是学习率过高导致模型无法收敛
- 欠拟合的原因
- 过拟合:泛化能力差,训练样本集准确率高,测试样本集准确率低。
- 过拟合的原因
- 数据噪声太大
- 特征太多
- 模型太复杂
- 过拟合的解决办法
- 清洗数据
- 减少模型参数,降低模型复杂度
- 增加惩罚因子(正则化),保留所有的特征,但是减少 参数的大小(magnitude)。
- 过拟合的原因
- 合适的拟合程度:泛化能力强,训练样本集准确率高,测试样本集准确率高
可以直观的理解为,我们最小化损失函数就是求蓝圈+红圈的和的最小值,而这个值通在很多情况下是两个曲面相交的地方。
可以看到二次正则项的优势,处处可导,方便计算。
L2正则化(图中左半部分)
L2正则化,也叫weight decay,通过在损失函数上额外添加一项正则化项,表达如下:
其中λ是一个参数权重,控制正则化项在整个loss的比重
- 优化的最终目标是使得模型的预测的结果尽可能准的条件下,希望模型的参数权重也尽可能小,防止模型结构复杂,减少模型过拟合。
- 从贝叶斯角度理解,L2正则化其实是加入了数据的先验知识,认为权重参数服从高斯先验分布,所以在损失函数中加入这样的先验知识,让模型表现更好。
高斯分布的概率密度函数如下:
对应的概率密度函数图形如下:
L2范数正好服从的是均值为0,标准差近似为λ−1的高斯先验分布,表达式关系如下:
L1正则化(图中右半部分)
L1也是在损失函数中加入一项正则化项,公式表达如下:
λ∣w∣为正则化项
- 优化的目标是使得模型的预测的结果尽可能准的条件下,希望模型的参数权重尽可能为稀疏
- 同样,类似L2假设模型参数w服从高斯先验分布,其中L1假设模型参数服从拉普拉斯分布,我们先来看下拉普拉斯分布概率密度函数公式:
对应的概率密度函数图形如下:
L1和L2的对比
相同点:
- 防止模型过于复杂,通过对损失函数加入正则化项,防止模型过拟合
- 假设模型参数服从一个分布,通过加入先验知识,限制模型参数服从一定的分布
不同点: - L2正则化相比L1对大数值参数w ww更敏感,惩罚粒度也会更大
其中L1是蓝色线,L2是橙色线,从图上来看,对于参数∣ ∣w∣较大时,L2比L1更快让概率值接近0,而L1的分布对极端值更能够容忍。 - L1相比L2会更容易获得稀疏解
L1和L2正则化求导结果如下:
可以看出L1正则化的函数图为左上图,对应的导数图为右上图,可以看出不管L1的大小是多少(只要不为0),梯度都是1或者-1,所以每次更新梯度的时候,参数w ww会稳步向0前进。而L2函数的导数图如右下图,w越靠近0的时候,梯度也越来越小,所以优化一定步骤后只能让w ww接近0,很难等于0,但是L1有稳定的梯度,经过一定的迭代步数后很可能变为0,这就是为什么L1正则化比L2正则化可以得到更稀疏的解。
Reference
http://t.csdn.cn/PrP1P
http://t.csdn.cn/gfHtr
http://t.csdn.cn/IqZxu