前言
临床研究中机器学习的应用越来越多了,由此产生的跨界问题也不少。来自一位临床朋友的修回意见,"What are the hyper-parameters for LASSO regression?",这个超参数(hyper-parameter)把这位朋友吓坏了,因为他连参数(parameter)是什么也不知道所以下面找了这篇文章给大家科普一下。
在机器学习领域,通常会听到很多名词,而且每个人用的可能有所差别,不太统一。如果从其他领域跨入机器学习领域,甚至会出现同一个名词在两个不同领域有不同理解的情况
比如今天我们要讨论的题目中提到的两个名词,在入门机器学习时可能会被混淆,尤其是对于那些来自统计学或经济学领域的朋友。
What is a Model Parameter?
模型参数指的是模型内部的配置变量(configuration variable),可通过数据来估计其取值。
在模型预测时要求提供
是模型对于研究问题的价值体现
从数据中估计或学习得到
通常不被人为设定
常作为最终模型的一部分被保存
参数是机器学习算法的关键,它们是从历史训练数据中学习到的,属于模型的一部分。
在经典的机器学习文献中,我们可以把模型看作是假设,把参数看作是针对某特定数据实现假设的工具。
通常来说,模型参数是算法考虑所有可能取值后得到的最优解。
统计学:在统计学中,我们可能会为一个变量假设服从某个分布,如高斯分布。高斯分布具有两个参数,分别是均数和标准差。这样的理解在机器学习中也是成立的,这些参数可以通过数据进行估计,并且作为预测模型的一部分。
编程:在编程中,我们可能把参数传递给函数。在这个情况下,参数作为函数变量(function argument)可以取一系列值中的一个。在机器学习中,我们使用模型就是在外部数据中进行预测所需的函数和参数。
模型具有固定个数的参数,叫做参数模型,若具有可变个数的参数,则为非参数模型。
下面是几个关于模型参数的例子:
人工神经网络的权重
支持向量机中的支持向量
线性回归及logistic回归中的回归系数
What is a Model Hyperparameter?
模型超参数指的是模型外部的配置变量,不能通过数据来估计其取值。
常用于帮助估计模型参数的过程
通常由人为设定
可用探索的方法对其进行设定
可针对给定的预测建模问题对超参数进行调整
我们不能获得针对某个特定问题的模型参数的最优取值。但我们可以采用经验法则,参考用于其他问题的取值,或者通过反复尝试寻找最佳值。
当机器学习算法用于解决特定问题时,我们正是采用规则搜寻或者随机搜寻的方式,对模型的超参数进行调整,来发现模型的参数,从而得到最优的预测。
下面是摘自书籍《Applied Predictive Modeling》(2013)第 64-65页关于超参数的一段话:
“Many models have important parameters which cannot be directly estimated from the data. For example, in the K-nearest neighbor classification model … This type of model parameter is referred to as a tuning parameter because there is no analytical formula available to calculate an appropriate value.”
从上面的描述可知,模型超参数有时被叫做模型参数,如何能克服这种混淆呢?这里给出一个较好的经验法则:
If you have to specify a model parameter manually then
it is probably a model hyperparameter.
下面是几个关于模型超参数的例子:
训练神经网络的学习率(learning rate)
支持向量机中的C(惩罚系数)和sigma(与支持向量的个数有关)
k最近邻算法(k-nearest neighbors)中的k(邻居个数)
领取专属 10元无门槛券
私享最新 技术干货