文章目录

  1. 1. 参考资料


微信公众号

L1正则化、L2正则化是通过修改代价函数来实现的,而 Dropout 方法通过修改神经网络本身来实现的,它是在训练网络时用的一种技巧。

假设,我们要训练这个网络,在训练开始时,让输入层和输出层保持不变,然后随机地“删除”一些的隐藏层单元,视它们为不存在,得到如下的网络。

这样,每一次迭代都是随机地“删除”一些的隐藏层单元,直至训练结束。随着训练的进行,大部分半数网络都可以给出正确的分类结果,那么少数的错误分类结果就不会对最终结果造成大的影响。

TensorFlow 同时也提供了 Dropout 支持。

tf.nn.dropout(hidden_layer, keep_prob)

其中,hidden_layer 表示要应用 dropout 的 tensor。keep_prob 的概率值决定是否被抑制。在训练时,一个好的 keep_prob 初始值是 0.5,如果把 keep_prob 值设为 1.0 ,这样保留所有的单元,最大化模型的能力。

参考资料

文章目录

  1. 1. 参考资料