Python数据科学IT@程序员猿媛

深度学习入门--Dropout优化

2019-04-10  本文已影响0人  爱吃西瓜的番茄酱

机器学习的目的是提高泛化能力,即是指模型对训练数据集之外的其他数据仍有较好的识别效果。与泛化能力相对的问题就是“过拟合”

过拟合是指只能拟合训练数据,但不能很好地拟合不包含在训练数据中的其他数据的状态。抑制过拟合是机器学习中很重要的研究课题。

发生过拟合主要有两个原因:

过拟合的表现:

如上图就是发生过拟合的典型表现,训练集的识别精度几乎达到了100%,而测试集的识别精度只有70%左右,两者差别巨大。这种情况就是发生了过拟合。

过拟合是不好的,所以我们要抑制过拟合,抑制过拟合主要有两种方式:

权值衰减

很多过拟合就是因为权重参数取值过大才发生的,而权值衰减就是通过在学习的过程中对大的权值进行惩罚(强制减小权值),来抑制过拟合。

可以看出,进行权值衰减之后,训练集的识别精度没有100%(正常情况是不可能达到100%识别精度的),更重要的是,训练集的识别精度和测试集的识别精度之间的差距缩小了,也就是说过拟合得到了一定程度的抑制。

Dropout优化

作为抑制过拟合的方法,权值衰减在某种程度上能够抑制过拟合,但效果不够明显。而Dropout就是一种更加高效地抑制过拟合的方法。

Dropout是一种在学习的过程中随机删除神经元的方法。训练时,随机选出隐藏层的神经元,将其删除,被删除的神经元不再进行信号的传递。

如上图,进行Dropout优化后,训练集的识别精度和测试集的识别精度之间的差距进一步缩小了,像这样,通过使用Dropout优化,即便是训练数据集很小的网络,也可以抑制过拟合。

每天学习一点点,每天进步一点点。

上一篇下一篇

猜你喜欢

热点阅读