1 总述
对于贝叶斯优化,总体可以分为两个部分,概率代理模型和采集函数。
2 概率代理模型和采集函数
概率代理模型:根据模型的参数个数是否固定可分为:参数模型和非参数模型。常见的参数模型有:贝塔-伯努利(Beta-Bernoulli)模型和线性(linear)模型。常见的非参数模型有高斯过程、随机森林等。本文介绍应用范围最广的高斯过程。
采集函数:主要根据后验概率代理模型,选择下一个具有潜力的评估点。
2.1 高斯过程
由于高斯过程的参数维度随着观测点的增加而增加,非固定,因此被归类为非参数模型(并非没有参数)。
高斯过程可以看成是一个函数,这个函数的输入是xt+1,函数的输出是在当前输入xt+1下的预测值在高斯分布下的均值和方差。
在训练中,主要涉及协方差矩阵的计算和超参数的优化。
2.2 采集函数
采集函数:对于采集函数需要一方面尽可能的探测未知的空间(未评估过的参数组合),这样概率代理模型才能更加接近真实的未知函数。另一方面,根据已经找到的最优值,加大在其周围搜索参数的力度,以期更加迅速的找到全局最优值。这两方面往往是矛盾的,需要在两者之间找到一个平衡点。常见的采集函数有三种:probability of improvenment(PI)、Expected improvement(EI)、Upper confidence bound(UCB)。
3 贝叶斯调参过程
问题简单描述:假设参数有n个,性能为y。贝叶斯初始需要输入一组观测点{y1,X1},{y2,X2},{y3,X3}。其中X={x1,x2,...,xn}。
-
更新概率代理模型,首先计算协方差矩阵
K=⎣⎡k(X1,X1)k(X2,X1)k(X3,X1)k(X1,X2)k(X2,X2)k(X3,X2)k(X1,X3)k(X2,X3)k(X3,X3)⎦⎤(1)
那么对于一个X∗,我们想要得到其性能y∗,需要更新协方差矩阵
K′=[KK∗K∗TK∗∗]
其中K∗=[k(X∗,X1)k(X∗,X2)k(X∗,X3)], K∗∗=[k(X∗,X∗)],根据更新后的协方差矩阵,预测可能的y∗值。根据贝叶斯定理,预测出y∗最有可能的μ和σ2:
μ∗=K∗K−1y
σ2=K∗∗−K∗K−1K∗T
进而绘制出相应的置信区间,也即是y∗的后验概率为:
P(y∗∣D,x∗)=N(μ,σ2),D是已经发生的数据。至此得到概率代理模型。 -
依据概率代理模型,使用采集函数选取下一次的评估点,选取的原则主要有:
Explore: 对于采集函数需要一方面尽可能的探测未知的空间(未评估过的参数组合),这样概率代理模型才能更加接近真实的未知函数。
Exploit:在已有结果附近(一般是已有最大值附近)进行采样。 -
根据选取的评估点,量化其性能,得到一组新的训练数据。
-
根据新的训练数据,更新概率代理模型。进行新一轮的迭代。
4 遗留点
贝叶斯优化涉及到大量的统计概率方便的数学知识,需要进一步详细看,如在训练过程中,针对超参的优化策略和方法,这些都还没有一个具体的认知,以及采集函数随机采样后的具体的量化策略,也没有很好的认知。
岱宗夫如何,齐鲁青未了。
造化钟神秀,阴阳割昏晓。
荡胸生曾云,决眦入归鸟。
会当凌绝顶,一览众山小。
5 参考文章
闲华之谈 发布了1 篇原创文章 · 获赞 0 · 访问量 39 私信 关注https://www.cnblogs.com/mmqm18/p/10863088.html
https://blog.csdn.net/a769096214/article/details/80920304
https://www.jiqizhixin.com/articles/2019-02-12-3
https://www.jianshu.com/p/d6c8ca915f69
https://www.jgoertler.com/visual-exploration-gaussian-processes/
唐诗三百首