如何进行模型调优的?如何进行模型优化?
1.选好的优化算法
在机器学习中
在选择优化算法的时候,就选择经试验证明较为不错的算法。
对于基于梯度的优化算法,随机梯度下降法因为没迭代一次都更新一次参数,所以它走得弯路会相对较多,因为部分样本有可能是噪声数据。
而批量梯度下降法,因为没迭代一次都会计算所有的样本梯度,最后得到全局最优解,但很多时候,这是不太可行的,因为数据量特别大的时候,把所有数据放到内存上计算梯度是不现实的。
在一般的机器学习中,我们会比较喜欢使用小批量梯度下降法。因为它既不想批量梯度下降法那样,需要加载那么多数据到内存上,一般我们会选择50-100个样本作为一个小批量。而且,也不用每次迭代更新,起码能朝着最优解方向走,因为在数据中,大部分还是比较好的样本。
在深度学习中的优化
- 对下降方向做的优化
选择动量算法和NAG算法,相当于对下降方向做了一个优化。动量算法是根据物理学上的物体运动的原理,引申过来的。对于一个运动的物体,在惯性的作用下,它当前时刻的速度与前一时刻的速度相关。利用这个原理,当前时刻的下降方向,可以由上一次迭代下降的方向和当前梯度的向量组合,这就是动量算法。
而NAG算法则是让迭代点先按照原来的下降方向多走一步,然后在进行向量组合。
这两种算法都是对下降方向进行优化的。