超参数调节,在机器学习中是一个重要,但是又较为困难的环节,特别是当模型训练的时间成本以及算力成本较为高昂时,调参的难度也随之大大提升了。
除去较为依赖从业人员以及模型使用者先验知识的人工调参外,为了进行最佳超参数搜索,人们还会使用网格搜索(GridSearch)与随机搜索(RandomSearch)。前者是将所有的超参数组合一个个地毯式搜索,而后者则是在此基础上从“地毯式搜索”改为“随即搜索”,效能有了显著的提升。
但是,上面2者都是没有先验知识参与的,已经搜索过的参数没有对之后的参数搜索进行指导,而使用贝叶斯优化,则是会将历史搜索的记录用以作为先验知识来帮助判断下一步如何调参。
一、优化的难点以及解决方法
我们想要优化的目标是:找到一组最佳的超参X(注意此处的X不是数据集中的自变量),能够使得训练出来的模型的损失值Y(Y也不是因变量)最小。与正常的机器学习不同,这里的Y(损失值)与X(超参)本身的关系更为复杂,因为模型的结构本身是按照优化函数:f(自变量)来设计的,当我们将超参作为随机变量来看待时,这个函数便不一定是凸函数,不一定关于一、二阶可微,传统的梯度下降法不再适用,损失函数如同“黑箱”一般,难以优化。
为了解决这一难题,贝叶斯优化采取了这样的策略:
1、针对X与Y进行采样,并且根据采样对其建模获得一个“代理模型”,这一模型的作用是用以反映损失函数关于超参的函数的分布(你直观上可以把它当作是“函数本身和随机变量一样,也有一个分布”,但是更深的数学知识我还在思考)
2、使用采集函数,选择在“代理模型”中最好的点,将超参与损失函数加入到已知的X与Y中,进行下一轮采样与代理模型的建立。
为此,SMBO算法建立,以此在计算机上对模型使用贝叶斯优化。
二、高斯过程回归
本文介绍基于高斯过程回归的SMBO算法。
(此处参考了高斯过程回归 - 知乎)
高斯过程回归,是“代理模型”的一种,用以寻找到最优函数的“分布”。假定y=f(x)服从于均值为0的高斯过程,那么我们就只需要求得这个高斯过程的方差函数(由核函数决定)就行了。
对于服从于联合高斯分布的(x1,x2)而言,期望与方差为:
其后验分布为:
带入到高斯过程中,我们假设y服从高斯过程,将待测试点X*集合上的结果记录为f*(可以视为y*),有先验知识y,则

本文介绍使用贝叶斯优化进行机器学习模型超参数调节的方法。通过构建代理模型预测最佳参数组合,有效降低搜索空间,提高调参效率。
最低0.47元/天 解锁文章
238

被折叠的 条评论
为什么被折叠?



