机器学习中的参数与超参数之间的区别

有些话、适合烂在心里 提交于 2019-12-03 17:28:38

      机器学习中的模型参数和模型超参数在作用、来源等方面都有所不同,而模型超参数常被称为模型参数,这样,很容易对初学者造成混淆。本文给出了模型参数和模型超参数的定义,并进行了对比,指出了二者本质上的区别:模型参数是模型内部的配置变量,可以用数据估计模型参数的值;模型超参数是模型外部的配置,必须手动设置参数的值。


     我们在做研究的时候,会碰到很多术语。有时,在不同的研究领域还会出现同样名称的术语。比如,统计学、经济学中经常使用的“模型参数”和“模型超参数”,在机器学习中也同样存在。


      机器学习领域中的“模型参数”“模型超参数”在作用、来源等方面都有所不同,初学者如果对二者没有明确的认识,学习起来往往会比较吃力,尤其是那些来自统计学和经济学领域的初学者们。


为了让大家在应用机器学习时,对“参数模型”和“超参数模型”有一个清晰的界定,在这篇文章中,我们将具体讨论这两个术语。


首先,我们来看一下“参数”是什么?


参数作为模型从历史训练数据中学到的一部分,是机器学习算法的关键 


统计学中的“参数”:


在统计学中,你可以假设一个变量的分布,比如高斯分布。高斯分布的两个参数分别是平均值(μ)和标准差(sigma)。这在机器学习中是有效的,其中这些参数可以用数据估计得到并用作预测模型的一部分。


 编程中的“参数”:


编程中可以将参数传递给函数。在这种情况下,参数是一个函数参数,可以有一个值范围。在机器学习中,您正在使用的具体模型就是函数,需要参数才能对新数据进行预测。


“参数”和“模型”有什么关系?


根据经典的机器学习文献,可以将模型看作假设,而参数是根据特定的数据集对假设进行的具体调整。


模型是否具有固定或可变数量的参数,决定了模型是“参数”模型或“非参”模型。


什么是模型参数?


简单来说,模型参数就是模型内部的配置变量,可以用数据估计它的值。


具体来讲,模型参数有以下特征:


  • 进行模型预测时需要模型参数。
    模型参数值可以定义模型功能。
    模型参数用数据估计或数据学习得到。
    模型参数一般不由实践者手动设置。
    模型参数通常作为学习模型的一部分保存。


通常使用优化算法估计模型参数,优化算法是对参数的可能值进行的一种有效搜索。


模型参数的一些例子包括:


  • 人造神经网络中的权重。
    支持向量机中的支持向量。
    线性回归或逻辑回归中的系数。


什么是模型超参数?


模型超参数是模型外部的配置,其值不能从数据估计得到。


具体特征有:


  • 模型超参数常应用于估计模型参数的过程中。
    模型超参数通常由实践者直接指定。
    模型超参数通常可以使用启发式方法来设置。
    模型超参数通常根据给定的预测建模问题而调整。


怎样得到它的最优值: 对于给定的问题,我们无法知道模型超参数的最优值。但我们可以使用经验法则来探寻其最优值,或复制用于其他问题的值,也可以通过反复试验的方法。


模型超参数的一些例子包括:


  • 训练神经网络的学习速率。
    支持向量机的C和sigma超参数。
    k邻域中的k。


“模型参数”和“模型超参数”


二者的联系:


当针对特定问题调整机器学习算法时,例如在使用网格搜索或随机搜索时,你将调整模型或命令的超参数,以发现一个可以使模型预测最熟练的模型参数。许多模型中重要的参数无法直接从数据中估计得到。例如,在K近邻分类模型中...这种类型的模型参数被称为调整参数,因为没有可用的分析公式来为其计算一个合适的值

- 第64-65页,应用预测建模,2013


区分:


模型超参数通常被称为模型参数,这种叫法很容易让人产生误解。解决这个问题的一个很好的经验法则如下:如果你必须手动指定一个“模型参数”,那么它可能就是一个模型超参数。


进一步阅读

  • 超参数-维基百科 - https://en.wikipedia.org/wiki/Hyperparameter

  • 什么是机器学习中的超参数?Quora - https://www.quora.com/What-are-hyperparameters-in-machine-learning

  • 模型超参数和模型参数有什么区别?StackExchange- https://datascience.stackexchange.com/qu

  • 什么是超参数?Reddit -https://www.reddit.com/r/MachineLearning/comments/40tfc4/what_is_considered_a_hyperparameter/


总结


读完这篇文章可以了解模型参数和模型超参数的明确定义和区别。


总而言之,模型参数是从数据中自动估计的,而模型超参数是手动设置的,并用于估计模型参数的过程。


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!