超参数(机器学习)

在机器学习中,超参数是一个参数,其值被用来控制学习过程。相比之下,其他参数的值(通常是节点权重)是通过训练得出的。超参数可以分为模型超参数算法超参数,前者在将机器拟合到训练集时无法推断,因为它们指的是模型选择任务;后者原则上对模型的性能没有影响,但影响学习过程的速度和质量。模型超参数的一个例子是神经网络的拓扑结构和大小。算法超参数的例子是学习率和批量大小以及小批量大小。批量大小可以指完整的数据样本,而迷你批次大小将是一个较小的样本集。不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)则不需要。鉴于这些超参数,训练算法从数据中学习参数。例如,LASSO是一种在普通最小二乘回归中加入正则化超参数的算法,在通过训练算法估计参数之前,必须设置该参数。

考虑因素

训练和测试一个模型所需的时间可能取决于其超参数的选择。一个超参数通常是连续或整数类型的,导致混合型的优化问题。一些超参数的存在是以其他参数的值为条件的,例如,神经网络中每个隐藏层的大小可以以层的数量为条件。

困难的可学习参数

通常,但并不总是,超参数不能用众所周知的基于梯度的方法(如梯度下降,LBFGS)来学习--通常采用这种方法来学习参数。这些超参数是那些描述模型表征的参数,不能用普通的优化方法学习,但仍然影响损失函数。一个例子是支持向量机中错误的容忍度超参数。

不可训练的参数

有时,超参数不能从训练数据中学习,因为它们会积极地增加模型的容量,并可能将损失函数推到一个不希望的最小值(过渡拟合,并拾取数据中的噪声),而不是正确映射数据中丰富的结构。例如,如果我们把拟合回归模型的多项式方程的度数作为一个可训练的参数,度数会增加,直到模型完全拟合数据,产生低的训练误差,但泛化性能差。

可调性

大多数性能变化可归因于几个超参数。一个算法、超参数或相互作用的超参数的可调性是衡量通过调整它可以获得多少性能的一个标准。对于LSTM来说,虽然学习率和网络大小是其最关键的超参数,但批处理和动量对其性能没有明显影响。尽管一些研究主张使用数以千计的迷你批处理,但其他工作发现迷你批处理的大小在2到32之间,性能xxx。

稳健性

学习中固有的随机性直接意味着经验性的超参数性能不一定是它的真实性能。对超参数、随机种子、甚至同一算法的不同实现方式的简单变化不具有鲁棒性的方法,在没有重大简化和鲁棒性的情况下,不能被整合到关键任务控制系统中。特别是强化学习算法,需要在大量的随机种子上测量其性能,并测量其对超参数选择的敏感性。由于高变异性,用少量的随机种子对它们进行评估并不能充分反映出性能。一些强化学习方法,例如DDPG(深度确定性策略梯度),对超参数的选择比其他方法更敏感。

超参数(机器学习)的优化

超参数优化找到一个超参数的元组,产生一个最佳模型,使给定测试数据的预定损失函数最小。目标函数采用一个超参数的元组,并返回相关的损失。

可重复性

除了调整超参数,机器学习还涉及到存储和组织参数和结果,并确保它们是可重复的。如果没有一个强大的基础设施,研究代码往往会快速发展,并影响到记账和可重复性等重要方面。机器学习的在线协作平台更进一步,允许科学家自动分享、组织和讨论实验、数据和算法。对于深度学习模型来说,可重复性可能特别困难。

转自:超参数(机器学习)_全球百科

猜你喜欢

转载自blog.csdn.net/fuhanghang/article/details/134947787