理解贝叶斯优化

1 总述

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

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

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

2.1 高斯过程

由于高斯过程的参数维度随着观测点的增加而增加,非固定,因此被归类为非参数模型(并非没有参数)。
高斯过程可以看成是一个函数,这个函数的输入是 x t + 1 x_{t+1} ,函数的输出是在当前输入 x t + 1 x_{t+1} 下的预测值在高斯分布下的均值和方差。

在训练中,主要涉及协方差矩阵的计算和超参数的优化。

2.2 采集函数

采集函数:对于采集函数需要一方面尽可能的探测未知的空间(未评估过的参数组合),这样概率代理模型才能更加接近真实的未知函数。另一方面,根据已经找到的最优值,加大在其周围搜索参数的力度,以期更加迅速的找到全局最优值。这两方面往往是矛盾的,需要在两者之间找到一个平衡点。常见的采集函数有三种:probability of improvenment(PI)、Expected improvement(EI)、Upper confidence bound(UCB)。

3 贝叶斯调参过程

问题简单描述:假设参数有n个,性能为y。贝叶斯初始需要输入一组观测点 { y 1 , X 1 } , { y 2 , X 2 } , { y 3 , X 3 } \mathop \{y_{1},X_{1}\},\{y_{2},X_{2}\},\{y_{3},X_{3}\} 。其中 X = { x 1 , x 2 , . . . , x n } \mathop X = \{x_{1},x_{2},...,x_{n}\}

  1. 更新概率代理模型,首先计算协方差矩阵
    K = [ 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 ) ] (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}
    那么对于一个 X X_{*} ,我们想要得到其性能 y y_{*} ,需要更新协方差矩阵
    K = [ K K T K K ] K^{'} = \begin{bmatrix} K & K_{*}^{T}\\ K_{*} & K_{**} \end{bmatrix}
    其中 K = [ k ( X , X 1 ) k ( X , X 2 ) k ( X , X 3 ) ] \mathop K_{*} = \begin{bmatrix} k(X_{*},X_{1}) & k(X_{*},X_{2}) & k(X_{*},X_{3}) \end{bmatrix} , K = [ k ( X , X ) ] \mathop K_{**} = \begin{bmatrix} k(X_{*},X_{*}) \end{bmatrix} ,根据更新后的协方差矩阵,预测可能的 y y_{*} 值。根据贝叶斯定理,预测出 y y_{*} 最有可能的 μ \mathop \mu σ 2 \mathop \sigma^{2} :
    μ = K K 1 y \mathop \mu^{*}=K_{*}K^{-1}y
    σ 2 = K K K 1 K T \mathop \sigma^{2}=K_{**}-K_{*}K^{-1}K_{*}^{T}
    进而绘制出相应的置信区间,也即是 y \mathop y^{*} 的后验概率为:
    P y D , x = N ( μ , σ 2 ) \mathop P(y^{*}|D,x^{*})=N(\mu, \sigma^{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 · 访问量 78

猜你喜欢

转载自blog.csdn.net/xiexiezhuanzhuan/article/details/103993227