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

结构风险函数

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

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

前面的均值函数表示的是经验风险函数,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

你可能感兴趣的:(深度学习笔记4:正则化和dropout)