这篇教程什么是超参数?超参数有哪些?写得很实用,希望能帮到您。
前言:
在机器学习的中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。
要而言之,我们可以根据实际情况修改超参数已达到最好的训练效果。
Learning rate
学习率(Learning rate)作为监督学习以及深度学习中重要的超参,其决定着目标函数能否收敛到局部最小值以及何时收敛到最小值。合适的学习率能够使目标函数在合适的时间内收敛到局部最小值。
iteration,batch_size,epoch
(1)iteration 中文翻译为迭代。迭代是重复反馈的动作,神经网络中我们希望通过迭代进行多次的训练以达到所需的目标或结果。
每一次迭代得到的结果都会被作为下一次迭代的初始值。
一个迭代=一个正向通过+一个反向通过。
迭代是重复反馈的动作,神经网络中我们希望通过迭代进行多次的训练以达到所需的目标或结果。每一次迭代得到的结果都会被作为下一次迭代的初始值。
(2)batchsize:批大小。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练;
相对于正常数据集,如果Batch_Size过小,训练数据就会非常难收敛,从而导致underfitting。 增大Batch_Size,相对处理速度加快。 增大Batch_Size,所需内存容量增加(epoch的次数需要增加以达到最好的结果) 这里我们发现上面两个矛盾的问题,因为当epoch增加以后同样也会导致耗时增加从而速度下降。因此我们需要寻找最好的Batch_Size。 再次重申:Batch_Size的正确选择是为了在内存效率和内存容量之间寻找最佳平衡。
1个iteration等于使用batchsize个样本训练一次;
(3)epoch:中文翻译为时期。一个时期=所有训练样本的一个正向传递和一个反向传递。
1个epoch等于使用训练集中的全部样本训练一次;
例子
训练集有1000个样本,batchsize=10,那么;训练完整个样本集需要:100次iteration,1次epoch。
参考链接:
原文:https://blog.csdn.net/program_developer/article/details/78597738 Algorithms for Hyper-Parameter Optimization 深度学习中的batch的大小对学习效果有何影响? |