转自:https://www.cnblogs.com/yangruiGB2312/p/9374377.html
一、简介
贝叶斯优化用于机器学习调参由J. Snoek(2012)提出,主要思想是,给定优化的目标函数(广义的函数,只需指定输入和输出即可,无需知道内部结构以及数学性质),通过不断地添加样本点来更新目标函数的后验分布(高斯过程,直到后验分布基本贴合于真实分布。简单的说,就是考虑了上一次参数的信息**,从而更好的调整当前的参数。
他与常规的网格搜索或者随机搜索的区别是:
- 贝叶斯调参采用高斯过程,考虑之前的参数信息,不断地更新先验;网格搜索未考虑之前的参数信息
- 贝叶斯调参迭代次数少,速度快;网格搜索速度慢,参数多时易导致维度爆炸
- 贝叶斯调参针对非凸问题依然稳健;网格搜索针对非凸问题易得到局部优最
二、理论
介绍贝叶斯优化调参,必须要从两个部分讲起:
- 高斯过程,用以拟合优化目标函数
- 贝叶斯优化,包括了“开采”和“勘探”,用以花最少的代价找到最优值
2.1 高斯过程
高斯过程可以用于非线性回归、非线性分类、参数寻优等等。以往的建模需要对 p(y|X)
建模,当用于预测时,则是
p(yN+1|XN+1)
而高斯过程则, 还考虑了 yN
和 yN+1
之间的关系,即:
p(yN+1|XN+1,yN)
高斯过程通过假设 Y
值服从联合正态分布,来考虑 yN 和 yN+1
之间的关系,因此需要给定参数包括:均值向量和协方差矩阵,即:
⎡⎣⎢⎢⎢y1y2...yn⎤⎦⎥⎥⎥∼N(0,⎡⎣⎢⎢⎢⎢k(x1,x1),k(x1,x2),...,k(x1,xn)k(x2,x1),k(x2,x2),...,k(x2,xn