从系列:应用机器学习
亚当Filion,MathWorks公司
机器学习是 数据拟合模型。 过程通常需要使用一个迭代算法,最小化模型误差。控制机器学习算法行为的参数称为超参数。 hyperparameters取决于您选择的值,你可以得到一个完全不同的模型。因此,通过改变hyperparameters的值,你可以找到不同,希望更好, 模型。
本视频将介绍超参数优化技术,包括网格搜索、随机搜索和贝叶斯优化。解释了为什么随机搜索和贝叶斯优化优于标准网格搜索,描述了超参数在模型优化中与特征工程的关系。
机器学习就是把模型和数据结合起来。模型由参数组成,通过拟合过程求出参数的值。这一过程通常涉及到一些类型的迭代算法来最小化模型误差。这个算法有参数来控制它如何工作,这些就是我们所说的超参数。
在深度学习,我们也称之为确定层特性的超参数的参数。今天,我们将谈论了这两种技术。
那么,我们为什么要关心超参数呢?事实上,大多数机器学习问题都是非凸的。这意味着根据我们为超参数选择的值,我们可能会得到一个完全不同的模型。通过改变超参数的值,我们可以找到不同的,而且希望是更好的模型。
好了,我们知道我们有超参数,我们知道我们要调整他们,但我们怎么办呢?一些超参数是连续的,有些是二进制的,和其他人可能需要在任意数量的离散值。这使得一个艰难的优化问题。它几乎总是无法运行穷举搜索超参数空间的,因为它的时间太长。
因此,传统上,工程师和研究人员使用超参数优化技术,如网格搜索和随机搜索。在本例中,我使用网格搜索方法改变SVM模型的两个超参数——框约束和核尺度。可以看到,对于不同的超参数值,得到的模型的误差是不同的。经过100次试验,搜索发现12.8和2.6是这些超参数最有希望的值。
最近,随机搜索比网格搜索更流行。
“怎么可能呢?”你可能会问。
不会网格搜索做的均匀探索超参数空间更好的工作?
假设你有两个超参数,A和B。你的模型对A很敏感,但对B不敏感。如果我们做一个3x3的网格搜索,我们只会评估3个不同的值a。但如果我们做一个随机搜索,我们可能会得到9个不同的值“a”,即使有些可能很接近。因此,我们更有可能为“a”找到一个合适的值。“在机器学习中,我们经常有很多超参数。有些对结果有很大影响,有些则没有。所以随机搜索通常是更好的选择。
网格搜索和随机搜索是好的,因为它很容易理解这是怎么回事。然而,他们仍然需要许多功能的评价。他们还没有考虑这一点,因为我们评估超参数越来越多的组合,我们学习这些价值观如何影响我们的结果的事实。出于这个原因,你可以使用创建一个代理模型技术 - 或作为超参数的函数误差的近似值。
贝叶斯优化是一个这样的技术。在这里,我们看到了贝叶斯优化算法运行的一个例子,其中每个点对应于超参数的不同组合。我们还可以看到算法的替代模型,在这里显示为表面,它是用挑下一组超参数的。
关于贝叶斯优化另外一个很酷的事情是,它不只是看一个模型的精确程度。它也可以考虑它需要多长时间来培养。可能有集,导致训练时间由100个或更多的因素,增加超参数,那可能就不是那么大,如果我们试图打的最后期限。您可以通过多种方式配置贝叶斯优化,包括每秒预期的改善,这是惩罚预计需要很长的时间来培养超参数值。
现在,主要的原因做超参数优化是提高模型。而且,虽然也有其他的事情,我们可以做些什么来改善它,我喜欢把超参数优化作为一个低的努力,高计算类型的方法。这是相对于类似功能的工程,在这里你有更高的着力打造的新功能,但你需要更少的计算时间。这并不总是显而易见的,其活动都将有最大的影响,但对超参数优化的好处是它很适合“通宵运行,”这样你就可以在你的电脑作品睡觉。
以上是对超参数优化的一个快速解释。欲了解更多信息,请查看描述中的链接。
您也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
本网站使用Cookies来改善您的用户体验,个性化的内容和广告,并分析网站流量。通过继续使用本网站,您同意我们使用Cookie。请参阅我们的隐私政策要了解更多关于cookie和如何更改设置。