从系列:应用机器学习
亚当福音,Mathworks
机器学习就是将模型拟合到 数据上。 这个 过程通常包括使用一个迭代算法来最小化模型错误。控制机器学习算法行为的参数被称为超参数。 根据您为超参数选择的值,您可能会得到一个完全不同的模型。因此,通过改变超参数的值,您可以找到不同的,希望更好的, 模型。
本视频讲解超参数优化技术,包括网格搜索、随机搜索和贝叶斯优化。它解释了为什么随机搜索和贝叶斯优化优于标准网格搜索,并描述了在优化模型时超参数如何与特征工程相关。
机器学习是关于拟合模型的数据。该模型由参数组成,我们发现通过拟合过程的值。该过程通常涉及某种类型的迭代算法,其最小化模型错误。该算法具有控制它的工作原理的参数,并且这些是我们所说的超级参数。
在深度学习中,我们还调用了确定层特征的参数超参数。今天,我们将谈论两者的技巧。
那么,我们为什么要关心超参数呢?事实证明,大多数机器学习问题都是非凸的。这意味着,根据我们为超参数选择的值,我们可能得到一个完全不同的模型。通过改变超参数的值,我们可以找到不同的,希望更好的模型。
好的,所以我们知道我们有HyperParameters,我们知道我们想要调整它们,但我们如何做到这一点?一些超级参数是连续的,有些是二进制,其他人可能会采用任何数量的离散值。这使得艰难的优化问题。几乎总是不可能彻底搜索超级参数空间,因为它需要太长。
因此,传统上,工程师和研究人员使用的超参数优化技术,如网格搜索和随机搜索。在这个例子中,我使用了一个网格搜索方法来改变一个SVM模型的2个超参数-框约束和核规模。如您所见,对于不同的超参数值,结果模型的误差是不同的。经过100次试验,研究发现12.8和2.6是这些超参数最有希望的值。
近年来,随机搜索比网格搜索更加流行。
“这怎么可能呢?”你可能会问。
Grid搜索不会更好地均匀地探索普遍探索的封锁时间表吗?
假设你有两个超参数,A和B。你的模型对A很敏感,但对b不敏感如果我们做一个3x3的网格搜索,我们只会计算3个不同的a值但如果我们进行随机搜索,我们可能会得到9个不同的a值,尽管有些值可能很接近。因此,我们有更好的机会为“a”找到一个好的价值。在机器学习中,我们经常有许多超参数。有些对结果有很大影响,有些则没有。所以随机搜索通常是更好的选择。
网格搜索和随机搜索很好,因为它很容易理解正在发生的事情。但是,它们仍然需要许多功能评估。他们也没有利用这一事实,因为我们评估了越来越多的超参数组合,我们了解这些价值观如何影响我们的结果。因此,您可以使用创建代理模型的技术 - 或者作为超级参数的函数的近似值。
贝叶斯优化是一种这样的技术。在这里,我们看到了运行的贝叶斯优化算法的一个例子,其中每个点对应于超级分数的不同组合。我们还可以看到算法的代理模型,这里显示为曲面,它使用它用于选择下一组的超参数。
关于贝叶斯优化的另一个非常酷的事情是它不只是看模型的准确性。它也可以考虑训练需要多长时间。可能存在一组超级参数,导致培训时间增加100个或更多的因素,如果我们试图达到截止日期,这可能不会那么伟大。您可以以多种方式配置贝叶斯优化,包括每秒预期的改进,这惩罚了预期的乘坐了很长时间才能训练。
现在,做封路计优化的主要原因是改善模型。并且,尽管我们可以做些其他事情来改进它,但我喜欢认为近似参数优化是一种低成本,高计算的方法。这与特征工程类似的东西相反,您可以在那里创建新功能的努力,但您需要更少的计算时间。它并不总是显而易见的是哪种活动将具有最大的影响,但是关于封锁多级优化的好处是它很好地归结为“过夜运行”,所以你可以在你的电脑工作时睡觉。
这是对超参数优化的快速解释。欲了解更多信息,请查看描述中的链接。
您还可以从以下列表中选择一个网站:
请选择表现最佳的中国网站(中文或英文)。MathWorks的其他国家网站并没有针对您所在位置的访问进行优化。