<轉>淺談:高斯過程與貝葉斯優化


高斯過程(Gaussian process)

高斯過程常在論文里面簡寫為GP。定義:如果隨機過程的有限維分布均為正態分布,則稱此隨機過程為高斯過程或正態過程。

首先我們來解讀一下定義:

第一個問題:什么是隨機過程?

 

大家都學過概率論,一定知道什么叫樣本空間和隨機變量(此處假設讀者知道)。在概率論中,講過樣本空間,隨機變量相當於是在樣本空間中的一次采樣,采樣的結果是一個事件,在每次采樣的時候都滿足一定的分布。隨機過程和隨機變量的區別在於,樣本空間里裝的不是事件,裝的是過程(一串事件)。每次的采樣的結果是一個過程,比如一個序列,一個時間的函數等等。

 

樣本空間就是圖中藍紫色的部分,在藍紫色空間中隨便畫一條函數,都是一個可能的隨機過程。(這張圖是盜用的“阿米斯丹貓的博客”)

第二個問題:什么是“隨機過程的有限維分布均為正態分布”?

我們先來看一個隨機序列:這是一個有限維n的序列,我們可以理解為一個無窮維序列進行的n次采樣。在這里可以理解為時間,但是更准確的應該理解為一個連續的指標集。因為其一般性,就可以看成的有限維分布。

所以“隨機過程的有限維分布均為正態分布”就好理解了,即服從一個n元正太分布。

在機器學習任務中,我們往往是假設我們的問題滿足一個高斯過程的,或者通過核函數來“拓展”高斯過程對其他過程的表示能力。

 

貝葉斯優化(Bayesian Optimization)

貝葉斯優化的主要目的是與大部分機器學習算法類似,學習模型的表達形式 ,在一定范圍內求一個函數的最大(小)值。

這類往往很特殊:

1. 沒有解析表達或者形式未知,故而沒辦法用跟梯度有關的優化方法;

2. 值的確定會受到一些外界干預(如人的干預)。

貝葉斯優化算法核心步驟如下:

(1).通過樣本點對高斯過程 進行估計和更新。(后簡稱高斯過程)

(2).通過提取函數acquisition function)來指導新的采樣。(后簡稱提取函數)

 

高斯過程:假設我們需要估計的模型服從高斯過程,即:

這里的協方差矩陣要用到內積的核化,筆者理解為拓展了高斯過程表達其他過程的能力,畢竟在實際問題上直接假設一個過程服從高斯過程稍微有點牽強。

假設有一組樣本點

為了簡便推導,先假設數據提前被中心化,即,其中:

對於一個新樣本 ,由於新樣本的加入會更新高斯過程的協方差矩陣:

協方差矩陣更新過程如下:

有了更新后的協方差矩陣就可以通過前t個樣本估計出的后驗概率分布:

關於上述內容的推倒過程和核函數該如何選擇的問題,請參考《Gaussian Processesfor Machine Learning》。

 

 

提取函數:從上述高斯過程可以看出,通過采樣可以得到目標函數的概率描述。那么很自然地,我們希望通過采樣來精確這種描述。我們看論文的時候經常會在論述acquisition function 的地方看到兩種采樣思路,一種是explore和exploit:

Explore:探索新的空間,這種采樣有助於估計更准確的

Exploit:在已有結果附近(一般是已有最大值附近)進行采樣,從而希望找到更大的

acquisition function的目的就旨在平衡這兩種采樣過程。

 

 

這里舉一個不太恰當的栗子,對於一個吃貨,到一個陌生的城市去尋找美食,其實就是一個采樣再評價的過程。(顯然吃貨可以吃遍全城,但是受限於囊中羞澀,不得不考慮如何優化采樣)Exploit就是在曾經已經吃過的餐廳里,再細細品味尋找一個最優的;Explore就好像是尋找新的餐廳。acquisition function在這里的意義就在於尋找一個更加合理的策略去平衡這二者,給出一個下一次采樣的目標飯點。這個問題就是一個典型的沒有模型,而且采樣結果受外界干預(人的主觀評價)的例子。

回歸正題,在數據問題里,Explore是希望選擇有更大方差的數據,Exploit是希望選擇更接近均值的數據。
常見的方法有:
1. Expected Improvement

2. Upper Confidence Bound

下面一一介紹:

方法1:Expected Improvement(EI)

acquisition function:

這里的定義為數據集D上的最大值。上面的定義式子並不直觀,我們將其展開:

 

我們為了推導方便定義一個擾動參數:

 

其中是高斯分布的累計概率函數,是高斯分布的概率密度函數

所以:

方法2:Upper Confidence Bound(UCB)

相比於上面的EI而言,UCB則更加簡單粗暴,效果也十分不錯。

從式子可以看出來,UCB就是一個將Explore和Exploit進行了線性加權。

 

 

到此為止,我們解決了模型的估計,更新(高斯過程)和再采樣(提取函數)的過程。貝葉斯優化就是不斷地進行采樣,計算更新模型的過程。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM