机器学习中的超参数优化方法
简介
机器学习模型严重依赖许多可调整的参数,这些参数被称为超参数。找到这些超参数的最佳组合可以极大地提高模型的性能和预测准确性。在本文中,我们将深入探讨机器学习中超参数优化的各种技术。它们将使人们能够有效地解决使用机器学习算法的复杂问题。为这些参数选择适当的值会严重影响模型学习模式和泛化到未见数据的能力。
超参数
超参数定义机器学习算法的行为和架构,而不是从训练数据本身学习。
常用超参数
学习率:此参数影响在模型内部权重的每次更新过程中包含多少信息。
正则化强度:它通过对复杂的模型表示施加惩罚来控制过拟合。
隐藏层或单元数:分别确定神经网络的网络深度和宽度。
核类型或大小:这些超参数通过定义输入样本之间的相似性测量函数在支持向量机 (SVM) 中发挥着不可或缺的作用。
树深度或分裂标准:专门针对决策树或随机森林,它们控制树结构的构建。
网格搜索
网格搜索涉及使用交叉验证穷举评估所有相关超参数预定义范围内的每个可能组合。
考虑拟合一个具有两个可调参数的 SVM 分类器——C(正则化强度)和 gamma(核系数)。网格搜索穷举地评估各个组合,例如 {C = 0.1,gamma = 0} 和 {C = 0.1,gamma = 0.01},允许我们根据交叉验证的性能指标(例如准确率或 F1 分数)选择最佳值。
示例——SVM 的网格搜索
Gamma |
0.1 |
---|---|
0.01 |
{C = 0.1, gamma = 0.01} |
0.1 |
{C = 0.1, gamma = 0.01} |
1 |
{C = 0.1, gamma = 1} |
随机搜索
随机搜索通过从定义的范围内随机抽取超参数组合来补充网格搜索。通过设置迭代次数,用户可以控制探索-利用权衡。
考虑一个具有学习率 (η) 和隐藏单元数等参数的神经网络模型,随机搜索通过随机选择组合比网格搜索更有效地探索超参数空间,有可能在无需穷举评估的情况下发现最佳设置。
示例 – 神经网络的随机搜索
隐藏单元数 |
学习率 (η) |
---|---|
100 |
0.1 |
200 |
0.01 |
300 |
0.001 |
贝叶斯优化
贝叶斯优化使用概率建模来根据先前评估的参数集形成目标函数的先验分布。它利用这些模型迭代并智能地建议新的配置,从而最大限度地提高性能指标的预期改进。
通过连续的建议-评估循环,以资源高效的方式微调决策树的关键超参数(如树深度或分裂标准),同时避免对所有可能组合进行暴力评估。
示例——决策树的贝叶斯优化
分裂标准 |
树深度 |
---|---|
基尼系数 |
1 |
基尼系数 |
2 |
基尼系数 |
3 |
基尼系数 |
4 |
基尼系数 |
5 |
熵 |
1 |
熵 |
2 |
熵 |
3 |
熵 |
4 |
熵 |
5 |
进化算法
进化算法从自然进化原理(如选择和变异)中汲取灵感,以有效地指导复杂空间中的探索——应用遗传算法等技术可以根据问题的复杂性或时间限制自动调整计算资源。
差分进化
差分进化是另一种流行的基于进化算法的技术,它使用向量差而不是遗传算法中常见的离散突变。
它从种群初始化开始,然后是连续的世代,其中使用重组、变异和交叉来创建新的种群,以便探索并收敛到全局最优。
基于梯度的优化
利用梯度信息,我们可以使用基于梯度的优化算法(如随机梯度下降 (SGD)、Adam 优化器或其他变体)在训练周期中有效地与超参数一起更新模型参数。
遗传算法
受自然进化原理的启发,遗传算法模拟交叉和变异等生物过程来隐式地优化高度非线性函数,这些函数代表各种超参数之间的复杂关系。
粒子群优化
从群体智能中汲取灵感,粒子群优化模拟鸟群或鱼群寻找最佳解决方案的行为。每个候选解决方案都表示为粒子,这些粒子通过与其他粒子的相互作用来探索和利用搜索空间。
模拟退火
模拟退火利用冶金学的原理来平衡超参数调整过程中的探索和利用。它会随着时间的推移逐渐降低“温度”,允许偶尔接受较差的解决方案,以避免陷入局部最优。
基于树的 Parzen 估计器 (TPE)
TPE 使用核密度估计构建两个模型:一个用于目标函数的最大值,另一个用于不成功试验的概率分布。然后,它根据它们对更好性能的预期改进对超参数进行采样,同时迭代地收集新信息。
集成技术
集成方法结合具有不同超参数集的多个模型,通过利用每个组件贡献的不同视角来增强模型的鲁棒性和泛化能力。诸如 bagging、boosting 或 stacking 等技术可以通过智能地混合各种模型的预测来帮助实现卓越的性能。
自动超参数调整库
Optuna、Hyperopt 或 AutoML 等一些高级软件库提供了强大的框架,配备了用于高效超参数优化目的的内置技术。这些库通常提供用户友好的 API 接口,并自动执行系统探索中涉及的许多重复性任务。
结论
超参数优化对于释放机器学习的真正潜力至关重要。网格搜索、随机搜索和贝叶斯优化等技术使我们能够系统地探索巨大的参数空间并发现最佳设置,同时提高模型的准确性和性能。随着从业者采用这些技术并将它们结合到他们的工作流程中,并借助清晰的示例。