在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

貝葉斯優(yōu)化是干什么的(原理解讀)

新機器視覺 ? 來源:古月居 ? 2023-11-14 17:34 ? 次閱讀

希望這篇文章能夠讓你無痛理解貝葉斯優(yōu)化,記得點贊!

貝葉斯優(yōu)化什么

既然是優(yōu)化,就有優(yōu)化命題的存在,比如要在某個區(qū)間內去最大化某個函數

14e97cac-730c-11ee-939d-92fbcf53809c.png

如果這個函數計算比較容易,甚至還可以知道它的梯度,那事情就好辦了,一階、二階優(yōu)化算法換著上就完事。

https://zhuanlan.zhihu.com/p/169835477

但現(xiàn)實往往沒有那么理想,這個函數的一階、二階導數信息我們可能是沒有的,甚至計算一次函數的值都很費勁(給定一個x,計算f(x) 的計算量很大。

比如神經網絡中的超參數優(yōu)化),這時候就要求助 gradient-free 的優(yōu)化算法了,這類算法也很多了,貝葉斯優(yōu)化就屬于無梯度優(yōu)化算法中的一種,它希望在盡可能少的試驗情況下去盡可能獲得優(yōu)化命題的全局最優(yōu)解。

概述

由于我們要優(yōu)化的這個函數計算量太大,一個自然的想法就是用一個簡單點的模型來近似f(x),這個替代原始函數的模型也叫做代理模型,貝葉斯優(yōu)化中的代理模型為高斯過程,假設我們對待優(yōu)化函數的先驗(prior)為高斯過程,經過一定的試驗我們有了數據(也就是evidence),然后根據貝葉斯定理就可以得到這個函數的后驗分布。

有了這個后驗分布后,我們需要考慮下一次試驗點在哪里進一步收集數據,因此就會需要構造一個acquisition函數用于指導搜索方向(選擇下一個試驗點),然后再去進行試驗,得到數據后更新代理模型的后驗分布,反復進行。

綜上所述,貝葉斯優(yōu)化的流程為:

14f70b1a-730c-11ee-939d-92fbcf53809c.png

高斯過程

高斯過程是多元高斯分布向無窮維的擴展,如果說高斯分布是隨機變量的分布,則高斯過程是函數的分布,它可以由均值函數和協(xié)方差函數組成

14fb28b2-730c-11ee-939d-92fbcf53809c.png

150b1bfa-730c-11ee-939d-92fbcf53809c.png

這里的均值和協(xié)方差函數的推導和具體形式先省略不管,感興趣的可以看之前的博文,需要明確的是我們已經可以根據高斯過程的后驗分布對這個未知函數在任意位置的值做出預測,均值包括方差。

關于高斯過程的更多可見:

https://zhuanlan.zhihu.com/p/158720213

acquisition函數

Typically, acquisition functions are defined such that high acquisition corresponds to potentially high values of the objective function, whether because the prediction is high, the uncertainty is great, or both.

也就是說貝葉斯優(yōu)化選擇的搜索方向為預測值大的位置或者不確定性大的位置,這樣才有可能搜到目標函數的最優(yōu)解。

15115baa-730c-11ee-939d-92fbcf53809c.png

因此貝葉斯優(yōu)化中很多工作關注點在于acquisition函數的設計:

最大化提升概率

最容易想到的就是我希望下一次試驗的結果比當前所有觀測結果都要好

15152d66-730c-11ee-939d-92fbcf53809c.png

或者說這個新采樣的函數值更優(yōu)的概率要大

151fbee8-730c-11ee-939d-92fbcf53809c.png

但是光這樣考慮是有點目光短淺的,它忽略了對不確定性的考慮,一味追求選擇大概率肯定大于f(x)+的點,也就是一直在exploitation,這樣的缺點是可能就陷入了局部最優(yōu),忽略了潛在的最優(yōu)解。改進的方法也很簡單,加個偏置就可以了

15271c10-730c-11ee-939d-92fbcf53809c.png

15361058-730c-11ee-939d-92fbcf53809c.png

最大化提升量

提升的概率大并不意味著提升得多,一種量化的角度就是考慮提升量(可以不嚴謹地理解為梯度下降法中,不僅要下降,而且要下得更多一點)

154245da-730c-11ee-939d-92fbcf53809c.png

那么要求得下一次試驗點就可以最大化期望的提升量

155714f6-730c-11ee-939d-92fbcf53809c.png

由于代替模型為高斯過程,提升量Ι的似然滿足標準正態(tài)分布,進一步可以推導(不會推導想了解推導的再留言吧)得到

1564143a-730c-11ee-939d-92fbcf53809c.png

最大化置信上界

由于我們的代理模型是高斯過程,預測為分布,即有均值也有方差,那么就可以構造一個置信上界

156b40ac-730c-11ee-939d-92fbcf53809c.png

這樣的上界同時考慮了預測值的大小以及不確定性,高斯過程在觀測數據的位置不確定性(方差)小,在未探索區(qū)域的不確定大。

Talk is Cheap

讓我們來解讀一下源碼,一探究竟

首先定義個Bayesian_opt的類,其中的代理模型高斯過程從sklearn拉出來就好了

from sklearn.gaussian_process import GaussianProcessRegressor
self.GP = GaussianProcessRegressor(...)

定義acquisition function

def PI(x, gp, y_max, xi):
  mean, std = gp.predict(x, return_std=True)
  z = (mean - y_max - xi)/std
  return norm.cdf(z)
def EI(x, gp, y_max, xi):
  mean, std = gp.predict(x, return_std=True)
  a = (mean - y_max - xi)
  z = a / std
  return a * norm.cdf(z) + std * norm.pdf(z)
def UCB(x, gp, kappa):
  mean, std = gp.predict(x, return_std=True)
  return mean + kappa * std

尋找acquisition function最大的對應解,更精細化的可以去優(yōu)化一下,這里僅展示隨機采樣的方式。

def acq_max(ac, gp, y_max, bounds, random_state, n_warmup=10000):
  # 隨機采樣選擇最大值
  x_tries = np.random.RandomState(random_state).uniform(bounds[:, 0], bounds[:, 1],
                  size=(n_warmup, bounds.shape[0]))
  ys = ac(x_tries, gp=gp, y_max=y_max)
  x_max = x_tries[ys.argmax()]
  max_acq = ys.max()
  return x_max

主函數

while iteration < n_iter:
 ? ?# 更新高斯過程的后驗分布
 ? ?self.GP.fit(X, y)
 ? ?# 根據acquisition函數計算下一個試驗點
 ? ?suggestion = acq_max(
 ? ? ? ? ? ?ac=utility_function,
 ? ? ? ? ? ?gp=self.GP,
 ? ? ? ? ? ?y_max=y.max(),
 ? ? ? ? ? ?bounds=self.bounds,
 ? ? ? ? ? ?random_state=self.random_state
 ? ? ? ?)
 ? ?# 進行試驗(采樣),更新觀測點集合
 ? ?X.append(suggestion)
 ? ?y.append(target_func(suggestion))
 ? ?iteration += 1

編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4771

    瀏覽量

    100773
  • 函數
    +關注

    關注

    3

    文章

    4331

    瀏覽量

    62622
  • 貝葉斯
    +關注

    關注

    0

    文章

    77

    瀏覽量

    12567

原文標題:貝葉斯優(yōu)化(原理+代碼解讀)

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    LABVIEW里面做吉利時的源表的程序時用node是干什么的?node in和node out是干什么的

    LABVIEW里面做吉利時的源表的程序時用node是干什么的?node in和node out是干什么的
    發(fā)表于 12-11 21:08

    求大神告知這是干什么的

    我想知道這個主要是用來干什么的,然后通俗一點講是干什么的,然后有沒有人能做出它的編譯,或者能不能發(fā)一點類似的編譯,謝謝謝謝。
    發(fā)表于 11-13 19:39

    ar識別圖是干什么的

    `  誰知道ar識別圖是干什么的?`
    發(fā)表于 08-27 16:43

    覆銅板是干什么的

    `  誰來闡述一下覆銅板是干什么的?`
    發(fā)表于 01-07 15:18

    RTCALRMbits.AMASK是干什么的

    RTCALRMbits.AMASK是干什么的?有人能解釋一下我的選擇嗎?
    發(fā)表于 04-30 09:59

    對樸素算法的理解

    我對樸素算法的理解
    發(fā)表于 05-15 14:13

    請問抽樣定理是干什么的

    什么是卷積? 卷積有什么用? 什么是傅利葉變換? 什么是拉普拉變換?到底什么是頻率?什么是系統(tǒng)?抽樣定理是干什么的?傅立葉變換的復數 小波
    發(fā)表于 12-21 06:11

    伺服電機是用來干什么的

    伺服電機是用來干什么的?編碼器由哪些部分組成?工作原理是什么?
    發(fā)表于 09-28 07:20

    如何理解公式

    前言 大家經常看到的公式(Bayes)是寫成如下圖的形式,通常以P(A|B),P(B|A)的形式表示,雖然數學上看著簡單,那到底A,B是什么意思,應該怎么去理解呢,然后怎么運用于
    發(fā)表于 02-02 14:13 ?3921次閱讀
    如何<b class='flag-5'>理解</b><b class='flag-5'>貝</b><b class='flag-5'>葉</b><b class='flag-5'>斯</b>公式

    晶圓廠是干什么的

    本文開始介紹了晶圓廠是干什么的,其次分析了半導體晶圓廠是否有毒,最后介紹了晶圓廠面臨的新挑戰(zhàn)以及中國晶圓廠面臨的挑戰(zhàn)。
    的頭像 發(fā)表于 03-16 11:46 ?10.6w次閱讀

    統(tǒng)計的一個實踐案例讓你更快的對算法有更多的了解

    為了大家可以對算法有更多的了解,為大家整理過一篇關于算法的文章。今天將為大家介紹利用
    的頭像 發(fā)表于 07-16 17:15 ?1.5w次閱讀

    一文秒懂優(yōu)化/Bayesian Optimization

    今天想談的問題是:什么是優(yōu)化/Bayesian Optimization,基本用法是什么? 本文的定位是:幫助未接觸、僅聽說過、初次接觸
    的頭像 發(fā)表于 04-09 11:26 ?1.7w次閱讀
    一文秒懂<b class='flag-5'>貝</b><b class='flag-5'>葉</b><b class='flag-5'>斯</b><b class='flag-5'>優(yōu)化</b>/Bayesian Optimization

    簡述對公式的基本理解

    簡述對公式的基本理解
    發(fā)表于 10-18 10:01 ?0次下載

    云服務器是干什么的

     云服務器是干什么的?很多小白用戶會有疑惑,今天小編為您整理云服務器是干什么的相關資料,希望對您了解云服務器是干什么的有幫助。
    的頭像 發(fā)表于 02-18 09:58 ?1494次閱讀

    美國云服務器是干什么的

    對于美國服務器是干什么的,相信很多小白用戶不是非常了解,接下來小編就為您整理發(fā)布美國云服務器是干什么的相關資訊,希望對您有幫助。
    的頭像 發(fā)表于 02-19 09:53 ?445次閱讀
    主站蜘蛛池模板: tube性欧美另类| 天天综合网网欲色| 99久久网站| 狠狠干在线观看| 最新天堂网| 男人的天堂一区二区视频在线观看| 狠狠干一区| 欧美在线1| 五月天婷婷综合| 男人视频在线观看| 四虎影视最新地址| 免费观看a毛片一区二区不卡| 久久久久99精品成人片三人毛片| 久久成人性色生活片| 日本高清视频一区| 道区二区三区四区| 色色色色色色色色色色色色色色| 色中色综合| 看日本黄色大片| 日b毛片| 99热这里精品| 亚洲成a人v在线观看| 欧美整片第一页| 色综合色综合| 在线看片一区| 成人欧美精品大91在线| 狼色网| 欧美成人 一区二区三区| 欧美 变态 另类 人妖班| 亚洲光棍天堂| 麻豆美女大尺度啪啪| 国产精品久久久久影院免费| 午夜免费r级伦理片| 精品国产你懂的在线观看| www.夜夜骑| 亚洲美女激情视频| 久久香蕉国产线看观看精品yw| japan高清视频乱xxxxx| 在线观看日本亚洲一区| 免费公开视频人人人人人人人| 夜夜精品视频一区二区|