- 引言
模型优化是机器学习算法实现中最困难的挑战之一。机器学习和深度学习理论的所有分支都致力于模型的优化。机器学习中的超参数优化旨在寻找使得机器学习算法在验证数据集上表现性能最佳的超参数。超参数与一般模型参数不同,超参数是在训练前提前设置的。举例来说,随机森林算法中树的数量就是一个超参数,而神经网络中的权值则不是超参数。其它超参数有:
- 神经网络训练中的学习率
- 支持向量机中的 c cc 参数和 γ gammaγ 参数
- k 近邻算法中的 k kk 参数
- ……
超参数优化找到一组超参数,这些超参数返回一个优化模型,该模型减少了预定义的损失函数,进而提高了给定独立数据的预测或者分类精度。
分类算法中的超参数
2. 超参数优化方法
超参数的设置对于模型性能有着直接影响,其重要性不言而喻。为了最大化模型性能,了解如何优化超参数至关重要。接下来介绍了几种常用的超参数优化方法。1.手动调参很多情况下,工程师们依靠试错法手动对超参数进行调参优化,有经验的工程师能够很大程度上判断超参数如何进行设置能够获得更高的模型准确性。但是,这一方法依赖大量的经验,并且比较耗时,因此发展出了许多自动化超参数优化方法。2. 网格化寻优(Grid Search)网格化寻优可以说是最基本的超参数优化方法。使用这种技术,我们只需为所有超参数的可能构建独立的模型,评估每个模型的性能,并选择产生最佳结果的模型和超参数。
网格化寻优方法:以一个典型的核函数为 RBF 的 SVM 分类模型为例,其至少有两个超参数需要优化——正则化常数 c cc 和 核函数参数 γ gammaγ。这两个超参数都是连续的,需要执行网格化寻优为每个超参数选择合理取值。假设 c∈10,100,1000,γ∈0.1,0.2,0.5,1.0cin {10,100,1000}, gamma in {0.1,0.2,0.5,1.0}c∈10,100,100