贝叶斯优化-matlab

当我们遇到的一个最优化问题,但是目标函数不知道,或者说目标函数是类似于黑盒子,很难用数学公式/程序写出来时,此时想要求得目标函数的极值,可以使用贝叶斯优化,其主要的适用的情景是维数不超过20维,目标是一个具体的数值时。

 

这样的情景有很多,比如:我们想知道神经网络多少层、每层多少个节点时误差最小;支持向量机的数据集如何划分时交叉验证损失最小……这些就是超参数优化问题了。

 

贝叶斯优化的包在python、matlab(2016a之后)、c++都已经具备了。Python是比较好懂的,案例相对来说多一些,但是matlab的例子很少,这里主要针对matlab版本的贝叶斯优化来介绍。本篇针对使用方法来介绍,数学原理有机会再说吧。

 

在matlab中,贝叶斯优化函数是bayesopt。句法:

Results = bayesopt(fun, vars)

Results = bayesopt(fun, vars, Name, Value)

 

fun—目标函数

fun返回具有可调超参数来控制其训练的机器学习模型的损失度量,

你可能感兴趣的:(机器学习算法,贝叶斯优化,matlab,超参数搜索)