文章目录
- 1. 正则化描述:
- 2. 正则化作用:
- 3. L1正则化作用的原理解释
- 3.1 何为稀疏矩阵
- 3.2 L1正则化是怎么做到产生稀疏模型的?
- 3.3 L2正则化是怎么做到防止模型过拟合的?
- 3.4 对于w越小越能防止过拟合的理解
- 3.5 L1正则先验分布是Laplace分布,L2正则先验分布是Gaussian分布
- 3.5.1 基于约束条件的最优化
- 3.5.2 基于最大后验概率估计
- 最大后验概率估计的补充知识及理解
有时候在求解规划问题时,我们想要让得到的解满足一定的条件,换句话说,如果得到的解不能满足一定的条件我们更加倾向于拒绝它,而且这种倾向还是比较大的。这种情况在实际应用中比较常见,比如在准备出去旅行时,我们肯定不太希望背包里面放置特别重的东西,这时候就可以加一个条件,如果物品的重量大于一个给定的临界值,那么它的价值将大大降低,而这种大大降低可以通过给其添加一个很大的系数实现。
同样的,在求解神经网络损失函数的最小值时,我们希望自变量权重向量满足一定的条件,如果不满足,就给其狠狠地惩罚一下。这时候我们就会在损失函数后面添加一个惩罚项,而这种惩罚项常为两种,我们分别称之为L1正则项和L2正则项,也称为L1范数和L2范数(原因见正则化描述部分)。正则项可以看做是损失函数的惩罚项,用来对损失函数中的系数做一些限制。
1. 正则化描述:
- L1正则化是指权值向量w中各个元素的绝对值之和,也就是权值向量的1范数;
- L2正则化是指权值向量w中各个元素的平方和然后再求平方根,同样也是权值向量的2范数;
一般都会在正则化项之前添加一个系数,这个系数需要用户设定,系数越大,正则化作用越明显,也即惩罚越明显。
2. 正则化作用:
- L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择;一定程度上,L1也可以防止过拟合;
- L2正则化可以防止模型过拟合(overfitting);
3. L1正则化作用的原理解释
3.1 何为稀疏矩阵
稀疏矩阵指的是很多元素为0,只有少数元素是非零值的矩阵。
神经网络中输入的特征数量是庞大的,如何选取有效的特征进行分类是神经网络的重要任务之一,如果神经网络是一个稀疏模型,表示只有少数有效的特征(系数非0)可以通过网络,绝大多数特征会被滤除(系数为0),这些被滤除的特征就是对模型没有贡献的“无关”特征,而少数系数是非0值的特征是我们需要额外关注的有效特征。也就是说,稀疏矩阵可以用于特征选择。
3.2 L1正则化是怎么做到产生稀疏模型的?
假设有如下带L1正则化的损失函数:
是原始损失函数,L1是加的正则化项, 是正则化系数,其中 L1 是 模型中权重
神经网络训练的目标就是通过随机梯度下降等方法找到损失函数的最小值,加了L1之后,相当于对原始做了一个约束,即在 L1 约束下求
对于最简单的情况,假设模型中只有两个权值 w1 和 w2 ,对于梯度下降法,可以分别画出求解
等值线是说在等值线上任一点处(取不同的w1和w2组合),模型计算的结果都是一样的。
图中彩色弧线是的等值线,黑色方框是 L1的等值线。在图中,当等值线与L1图形首次相交的地方就是一个最优解,这个相交的点刚好是L1的顶点。
注意到L1函数有很多个突出的点,二维情况下有4个,维数越多顶点越多,这些突出的点会比线段上的点有更大的几率首先接触到的等值线,而这些顶点正好对应有很多权值为0的矩阵, 即稀疏矩阵,这也就是为什么L1正则化可以用来产生稀疏矩阵进而用来进行特征选择的原因。
对于L1正则化前的系数,是用来控制L1图形的大小,越大,L1中各个系数就相对越小(因为优化目标之一是的值趋近于0。大,L1系数取值就会小),L1的图形就越小; 越小,L1中各个系数就相对越大,L1的图形就越大。
3.3 L2正则化是怎么做到防止模型过拟合的?
仍以最简单的模型,只有两个权重 和 为例,和L2分别对应的等值线形状如下图:
由于L2是和平方和再开方,所以L2的图形是一个圆。圆形相对方形来说没有顶点, 和 L2图形相交使得 或者等于的概率大大减小,所以L2正则化项不适合产生稀疏矩阵,不适合用来选择特征。
相对来说,模型中所有矩阵系数都比较小的模型具有更强的抗干扰能力,也就是说可以避免过拟合。对于这种小系数的模型,特征会乘以很小的系数,使得特征的波动被压缩,所以泛化能力更好。
L2正则化项的公式是所有权重系数平方之后再开方,所以在每次迭代过程中, 都会使得权重系数在满足最小化的基础上,一步一步使得权重系数和趋向于0,最终得到权重系数很小的矩阵模型,达到防止过拟合的作用。
对于L1正则化项,如果系数取很大,也会得到系数极小的最优解,这时的L1也具有防止过拟合的作用。
L1和L2中的系数的作用是类似的,系数越大,正则化作用越明显(但同时也可能意味着模型越难以收敛),从等值图上直观看就是L图形越小,对应矩阵系数越小。
3.4 对于越小越能防止过拟合的理解
之前的BP神经网络,训练时候,算法会调整每层的参数使得损失尽可能小,由于数据存在很多干扰或者噪声,容易产生过拟合现象,导致网络对训练数据预测的效果较好,而对测试和验证数据的预测效果较差。过拟合的决策面可能如下所示:
事实表明,在相同网络结构下,决策面越复杂,参数w的值往往更大,而w较小时候,得到的决策面相对平缓。L1和L2正则化是在原有损失函数中增加了L2正则化项,在优化网络输出与真值的误差时还要让w尽量小。
我的理解是,越小,训练出来的模型就不会明显地倾向于某一方面,而是相对公平地进行加权。我们常说的过拟合就是明显的偏向于某一方面,因此从这个角度来理解的话越小越能防止过拟合了。
3.5 L1正则先验分布是Laplace分布,L2正则先验分布是Gaussian分布
要理解这一个首先需要说明一下L1和L2的推导过程,它们的推导过程可以从两个角度:
- 带约束条件的优化求解(拉格朗日乘子法)
- 贝叶斯学派的:最大后验概率
3.5.1 基于约束条件的最优化
对于模型权重系数的求解释通过最小化目标函数实现的,也就是求解:
首先,模型的复杂度可以用VC来衡量。通常情况下,模型VC维与系数的个数成线性关系:即:
数量越多,VC越大,模型越复杂
为了限制模型的复杂度,我们要降低VC,自然的思路就是降低的数量,即:
让向量中的一些元素为0或者说限制中非零元素的个数。我们可以在原优化问题上加入一些优化条件:
其中约束条件中的是指L0范数,表示的是向量中非零元素的个数,让非零元素的个数小于某一个,就能有效地控制模型中的非零元素的个数,但是这是一个NP问题,不好解,于是我们需要做一定的“松弛”。为了达到我们想要的效果(权重向量中尽可能少的非零项),我们不再严格要求某些权重为0,而是要求权重向量中某些维度的非零参数尽可能接近于0,尽可能的小,这里我们可以使用L1L2范数来代替L0范数,即:
注意哈:这里使用L2范数的时候,为了后续处理(其实就是为了优化),可以对进行平方,只需要调整的取值即可。
然后我们利用拉式乘子法求解:
其中这里的是拉格朗日系数,>0,我们假设的最优解为,对拉格朗日函数求最小化等价于:
上面和
等价。所以我们这里得到对L1L2正则化的第一种理解:
3.5.2 基于最大后验概率估计
在最大似然估计中,是假设权重是未知的参数,从而求得对数似然函数(取了log):
从上式子可以看出:假设的概率分布不同,就可以得到不同的模型。
若我们假设:
的高斯分布,我们就可以带入高斯分布的概率密度函数:
上面的C为常数项,常数项和系数不影响我们求解的解,所以我们可以令
我们就得到了Linear Regursion的代价函数。
在最大化后验概率估计中,我们将权重看做随机变量,也具有某种分布,从而有:(下面求的是的后验概率)
同样取对数:
可以看出来后验概率函数为在似然函数的基础上增加了,的意义是对权重系数的概率分布的先验假设,在收集到训练样本后,则可根据在下的后验概率对进行修正,从而做出对的更好地估计。
若假设的先验分布为0均值的高斯分布,即
则有:
可以看到,在高斯分布下的效果等价于在代价函数中增加L2正则项。若假设服从均值为0,参数为a的拉普拉斯分布,即:(这个拉普拉斯分布的概率密度有点问题)
则有:
可以看到,在拉普拉斯分布下logP(w)的效果等价在代价函数中增加L1正项。
故此,我们得到对于L1,L2正则化的第二种理解:
最大后验概率估计的补充知识及理解
最大后验概率的英文名为maximum a posterior prabability,简称为MAP
假设我们需要根据观察数据 估计没有观察到的总体参数 ,让 作为 的采样分布,这样 就是总体参数为 时的概率,同时也是似然函数,因此参数的最大似然估计为
假设存在一个先验分布 ,这就允许我们将作为贝叶斯统计(en:Bayesian statistics)中的随机变量,这样的后验分布就是:
其中是的定义域(domain),这是贝叶斯定理的直接应用。于是最大后验估计方法把估计为这个随机变量的后验分布的众数(因为是将估计为使其后验概率达到最大时的值,而最大值体现出来就是众数):
后验分布的分母与无关,所以在优化过程中不起作用。注意当前验是常数函数时最大后验估计与最大似然估计重合。
补充说明:最大后验概率与最大似然估计中的经典方法有密切关系,但是它使用了一个增广的优化目标,进一步考虑了被估计量的先验概率分布。所以最大后验概率估计可以看作是规则化(regularization)的最大似然估计。