[Bayesian] 「我是bayesian我怕誰」系列 - Gaussian Process

科班出身,貝葉斯護體,正本清源,故拿」九陽神功「自比,而非邪氣十足的」九陰真經「;html

如今看來,此前的八層功力都爲這第九層做基礎;git

本系列第九篇,助/祝你早日hold住神功第九重,加入血統純正的人工智能隊伍。github

9. [Bayesian] 「我是bayesian我怕誰」系列 - Gaussian Process
8. [Bayesian] 「我是bayesian我怕誰」系列 - Variational Autoencoders
7. [Bayesian] 「我是bayesian我怕誰」系列 - Boltzmann Distribution
6. [Bayesian] 「我是bayesian我怕誰」系列 - Markov and Hidden Markov Models
5. [Bayesian] 「我是bayesian我怕誰」系列 - Continuous Latent Variables
4. [Bayesian] 「我是bayesian我怕誰」系列 - Variational Inference
3. [Bayesian] 「我是bayesian我怕誰」系列 - Latent Variables
2. [Bayesian] 「我是bayesian我怕誰」系列 - Exact Inference
1. [Bayesian] 「我是bayesian我怕誰」系列 - Naive Bayes with Prior

 

小喇叭本系列文章乃自娛自樂,延緩腦細胞衰老;只「雪中送炭」,不提供」全套服務「。app


 

九陽神功第九章《Gaussian Processes for ML》機器學習

 

若是,非統計機器學習是入門,統計機器學習是進階,那麼「高斯過程」就算是機器學習的高級階段,能發paper。ide

國內相關的書,沒發現。(有數學系的同窗給推薦麼?)post

推薦相關的還算易懂的paper一篇: Generic Inference in Latent Gaussian Process Models學習

對高斯過程的瞭解過程當中,讓我深入的明白,要發國際paper的同窗都有着怎樣的學習生涯套路。字體

菜雞們來瞧瞧這位,Stanford cs231n 2016的lecturer,語速感人,成就經典。人工智能

血統純正的學習路線:

2011-2015: Stanford Computer Science Ph.D. student Deep Learning, Computer Vision, Natural Language Processing. Adviser: Fei-Fei Li. 
Summer 2011: Google Research Internship Large-Scale Unsupervised Deep Learning for Videos 
2009-2011: University of British Columbia: MSc Learning Controllers for Physically-simulated Figures. Adviser: Michiel van de Panne 
2005-2009: University of Toronto: BSc Double major in Computer Science and Physics 

 

請注意本科時期的double major,which幫助奠基大牛潛質。

學純數搞人工智能有點紙上談兵;

學計科搞人工智能有點後勁不足;

CS+Physics真乃絕配!

 

言歸正傳,基本上學習的路線是:GP for Regression, GP for Classification, Latent Gaussian Process Models

百度到的東西基本都是GP for Regression,可見廣大吃瓜羣衆基本停留在這套路線的初級階段,後二者確實須要功力,即便只知其一;不知其二也不便賣弄風騷。

 

此處一篇:淺談高斯過程迴歸 應該是根據youtube視頻課程所總結,寫得挺好。在此基礎上我將在此加一點補充,但願有助理解。

原本想把本身懂的這麼一點東西總結於此,但最近release了一門神課,很對味,故正在重點follow中。

 


 

高斯過程迴歸

  • 預測

這篇淺談高斯過程迴歸已經將(預測)基本計算過程展示了一遍,這裏就再也不贅述。讀完該連接後,拋出一個問題:

藍色字體的協方差值是如何給出的?怎麼定義會更好?

 

  • 模型的選擇

f是高斯,y也是高斯。根據二元高斯的條件分佈計算方法:[Bayes] Why we prefer Gaussian Distribution

直接求得p(f*|y) 【等價 p(f*|X, y, x*)】的預測公式以下:

常見的結論就是:這個預測結果(指望)是個「輸入的線性組合」,同時也是個「kernel的線性組合」。

 

如下求y的邊緣分佈:【過程略,較複雜】

常見的結論就是:這個能用於hyperparameter learning,也就是θ = {sigma, C}的學習,以下所示。

其實就是相關性的選擇問題,學習這個K內部的東西。爲什麼要計較這三部分?

想必也是個「權衡問題」,以下圖。

From: http://www.gaussianprocess.org/gpml/chapters/RW5.pdf

適當的選擇超參,能得到一個極大的marginal likelood。

這也叫作「model selection」。

 

 

高斯過程分類

參考「迴歸」,學習「分類」。

沒有了噪聲sigma的概念,f(y|f)變爲了sigmoid,故成了non-linear,p(f|X,y)成了惱人的non-gaussian。

那咱們就定一個高斯q(f|X,y)來近似p(f|X,y);天然而然引出Laplace Approximation【暫略】

 

一個思考的技巧:

計算時能夠暫且將f做爲迴歸中y的角色,那麼以下看去就將對應的迴歸結論中的噪聲sigma去掉便可。

但咱們終究仍是要p(f*|X, y, x*),也就是須要加入一個「f given y的關係」,便是上述說起的近似高斯技巧。

 

與「迴歸」對比,是否感受總有點複雜?爲何搞複雜了呢?

  • 一樣的已知:p(y|f), p(f|x) 但前者已不是高斯。怎麼辦?
  • 那就暫且無論y,計算仍是高斯的這部分,也就是截止到f的地方,這樣也就天然的利用了迴歸時的結論如上,獲得了p(f*|X,x*,f)
  • 而後,再考慮f-->y已再也不是高斯的問題,便天然地引入了p(f|X,y) <-- p(y|f), p(f|x)。

計算結果以下:

p(f*|X,y,x*) = N(f*| K(x*)TK-1b, K(x*,x*)-K(x*)T[K-1-K-1ΣK-1]K(x*))

 

  • 預測

接下來就是「預測」問題,一般有兩種策略:Average and MAP

可見雖然求出了f*,但依然沒法逃避「f* --> y*」這段non-gaussian的過程

此時,便天然而然得想到用mcmc去估計積分結果。

 

 

高斯過程隱變量

這一部分是超高級內容,只是簡單聊一聊,仰望一下。 

想一想PCA,隱變量的意義是壓縮,這裏將要說的隱變量,也就是inducing variables也是如此。

要計算這個東西,是O(N3),因此有必要想辦法減少計算量。

可採用decomposition的方法,例如使用inducing variables:u

以上即是緣由之一。下圖中的f之間用粗線表示「f之間是全鏈接」。

原理詳見原論文(上圖標題),以下來個例子瞧瞧。

至少咱們知道有了u,z這樣的概念,並且維度比N要低不少。

在Subset of Regressors (SR) approximation中,假設了covariance function:

與標準GP相比,看上去精簡了「相關性」的計算。將上式替代到標準GP迴歸時的結論便可獲得以下:

計算過程較複雜,其中會涉及到以下這個公式的運用 from Maxtrix Cookbook:

 

就到這裏,由於inducing variables的引入,展開了一大片坑,能夠閱讀該連接深刻了解:Generic Inference in Latent Gaussian Process Models

本篇寫得至關基礎, 大體寫個學習進階套路,一來確實須要至關的數學功底,二來更想花時間follow (STATS 385)

再次強調下,本系列不提供「全套服務」,只幫助整理下我的近期的知識體系,若有興趣,請點擊文章中說起的各個親測的高質量連接。

那麼,就到這裏吧。

 

相關連接:

Ref: http://www.cnblogs.com/hxsyl/p/5229746.html

Ref: https://zhuanlan.zhihu.com/p/24388992

Link: http://videolectures.net/gpip06_mackay_gpb/

GP效果:Classifier comparison

相關文章
相關標籤/搜索