宽的策略:
通过简化网络来加速实验进行更有意义的学习。
例如,MNIST分类问题。可以丢开训练和验证集合中除了0和1的那些图像,然后试着训练一个网络来区别0和1。
不仅仅问题比1-个分类的情况简化了,同样也会减少80&的训练数据,这样就给出了5倍的加速。
学习速率:
(代价函数震荡的原因:如果eta太大的话,步长也会变大可能会使得算法在接近最小值时又越过了谷底。)
首先,我们选择在训练数据上的代价立即开始下降而非震荡或者增加时作为eta的阈值的估计。比如eta=0.01
开始。如果代价在训练的前面若干回合开始下降,你就看他逐步地尝试eta=0.1,1.0,...直到找到一个eta的值
使得在开始若干回合代价就开始震荡或者增加。相反,如果代价在eat=0.01时就开始震荡或者增加,那就尝试
eta=0.001,0.0001,...直到你找到大家在开始回合就下降的设定。按照这样的方法,就可以掌握eta的阈值的
量级的估计。
学习速率的调整:
通常采用可变的学习速率更加有效。在学习的前期,权重可能非常糟糕。所以最好是使用一个较大的学习速率
让权重变化的更快。越往后,我们可以降低学习速率,这样可以做出更加精良的调整。
使用Early stopping来确定训练的迭代器数量:
Early stopping表示在每回合的最后,我们都要计算验证集上的分类准确率。当准确率不再提升,就终止它。
这让选择回合数变得很简单。特别地,也意味着我们不再需要担心显式地掌握迭代数和其他超参数的关联。
分类准确率不再提升(分类准确率在整体趋势下降的时候仍旧会抖动或者震荡。如果我们在准确度刚开始下降
的时候就停止,那么肯定会错过更好的选择。)
小批量数据大小:
minibatch大小的选择是相对独立的一个超参数。(尝试)