理解贝叶斯优化

1 总述

对于贝叶斯优化,总体可以分为两个部分,概率代理模型和采集函数。

2 概率代理模型和采集函数

概率代理模型:根据模型的参数个数是否固定可分为:参数模型和非参数模型。常见的参数模型有:贝塔-伯努利(Beta-Bernoulli)模型和线性(linear)模型。常见的非参数模型有高斯过程、随机森林等。本文介绍应用范围最广的高斯过程。
采集函数:主要根据后验概率代理模型,选择下一个具有潜力的评估点。

2.1 高斯过程

由于高斯过程的参数维度随着观测点的增加而增加,非固定,因此被归类为非参数模型(并非没有参数)。
高斯过程可以看成是一个函数,这个函数的输入是xt+1x_{t+1}xt+1​,函数的输出是在当前输入xt+1x_{t+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}\mathop \{y_{1},X_{1}\},\{y_{2},X_{2}\},\{y_{3},X_{3}\}{y1​,X1​},{y2​,X2​},{y3​,X3​}。其中X={x1,x2,...,xn}\mathop X = \{x_{1},x_{2},...,x_{n}\}X={x1​,x2​,...,xn​}。

  1. 更新概率代理模型,首先计算协方差矩阵
    K=[k(X1,X1)k(X1,X2)k(X1,X3)k(X2,X1)k(X2,X2)k(X2,X3)k(X3,X1)k(X3,X2)k(X3,X3)](1) K = \begin{bmatrix} k(X_{1},X_{1}) & k(X_{1},X_{2}) & k(X_{1},X_{3}) \\ k(X_{2},X_{1}) & k(X_{2},X_{2}) & k(X_{2},X_{3}) \\ k(X_{3},X_{1}) & k(X_{3},X_{2}) & k(X_{3},X_{3}) \end{bmatrix} \tag{1} 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)
    那么对于一个XX_{*}X∗​,我们想要得到其性能yy_{*}y∗​,需要更新协方差矩阵
    K=[KKTKK] K^{'} = \begin{bmatrix} K & K_{*}^{T}\\ K_{*} & K_{**} \end{bmatrix} K′=[KK∗​​K∗T​K∗∗​​]
    其中K=[k(X,X1)k(X,X2)k(X,X3)]\mathop K_{*} = \begin{bmatrix} k(X_{*},X_{1}) & k(X_{*},X_{2}) & k(X_{*},X_{3}) \end{bmatrix}K∗​=[k(X∗​,X1​)​k(X∗​,X2​)​k(X∗​,X3​)​], K=[k(X,X)]\mathop K_{**} = \begin{bmatrix} k(X_{*},X_{*}) \end{bmatrix}K∗∗​=[k(X∗​,X∗​)​],根据更新后的协方差矩阵,预测可能的yy_{*}y∗​值。根据贝叶斯定理,预测出yy_{*}y∗​最有可能的μ\mathop \muμ和σ2\mathop \sigma^{2}σ2:
    μ=KK1y\mathop \mu^{*}=K_{*}K^{-1}yμ∗=K∗​K−1y
    σ2=KKK1KT\mathop \sigma^{2}=K_{**}-K_{*}K^{-1}K_{*}^{T}σ2=K∗∗​−K∗​K−1K∗T​
    进而绘制出相应的置信区间,也即是y\mathop y^{*}y∗的后验概率为:
    PyD,x=N(μ,σ2)\mathop P(y^{*}|D,x^{*})=N(\mu, \sigma^{2})P(y∗∣D,x∗)=N(μ,σ2),D是已经发生的数据。至此得到概率代理模型。

  2. 依据概率代理模型,使用采集函数选取下一次的评估点,选取的原则主要有:
    Explore: 对于采集函数需要一方面尽可能的探测未知的空间(未评估过的参数组合),这样概率代理模型才能更加接近真实的未知函数。
    Exploit:在已有结果附近(一般是已有最大值附近)进行采样。

  3. 根据选取的评估点,量化其性能,得到一组新的训练数据。

  4. 根据新的训练数据,更新概率代理模型。进行新一轮的迭代。

4 遗留点

贝叶斯优化涉及到大量的统计概率方便的数学知识,需要进一步详细看,如在训练过程中,针对超参的优化策略和方法,这些都还没有一个具体的认知,以及采集函数随机采样后的具体的量化策略,也没有很好的认知。
岱宗夫如何,齐鲁青未了。
造化钟神秀,阴阳割昏晓。
荡胸生曾云,决眦入归鸟。
会当凌绝顶,一览众山小。

5 参考文章

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/
唐诗三百首

理解贝叶斯优化理解贝叶斯优化 闲华之谈 发布了1 篇原创文章 · 获赞 0 · 访问量 39 私信 关注
上一篇:TestNG 自动化测试入门教程--典型示例


下一篇:HMM基本算法