神经网络的优化(3)----Early Stopping

                                                                                                                                                   点击此处返回总目录

 

下面要讲的是,如果已经在training data上得到够好的结果。但是在testing data上的结果依然不好,你有什么可行的方法?

会介绍三个方法:early stopping、Regularization和dropout。其中early stopping和Regularization是很typical的方法,他们不是特别为深度学习设计的方法,是很传统的经典的方法。而dropout呢,是一个蛮有deep learning特色的方法。

 

                 神经网络的优化(3)----Early Stopping_第1张图片

 

我们来讲一下early stopping.

early stopping是什么意思呢?随着training,如果你的learning rate调的对的话,你的total loss通常会越来越小。但是如果你的learning rate没有设好,total loss变大也是有可能的。但理想上,learning rate调的很好的话,training data上的loss是会逐渐变小的。但是我们说,training set和testing set的分布并不完全一样。所以,有可能,当你的training 的loss逐渐减小的时候,你的testing data的loss反而上升了。这是有可能的。

                        神经网络的优化(3)----Early Stopping_第2张图片

 

所以,理想上,假如你知道Testing data的loss的变化,你应该停在不是Training set loss最小,而是testing data loss最小的地方。你在train的时候,不要一直train下去,而是train到箭头这个地方就停下来。

                        神经网络的优化(3)----Early Stopping_第3张图片

但是实际上,我们根本不知道testing data的error是什么。所以,我们其实会用Validation set来做这件事情。当validation set的error最小的时候,就停下来。

                        神经网络的优化(3)----Early Stopping_第4张图片

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(17,深度学习)