欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

深度学习笔记4:正则化和dropout

程序员文章站 2022-07-13 10:52:48
...

结构风险函数

模型的结构风险函数包括了经验风险项和正则项,通常可以表示成如下式子:

  • θ=argminθ1Ni=1NL(yi,f(xi,θ))+λϕ(θ)\theta^* = \arg\min_\theta\frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i,\theta))+\lambda\phi(\theta)

前面的均值函数表示的是经验风险函数,L代表的是损失函数,后面的ϕ\phi是正则化项或者叫惩罚项,它可以是L1,也可以是L2,或者其他的正则函数。

当样本容量足够大时,经验风险最小化能保证有很好的学习效果。但是,当样本容量很小时,经验风险最小化学习的效果就未必很好,会产生过拟合现象,而结构风险最小化是为了防止过拟合而提出的策略。ϕ(θ)\phi(\theta)为模型的复杂度,是定义在假设空间上的泛函。模型越复杂,复杂度ϕ(θ)\phi(\theta)就越大,即复杂度表示了对复杂模型的惩罚。

L1和L2范数

深入理解L1、L2正则化

dropout

为了防止深度神经网络的过拟合,除了添加正则化项之外,还有一个著名的方法dropout,即在神经网络训练过程中对所有神经元按照一定概率失活,从而简化神经网络,缓解过拟合问题

dropout函数的实现如下:

def dropout(x, keep_prob):
    D = np.random.randn(x.shape[0], x.shape[1])
    D = D < keep_prob
    A = x * D
    A = A / keep_prob
    return A