超参数调优
- 模型参数,是使用的模型根据训练数据的分布学习到的参数,不需要人为的设置。超参数,是在模型训练之前设置的参数。通常情况下要对超参数进行优化,选择一组最优超参数,以提高学习的性能和效果。
- 常用的超参数调参的方法有:网格搜索,随机搜索,贝叶斯优化。
网格搜索(grid search)
- 使用最广泛的超参数调优方法
- 查找搜索给定范围内的所有的点,来确定最优值。理论上,给定较大范围和较小步长,网格搜索可以找到全局最优点。
- 理想用法:对所有需要调优的超参数设定较大范围和较小步长,对所有参数组合进行网格搜索,得出全局最优。缺点:但实际上却因为资源和时间的极大开销导致难以实现。
- 实际用法:先选取1-3个重要参数,粗调(较广的搜索范围,以及较大的步长),再微调(缩小搜索范围和步长),然后对其他参数按相同步骤进行调优。缺点:需手动设置,难以自动化;目标参数一般是非凸,容易陷入局部最小值。
随机搜索(Randomized Search)
- 随机搜索并未尝试所有参数值,而是从指定的参数范围进行随机采样
- 理论上,如果随即样本点集足够大,那么也可以找到全局的最大或最小值,或它们的近似值
- 一般会比理想网格搜索快
- 结果难以保证全局最优
贝叶斯优化(Bayesian Optimization)
- 贝叶斯优化充分利用了前一个点的信息,通过对目标函数形状的学习,找到使结果向全局最大值提升的参数
- 根据先验分布,假设一个搜集函数。在每一次使用新的采样点来测试目标函数时,它使用这个信息来更新目标函数的先验分布。然后,算法测试由后验分布给出的全局最值最可能出现位置的点
- 与网格搜索和随机搜索相比:贝叶斯优化考虑前一个点的信息;迭代次数较少;非凸问题稳健
- 重要参数:迭代次数和搜索范围的选择。