每位数据科学家都应了解的 7 种超参数优化技术

2025年1月7日 | 阅读 4 分钟

在本教程中,我们将介绍一些在机器学习和数据科学领域常用的超参数优化技术。

但在我们开始之前,让我们简要讨论一下超参数。

什么是超参数?

超参数是在训练过程开始之前设置的参数,它们不是从数据本身学习到的。它们是模型外部的,用于控制学习过程。例如:

  • 学习率:决定在训练阶段调整模型权重多少。
  • 每层神经元数量和层数:描述神经网络的架构。
  • 批量大小:定义在一次前向/后向传播中用于训练模型的样本数量。
  • Epoch 数量:显示整个数据集通过模型的次数。

理解超参数优化

超参数优化,也称为超参数调整,是指为特定模型和数据集识别最合适的超参数以提高效率的过程。这一点非常重要,因为超参数的选择会显着影响模型的准确性和性能。

有多种超参数优化方法,包括:

  1. 网格搜索
  2. 随机搜索
  3. 贝叶斯优化
  4. 基于树的 Parzen 估计器 (TPE)
  5. Hyperband
  6. 遗传算法
  7. 粒子群优化 (PSO),以及许多其他。

现在让我们在下一节中讨论这些技术。

用于超参数优化的几种技术

以下是用于超参数调整的一些技术:

技术 1:网格搜索

网格搜索是一种值得信赖的方法,它涉及到指定一个超参数值的网格,并在此网格内穷举搜索所有可行的组合。使用交叉验证评估每个组合,并选择产生最佳性能的组合。

  • 优点:保证在预定义的网格内找到最优超参数。
  • 缺点:当超参数的数量或值的范围很大时,它可能会非常耗时且计算成本高昂。

技术 2:随机搜索

与网格搜索不同,随机搜索是从超参数空间中随机采样,而不是评估所有可行的组合。这种方法允许以更少的评估来更好地探索空间。

  • 优点:通常比网格搜索更有效,并且可以用更少的试验获得相似甚至更好的性能。
  • 缺点:由于它是随机的,它可能会错过最优超参数集,尤其是在搜索空间很大的情况下。

技术 3:贝叶斯优化

贝叶斯优化建立一个概率模型(通常是高斯过程),该模型将超参数映射到性能评分。它使用此模型来选择下一个最有可能评估的超参数,从而平衡探索和利用。

  • 优点:与网格搜索和随机搜索相比,它需要更少的评估来找到最优超参数,因此更高效、更有效。
  • 缺点:实现起来更复杂,并且可能需要大量的计算资源来构建模型。

技术 4:基于树的 Parzen 估计器 (TPE)

TPE 是贝叶斯优化的一种特定形式。它分别对产生良好和糟糕结果的超参数的分布进行建模。然后,优化过程会关注那些可能提高模型性能的超参数。

  • 优点:在处理高维和复杂的超参数空间方面非常高效。它也能很好地适应条件超参数空间,即某些超参数仅在其他超参数以特定方式设置时才适用。
  • 缺点:与随机搜索等更简单的方法相比,它在某些类型的问题中收敛速度可能较慢。

技术 5:Hyperband

Hyperband 是一种真正高效的方法,它结合了随机搜索和逐次减半的思想。它开始时会针对不同的超参数配置,在小部分数据上训练多个模型。随着训练的进行,它会将更多的资源(例如,数据或 epoch)分配给最有希望的配置。

  • 优点:在计算资源方面非常高效,并且可以快速识别有希望的超参数配置。
  • 缺点:在训练成本较低或数据有限的情况下效率较低,因为资源分配的优势会减弱。

技术 6:遗传算法

遗传算法通过模拟自然选择的过程来优化超参数。它们从随机超参数集种群开始,并通过选择、交叉(组合集)和变异(随机更改值)等代进行演化。

  • 优点:非常适合探索大型、复杂的超参数空间,并且可以避免陷入可能困住更简单优化方法的局部最优解。
  • 缺点:需要仔细调整算法参数(例如,种群大小、变异率),并且可能计算量很大。

技术 7:粒子群优化 (PSO)

PSO 受到集群(如鸟群或鱼群)社会行为的启发,通过让一组候选解(粒子)探索搜索空间来优化超参数。每个粒子根据自身的最佳位置和邻近粒子的最佳位置来调整其飞行方向,逐步收敛到最优解。

  • 优点:在探索搜索空间和避免局部最小值方面效率很高,实现起来非常简单。
  • 缺点:它可能需要仔细调整 PSO 参数(例如,群体大小、惯性),并且在高维空间中可能无法获得良好性能。

结论

在本教程中,我们学习了超参数优化技术的主题,包括其定义和技术,这些将在需要时非常有用。