上一篇博客梳理了神经网络的一些重要概念和逻辑,本文将围绕神经网络中的过拟合和正则化展开。

1.过拟合
较多的隐藏层可以提取输入不同层次的特征,但是不是越多越好,会出现过拟合的问题(训练集的损失函数值很小,但是测试集的损失函数值很大)。
以下是欠拟合、过拟合和理想状态的示意图:

神经网络dense 神经网络的拟合_神经网络


神经网络dense 神经网络的拟合_最小化_02

因此要找到过拟合和欠拟合中间泛化误差最小的那个阈值

2.正则化的要义:
正则化参数的同时,最小化训练误差。常见的通用模型公式如下:

神经网络dense 神经网络的拟合_正则化_03

第一项:训练误差(损失函数);第二项:正则化项,用于约束复杂的模型。

3.范数与正则化
(1)范数:度量某个向量空间(或矩阵)中的每个向量的长度或大小,深度学习中最常用的为L1和L2范数。
(2)正则化系数:λ一般大于0,是调整训练误差项和正则化项之间关系的系数。当λ=0时,相当于没有正则化项,将训练误差最小化,容易发生过拟合;随着λ增大,正则化项对模型惩罚也越来越高。
(3)L0范数:矩阵中所有非0元素的个数,目的是让那个正则化的参数矩阵W大多数元素为0,实现稀疏。
(4)L1范数(Lasso):矩阵中各元素绝对值的和,实现参数矩阵的系数。公式如下:

神经网络dense 神经网络的拟合_过拟合_04

(5)L2范数(岭回归):矩阵中各元素的平方和的求根结果。原理是:最小化参数矩阵重的每个元素,使其无限接近0但是不像L0一样等于0。公式如下:

神经网络dense 神经网络的拟合_正则化_05

4.L1和L2范数的区别
(1)L1的下降速度比L2的下降速度要快。所以会非常快得降到0。

神经网络dense 神经网络的拟合_神经网络dense_06

(2)结果的区别
L1范数符合拉普拉斯分布,是不完全可微的。表现在图像上会有很多角出现。这些角和目标函数的接触机会远大于其他部分。L1范数会趋向于产生少量的特征,而其他的特征都是0。
L2范数符合高斯分布,是完全可微的。最优的参数值很小概率出现在坐标轴上,因此每一维的参数都不会是0。L2范数会选择更多的特征,这些特征都会接近于0。