深度学习是人工智能的一个分支,我们让模型自己通过特征学习并得到结果。我们不硬编码任何逻辑或算法,它会自动尝试特性之间的不同关系,并选择支持正确预测的最佳关系集。
我们并没有让模型盲目地尝试,而是设定了一些超参数。为了解释超参数,我们可以举一个孩子在IPad上玩的例子。你不能控制他/她在上面玩什么或看什么,但你可以控制孩子在上面花了多少时间。类似地,我们可以调整这些超参数,使模型对特征进行评级,在此基础上生成预测结果。
在使用深度学习和机器学时会需要处理许多超参数,而调优它们可能是一件非常麻烦的事情。
在机器学习的早期,人们习惯于使用表格的网格来选择和尝试这些超参数的不同值。
在需要调优的超参数数量较少之前,这种方法是可行的,但当需要调优的超参数数量较多时,这种方法将花费比所需的时间多得多的时间。
我们尝试随机选择的值!这样做有一个基本的原因。您不知道哪个超参数的哪个值更适合您要解决的问题类型。
一个好的方法是“粗到细”方案。
这种方法是,假设我们有一个随机设置网格的值,得到一些结果之后,我们发现值在一个特定区域表现比别人好,比我们放大该区域并进行深入的分析,最终得到最好的组超参数!
使用这种方法我们在在调优进路中随机发现值时,在适当的范围内搜索值就变得很重要。
例如上一个是当我们使用0.1和1之间的比例的90%时,下一个是当我们划分并赋予每个刻度的位置时。
代码如下:
R = -4 * np.random.rand()
å = 10^r
这里的np是numpy。r的值在-4和0之间。因此,å在10^-4到1之间。
这样我们就可以根据需要改变和在一定的范围内对我们的超参数值进行搜索
作者:Danyal Jamil
deephub翻译组
原文链接:https://medium.com/datadriveninvestor/insights-to-how-to-tune-your-hyper-parameters-12345d44d1c4