超参数 (机器学习)
在机器学习中,超参数(英語:)是事先给定的,用来控制学习过程的参数。而其他参数(例如节点权重)的值是通过训练得出的。
超参数可分为模型超参数(Model Hyperparameters)和算法超参数(Algorithm Hyperparameters)。模型超参数主要用于模型选择,其无助于学习训练集特征;而算法超参数理论上对模型的性能没有影响,而会影响学习的速度和质量。一个典型的模型超参数是神经网络的拓扑结构及大小;而学习率和批量大小(Batch size)、小批量大小(Mini-Batch size)则是典型的算法超参数。
不同的模型训练算法需要用到不同的超参数,一些简单的算法(如普通最小二乘回归)不需要超参数。给定超参数,训练算法会从数据中学习参数。例如,LASSO算法在普通最小二乘回归中加入正则化超参数,在通过训练算法估计参数之前,必须先设置这个超参数。[1]
考虑因素
对模型的训练和测试所需的时间可能取决于其超参数的选择。[2]
一个超参数通常是实数或是整数,因此存在混合型的优化问题。[2]一些超参数的选取依赖于其他参数的值(例如神经网络每个隐藏层的大小可以与层的数量相关)。[2]
难度可学习的参数
超参数通常并不能使用梯度类算法(例如梯度下降、LBFGS)来学习;这些梯度类算法通常用于学习其它参数。这些用于描述模型的超参数通常不能用一般的优化方法学习,然而它们仍然会影响损失函数。例如支持向量机中错误的容忍度超参数。
不可训练的参数
部分超参数不能从训练数据中学习,因为对部分超参数的学习过程通常会过分增加模型容量,并使损失函数趋于不希望的小值(即过拟合),而不是正确映射数据的结构。例如,如果我们将拟合回归模型的多项式方程的度数作为一个可训练参数,多项式的度数会增加到模型可以完全拟合数据,此时训练误差极低,但泛化性能差。
优化
超参数优化找到一个超参数的元组(Tuple),产生一个最佳模型,使得给定测试数据集的损失函数最小。目标函数接收超参数的元组,并返回对应的损失。[8]
可重复性
除超参数的调整外,机器学习还涉及到参数和结果的存储和组织,并确保它们是可重复的。[10]
参考文献
- Yang, Li; Shami, Abdallah. . Neurocomputing. 2020-11-20, 415: 295–316. ISSN 0925-2312. S2CID 220919678. arXiv:2007.15745 . doi:10.1016/j.neucom.2020.07.061 (英语).
- . Bibcode:2015arXiv150202127C. arXiv:1502.02127 .
- Leyton-Brown, Kevin; Hoos, Holger; Hutter, Frank. : 754–762. January 27, 2014 [2022-11-09]. (原始内容存档于2022-05-20) –proceedings.mlr.press.
- . Bibcode:2018arXiv180209596P. arXiv:1802.09596 .
- Greff, K.; Srivastava, R. K.; Koutník, J.; Steunebrink, B. R.; Schmidhuber, J. . IEEE Transactions on Neural Networks and Learning Systems. October 23, 2017, 28 (10): 2222–2232. PMID 27411231. S2CID 3356463. arXiv:1503.04069 . doi:10.1109/TNNLS.2016.2582924.
- . Bibcode:2015arXiv150802774B. arXiv:1508.02774 .
- . Bibcode:2018arXiv180407612M. arXiv:1804.07612 .
- . Bibcode:2015arXiv150202127C. arXiv:1502.02127 .
- . Bibcode:2018arXiv180307055M. arXiv:1803.07055 .
- (PDF). 2015 [2022-11-09]. (原始内容存档 (PDF)于2018-04-07).