正则化
DropOut
dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃
dropout作用
- 一种正则化手段,防止过拟合:通过减少权重连接,然后增加网络模型在缺失个体连接信息情况下的鲁棒性。防止每次都是所有的特征选择器共同作用,一直放大或者缩小某些特征,在样本数据少的情况下很容易过拟合,并且泛化能力也很弱。
dropout为什么有作用
- 每次用输入网络的样本进行权值更新时,隐含节点都是以一定概率随机出现,因此不能保证每2个隐含节点每次都同时出现,这样权值的更新不再依赖于有固定关系隐含节点的共同作用,阻止了某些特征仅仅在其它特定特征下才有效果的情况。
- 可以将dropout看作是模型平均的一种。对于每次输入到网络中的样本(可能是一个样本,也可能是一个batch的样本),其对应的网络结构都是不同的,但所有的这些不同的网络结构又同时share隐含节点的权值。这样不同的样本就对应不同的模型,是bagging的一种极端情况。
L1,L2-norm
正则化(Regularization)是机器学习中一种常用的技术,其主要目的是控制模型复杂度,减小过拟合。最基本的正则化方法是在原目标(代价)函数 中添加惩罚项,对复杂度高的模型进行“惩罚”。
正则与最优化问题的关系
模型的复杂度可用VC维来衡量。通常情况下,模型VC维与系数 w 的个数成线性关系:即 w 数量越多,VC维越大,模型越复杂。因此,为了限制模型的复杂度,很自然的思路是减少系数 w 的个数,即让 w 向量中一些元素为0或者说限制 w中非零元素的个数。L0范数优化是NP问题,我们不严格要求某些权重 w 为0,而是要求权重 w 应接近于0,即尽量小。从而可用 l1 、 l2 范数来近似 l0 范数。
正则与概率之间的关系
在最大后验概率估计中,则将权重 w 看作随机变量,也具有某种分布,从而有:
P\left( w|X,y \right) =\frac{P\left( w,X,y \right)}{P\left( X,y \right)} =\frac{P\left( X,y|w \right)P\left( w \right)}{P\left( X,y \right)} \propto {P\left( y|X,w \right)P\left( w \right)}P(w∣X,y)=P(X,y)P(w,X,y)=P(X,y)P(X,y∣w)P(w)∝P(y∣X,w)P(w)
同样取对数有:
\text{MAP}=\text{log}{P\left( y|X,w \right)P\left( w \right)}=\text{log}{P\left( y|X,w \right)}+\text{log}P\left( w \right)MAP=logP(y∣X,w)P(w)=logP(y∣X,w)+logP(w)
可以看出后验概率函数为在似然函数的基础上增加了一项 \text{log}P\left( w \right) P\left( w \right)logP(w)P(w)
的意义是对权重系数 w 的概率分布的先验假设,在收集到训练样本 \left\{ X,y \right\}{X,y}
后,则可根据 w 在 \left\{ X,y \right\}{X,y}
下的后验概率对 w 进行修正,从而做出对 w 更好地估计。
若假设 wj 的先验分布为0均值的高斯分布,即 w_{j}\sim N\left( 0, \sigma^{2} \right)wj∼N(0,σ2)
,则有:
\text{log}P\left( w \right)=\text{log}\prod_{j}P\left( w_{j} \right)=\text{log}\prod_{j}\left[ \frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{\left( w_{j} \right)^{2}}{2\sigma^{2}}} \right]=-\frac{1}{2\sigma^{2}}\sum_{j}{w_{j}^{2}}+C'logP(w)=log∏jP(wj)=log∏j[2π