相信所有人刚开始应用机器学习时,都会被两个术语混淆。
计算机学科里有太多的术语,而且许多术语的使用并不一致。哪怕是相同的术语,不同学科的人理解一定有所不同。
比如说:“模型参数(model parameter)”和“模型超参数(model Hyperparameter)”。
对于初学者来说,这些没有明确定义的术语肯定很令人困惑。尤其是对于些来自统计学或经济学领域的人。
我们来仔细研究一下这些条款。
什么是模型参数?
模型参数是模型内部的配置变量,其值可以根据数据进行估计。
-
模型在进行预测时需要它们。
-
它们的值定义了可使用的模型。
-
他们是从数据估计或获悉的。
-
它们通常不由编程者手动设置。
-
他们通常被保存为学习模型的一部分。
参数是机器学习算法的关键。它们通常由过去的训练数据中总结得出。
在经典的机器学习文献中,我们可以将模型看作假设,将参数视为对特定数据集的量身打造的假设。
最优化算法是估计模型参数的有效工具。
-
统计:在统计学中,您可以假设一个变量的分布,如高斯分布。高斯分布的两个参数是平均值(μ)和标准偏差(西格玛)。这适用于机器学习,其中这些参数可以从数据中估算出来并用作预测模型的一部分。
-
编程:在编程中,您可以将参数传递给函数。在这种情况下,参数是一个函数参数,它可能具有一个值范围之一。在机器学习中,您使用的特定模型是函数,需要参数才能对新数据进行预测。
模型是否具有固定或可变数量的参数决定了它是否可以被称为“参数”或“非参数”。
模型参数的一些示例包括:
-
神经网络中的权重。
-
支持向量机中的支持向量。
-
线性回归或逻辑回归中的系数。
什么是模型超参数?
模型超参数是模型外部的配置,其值无法从数据中估计。
-
它们通常用于帮助估计模型参数。
-
它们通常由人工指定。
-
他们通常可以使用启发式设置。
-
他们经常被调整为给定的预测建模问题。
我们虽然无法知道给定问题的模型超参数的最佳值,但是我们可以使用经验法则,在其他问题上使用复制值,或通过反复试验来搜索最佳值。
当机器学习算法针对特定问题进行调整时(例如,使用网格搜索或随机搜索时),那么正在调整模型的超参数或顺序以发现导致最熟练的模型的参数预测。
-
“许多模型有不能从数据直接估计的重要参数。例如,在K近邻分类模型中......因为没有可用于计算适当值的分析公式,这种类型的模型参数被称为调整参数。”
- 第64-65页,《应用预测模型》,2013
如果模型超参数被称为模型参数,会造成很多混淆。克服这种困惑的一个经验法则如下:
如果必须手动指定模型参数,那么它可能是一个模型超参数。
模型超参数的一些例子包括:
-
训练神经网络的学习速率。
-
用于支持向量机的C和sigma超参数。
-
K最近邻的K。
总之,模型参数是根据数据自动估算的。但模型超参数是手动设置的,并且在过程中用于帮助估计模型参数。
模型超参数通常被称为参数,因为它们是必须手动设置和调整的机器学习的一部分。