多元高斯分佈(三)——高斯過程

注意,本文內容來自於吳恩達老師cs229課堂筆記的中文翻譯項目:https://github.com/Kivy-CN/Stanford-CS-229-CN 中部分的內容進行翻譯學習。html

高斯過程

介紹

咱們在本課程上半部分討論的許多經典機器學習算法都符合如下模式:給定一組從未知分佈中採樣的獨立同分布的示例訓練樣本集:git

  1. 求解一個凸優化問題,以肯定數據單一的「最佳擬合」模型,並
  2. 使用這個估計模型對將來的測試輸入點作出「最佳猜想」的預測。

在本節的筆記中,咱們將討論一種不一樣的學習算法,稱爲貝葉斯方法。 與經典的學習算法不一樣,貝葉斯算法並不試圖識別數據的「最佳匹配」模型(或者相似地,對新的測試輸入作出「最佳猜想」的預測)。相反,其計算模型上的後驗分佈(或者相似地,計算新的輸出的測試數據的後驗預測分佈)。這些分佈提供了一種有用的方法來量化模型估計中的不肯定性,並利用咱們對這種不肯定性的知識來對新的測試點作出更可靠的預測。github

咱們來關注下迴歸問題,即:目標是學習從某個 n n 維向量的輸入空間 X = R n \mathcal{X} = R^n 到實值目標的輸出空間 Y = R \mathcal{Y} = R 的映射。特別地,咱們將討論一個基於核的徹底貝葉斯迴歸算法,稱爲高斯過程迴歸。本節的筆記中涉及的內容主要包括咱們以前在課堂上討論過的許多不一樣主題(即線性迴歸 1 ^1 的機率解釋、貝葉斯方法 2 ^2 、核方法 3 ^3 和多元高斯 4 ^4 的性質)。web

1 參見「監督學習,判別算法」課程講義。算法

2 參見「正則化和模型選擇」課程講義。app

3 參見「支持向量機」課程講義。框架

4 參見「因子分析」課程講義。機器學習

本節的筆記後續內容的組織以下。在第1小節中,咱們簡要回顧了多元高斯分佈及其性質。在第2小節中,咱們簡要回顧了貝葉斯方法在機率線性迴歸中的應用。第3小節給出了高斯過程的中心思想,第4小節給出了完整的高斯過程迴歸模型。ide

1. 多元高斯分佈

咱們稱一個機率密度函數是一個均值爲 μ R n \mu\in R^n ,協方差矩陣爲 Σ S + + n \Sigma\in S_{++}^n 的一個多元正態分佈(或高斯分佈)(multivariate normal (or Gaussian) distribution), 其隨機變量是向量值 x R n x\in R^n ,該機率密度函數能夠經過下式表達:svg

p ( x ; μ , Σ ) = 1 ( 2 π ) n / 2 Σ 1 / 2 exp ( 1 2 ( x μ ) T Σ 1 ( x μ ) ) ( 1 ) p(x;\mu,\Sigma)=\frac{1}{(2\pi)^{n/2}|\Sigma|^{1/2}} \exp\left(-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)\right)\qquad\qquad(1)

咱們能夠寫做 x N ( μ , Σ ) x\sim\mathcal{N}(\mu,\Sigma) 。這裏,回想一下線性代數的筆記中 S + + n S_{++}^n 指的是對稱正定 n × n n\times n 矩陣 5 ^5 的空間。

5 實際上,在某些狀況下,咱們須要處理的多元高斯分佈的 Σ \Sigma 是正半定而非正定(即, Σ \Sigma 不滿秩)。在這種狀況下, Σ 1 \Sigma^{-1} 不存在,因此 ( 1 ) (1) 式中給出的高斯機率密度函數的定義並不適用。例子能夠參閱「因子分析」課程講義。

通常來講,高斯隨機變量在機器學習和統計中很是有用,主要有兩個緣由。首先,它們在統計算法中建模「噪聲」時很是常見。一般,噪聲能夠被認爲是影響測量過程的大量獨立的小隨機擾動的累積;根據中心極限定理,獨立隨機變量的和趨於高斯分佈。其次,高斯隨機變量對於許多分析操做都很方便,由於許多涉及高斯分佈的積分實際上都有簡單的閉式解。在本小節的其他部分,咱們將回顧多元高斯分佈的一些有用性質。

給定隨機向量 x R n x \in R^{n} 服從多元高斯分佈 x N ( μ , Σ ) x\sim\mathcal{N}(\mu,\Sigma) 。假設 x x 中的變量被分紅兩個集合 x A = [ x 1 x r ] T R r x_{A}=\left[x_{1} \cdots x_{r}\right]^{T} \in R^{r} x B = [ x r + 1 x n ] T R n r x_{B}=\left[x_{r+1} \cdots x_{n}\right]^{T} \in R^{n-r} (對於 μ \mu Σ \Sigma 也進行一樣的拆分),則有:

x = [ x A x B ] μ = [ μ A μ B ] Σ = [ A A A B Σ B A Σ B B ] x=\left[ \begin{array}{c}{x_{A}} \\ {x_{B}}\end{array}\right] \qquad \mu=\left[ \begin{array}{c}{\mu_{A}} \\ {\mu_{B}}\end{array}\right] \qquad \Sigma=\left[ \begin{array}{cc}{\sum_{A A}} & {\sum_{A B}} \\ {\Sigma_{B A}} & {\Sigma_{B B}}\end{array}\right]

由於 Σ = E [ ( x μ ) ( x μ ) T ] = Σ T \Sigma=E\left[(x-\mu)(x-\mu)^{T}\right]=\Sigma^{T} ,因此上式中有 Σ A B = Σ B A T \Sigma_{A B}=\Sigma_{B A}^{T} 。下列性質適用:

  1. 規範性。 機率密度函數的歸一化,即:

x p ( x ; μ , Σ ) d x = 1 \int_{x} p(x ; \mu, \Sigma) dx = 1

這個特性乍一看彷佛微不足道,但實際上對於計算各類積分很是有用,即便是那些看起來與機率分佈徹底無關的積分(參見附錄A.1)!

  1. 邊緣性。 邊緣機率密度函數:

p ( x A ) = x B p ( x A , x B ; μ , Σ ) d x B p ( x B ) = x A p ( x A , x B ; μ , Σ ) d x A \begin{aligned} p\left(x_{A}\right) &=\int_{x_{B}} p\left(x_{A} , x_{B} ; \mu, \Sigma\right) d x_{B} \\ p\left(x_{B}\right) &=\int_{x_{A}} p\left(x_{A}, x_{B} ; \mu,\Sigma\right) d x_{A} \end{aligned}

是高斯分佈:

x A N ( μ A , Σ A A ) x B N ( μ B , Σ B B ) \begin{aligned} x_{A} & \sim \mathcal{N}\left(\mu_{A}, \Sigma_{A A}\right) \\ x_{B} & \sim \mathcal{N}\left(\mu_{B}, \Sigma_{B B}\right) \end{aligned}

  1. 條件性。 條件機率密度函數:

p ( x A x B ) = p ( x A , x B ; μ , Σ ) x A p ( x A , x B ; μ , Σ ) d x A p ( x B x A ) = p ( x A , x B ; μ , Σ ) x B p ( x A , x B ; μ , Σ ) d x B \begin{aligned} p\left(x_{A} | x_{B}\right) &=\frac{p\left(x_{A}, x_{B} ; \mu, \Sigma\right)}{\int_{x_{A}} p\left(x_{A}, x_{B} ; \mu, \Sigma\right) d x_{A}} \\ p\left(x_{B} | x_{A}\right) &=\frac{p\left(x_{A}, x_{B} ; \mu, \Sigma\right)}{\int_{x_{B}} p\left(x_{A}, x_{B} ; \mu, \Sigma\right) d x_{B}} \end{aligned}

是高斯分佈:

x A x B N ( μ A + Σ A B Σ B B 1 ( x B μ B ) , Σ A A Σ A B Σ B B 1 Σ B A ) x B x A N ( μ B + Σ B A Σ A A 1 ( x A μ A ) , Σ B B Σ B A Σ A A 1 Σ A B ) x_{A} | x_{B} \sim \mathcal{N}\left(\mu_{A}+\Sigma_{A B} \Sigma_{B B}^{-1}\left(x_{B}-\mu_{B}\right), \Sigma_{A A}-\Sigma_{A B} \Sigma_{B B}^{-1} \Sigma_{B A}\right) \\ x_{B} | x_{A} \sim \mathcal{N}\left(\mu_{B}+\Sigma_{B A} \Sigma_{A A}^{-1}\left(x_{A}-\mu_{A}\right), \Sigma_{B B}-\Sigma_{B A} \Sigma_{A A}^{-1} \Sigma_{A B}\right)

附錄A.2給出了這一性質的證實。(參見附錄A.3的更簡單的派生版本。)

  1. 求和性。 (相同維數的)獨立高斯隨機變量 y N ( μ , Σ ) y \sim \mathcal{N}(\mu, \Sigma) z N ( μ , Σ ) z \sim \mathcal{N}\left(\mu^{\prime}, \Sigma^{\prime}\right) 之和一樣是高斯分佈:

y + z N ( μ + μ , Σ + Σ ) y+z \sim \mathcal{N}\left(\mu+\mu^{\prime}, \Sigma+\Sigma^{\prime}\right)

2. 貝葉斯線性迴歸

S = { ( x ( i ) , y ( i ) ) } i = 1 m S=\left\{\left(x^{(i)}, y^{(i)}\right)\right\}_{i=1}^{m} 是一組來自未知分佈的知足獨立同分布的訓練集。線性迴歸的標準機率解釋的公式說明了這一點:

y ( i ) = θ T x ( i ) + ε ( i ) , i = 1 , , m y^{(i)}=\theta^{T} x^{(i)}+\varepsilon^{(i)}, \quad i=1, \dots, m

其中 ε ( i ) \varepsilon^{(i)} 是獨立同分布的「噪聲」變量而且服從分佈 N ( 0 , Σ 2 ) \mathcal{N}(0,\Sigma^2) ,因而可知 y ( i ) θ T x ( i ) N ( 0 , σ 2 ) y^{(i)}-\theta^{T} x^{(i)} \sim \mathcal{N}\left(0, \sigma^{2}\right) ,或等價表示爲:

P ( y ( i ) x ( i ) , θ ) = 1 2 π σ exp ( ( y ( i ) θ T x ( i ) ) 2 2 σ 2 ) P\left(y^{(i)} | x^{(i)}, \theta\right)=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{\left(y^{(i)}-\theta^{T} x^{(i)}\right)^{2}}{2 \sigma^{2}}\right)

爲了方便標記,咱們定義了:

X = [ ( x ( 1 ) ) T ( x ( 2 ) ) T ( x ( m ) ) T ] R m × n y = [ y ( 1 ) y ( 2 ) y ( m ) ] R m ε = [ ε ( 1 ) ε ( 2 ) ε ( m ) ] R m X=\left[ \begin{array}{c}{-\left(x^{(1)}\right)^{T}-} \\ {-\left(x^{(2)}\right)^{T}-} \\ {\vdots} \\ {-\left(x^{(m)}\right)^{T}-}\end{array}\right] \in \mathbf{R}^{m \times n} \qquad \vec{y}=\left[ \begin{array}{c}{y^{(1)}} \\ {y^{(2)}} \\ {\vdots} \\ {y^{(m)}}\end{array}\right] \in \mathbf{R}^{m} \qquad \overrightarrow{\varepsilon}=\left[ \begin{array}{c}{\varepsilon^{(1)}} \\ {\varepsilon^{(2)}} \\ {\vdots} \\ {\varepsilon^{(m)}}\end{array}\right] \in \mathbf{R}^{m}

在貝葉斯線性迴歸中,咱們假設參數的先驗分佈也是給定的;例如,一個典型的選擇是 θ N ( 0 , τ 2 I ) \theta \sim \mathcal{N}\left(0, \tau^{2} I\right) 。使用貝葉斯規則能夠獲得後驗參數:

p ( θ S ) = p ( θ ) p ( S θ ) θ p ( θ ) p ( S θ ) d θ = p ( θ ) i = 1 m p ( y ( i ) x ( i ) , θ ) θ p ( θ ) i = 1 m p ( y ( i ) x ( i ) , θ ) d θ ( 2 ) p(\theta | S)=\frac{p(\theta) p(S | \theta)}{\int_{\theta^{\prime}} p\left(\theta^{\prime}\right) p\left(S | \theta^{\prime}\right) d \theta^{\prime}}=\frac{p(\theta) \prod_{i=1}^{m} p\left(y^{(i)} | x^{(i)}, \theta\right)}{\int_{\theta^{\prime}} p\left(\theta^{\prime}\right) \prod_{i=1}^{m} p\left(y^{(i)} | x^{(i)}, \theta^{\prime}\right) d \theta^{\prime}}\qquad\qquad(2)

假設測試點上的噪聲模型與咱們的訓練點上的噪聲模型相同,那麼貝葉斯線性迴歸在一個新的測試點 x x_* 上的「輸出」不僅是一個猜想 y y_* ,而多是輸出的整個機率分佈,稱爲後驗預測分佈:

p ( y x , S ) = θ p ( y x , θ ) p ( θ S ) d θ ( 3 ) p\left(y_{*} | x_{*}, S\right)=\int_{\theta} p\left(y_{*} | x_{*}, \theta\right) p(\theta | S) d \theta \qquad\qquad(3)

對於許多類型的模型, ( 2 ) (2) ( 3 ) (3) 中的積分是很難計算的,所以,咱們常用近似的方法,例如MAP估計(參見正則化和模型選擇的課程講義)。

然而,在貝葉斯線性迴歸的狀況下,積分其實是可處理的!特別是對於貝葉斯線性迴歸,(在作了大量工做以後!)咱們能夠證實:

θ S N ( 1 σ 2 A 1 X T y , A 1 ) y x , S N ( 1 σ 2 x T A 1 X T y , x T A 1 x + σ 2 ) \theta | S \sim \mathcal{N}\left(\frac{1}{\sigma^{2}} A^{-1} X^{T} \vec{y}, A^{-1}\right) \\ y_{*} | x_{*}, S \sim \mathcal{N}\left(\frac{1}{\sigma^{2}} x_{*}^{T} A^{-1} X^{T} \vec{y}, x_{*}^{T} A^{-1} x_{*}+\sigma^{2}\right)

其中 A = 1 σ 2 X T X + 1 τ 2 I A=\frac{1}{\sigma^{2}} X^{T} X+\frac{1}{\tau^{2}} I 。這些公式的推導有點複雜。 6 ^6 可是從這些方程中,咱們至少能夠大體瞭解貝葉斯方法的含義:對於測試輸入 x x_* ,測試輸出 y y_* 的後驗分佈是高斯分佈——這個分佈反映了在咱們預測 y = θ T x + ε y_{*}=\theta^{T} x_{*}+\varepsilon_{*} 時,由 ϵ \epsilon_* 的隨機性以及咱們選擇參數 θ \theta 的不肯定而致使預測結果的不肯定性。相反,古典機率線性迴歸模型直接從訓練數據估計參數 θ \theta ,但沒有提供估計這些參數的可靠性(參見圖1)。

6 有關完整的推導,能夠參考[1]注:參考資料[1]見文章最下方。或者參考附錄,其中給出了一些基於平方補全技巧的參數,請本身推導這個公式!
在這裏插入圖片描述

圖1:一維線性迴歸問題的貝葉斯線性迴歸 y ( i ) = θ x ( i ) + ϵ ( i ) y^{(i)}=\theta x^{(i)}+\epsilon^{(i)} ,其中噪音獨立同分布的服從 ϵ ( i ) N ( 0 , 1 ) \epsilon^{(i)}\sim \mathcal{N}(0,1) 。綠色區域表示模型預測的 95 % 95\% 置信區間。注意,綠色區域的(垂直)寬度在末端最大,但在中部最窄。這個區域反映了參數 θ \theta 估計的不肯定性。與之相反,經典線性迴歸模型會顯示一個等寬的置信區域,在輸出中只反映噪聲服從 N ( 0 , σ 2 ) \mathcal{N}(0,\sigma^2)

3. 高斯過程

如第 1 1 節所述,多元高斯分佈因爲其良好的分析性質,對於實值變量的有限集合建模是有用的。高斯過程是多元高斯函數的推廣,適用於無窮大小的實值變量集合。特別地,這個擴展將容許咱們把高斯過程看做不只僅是隨機向量上的分佈,而其實是隨機函數上的分佈。

7 令 H \mathcal{H} 是一類 X Y \mathcal{X}\rightarrow\mathcal{Y} 的函數映射。一個來自 H \mathcal{H} 的隨機函數 f ( ) f(\cdot) 表明根據 H \mathcal{H} 的機率分佈隨機從 H \mathcal{H} 中選擇一個函數。一個潛在的困惑是:你可能傾向於認爲隨機函數的輸出在某種程度上是隨機的;事實並不是如此。一個隨機函數 f ( ) f(\cdot) ,一旦有機率的從 H \mathcal{H} 中選擇,則表示從輸入 X \mathcal{X} 到輸出 Y \mathcal{Y} 的肯定性映射。

3.1 有限域函數上的機率分佈

要了解如何對函數上的機率分佈進行參數化,請考慮下面的簡單示例。設 X = { x 1 , , x m } \mathcal{X}=\left\{x_{1}, \dots, x_{m}\right\} 爲任何有限元素集。如今,考慮集合 H \mathcal{H} ,該集合表明全部可能的從 X \mathcal{X} R R 的函數映射。例如,能夠給出以下的函數 f 0 ( ) H f_0(\cdot)\in\mathcal{H} 的例子:

f 0 ( x 1 ) = 5 , f 0 ( x 2 ) = 2.3 , f 0 ( x 2 ) = 7 , , f 0 ( x m 1 ) = π , f 0 ( x m ) = 8 f_{0}\left(x_{1}\right)=5, \quad f_{0}\left(x_{2}\right)=2.3, \quad f_{0}\left(x_{2}\right)=-7, \quad \ldots, \quad f_{0}\left(x_{m-1}\right)=-\pi, \quad f_{0}\left(x_{m}\right)=8

由於任意函數 f ( ) H f(\cdot) \in \mathcal{H} 的定義域僅有 m m 個元素,因此咱們能夠簡介的使用 m m 維向量 f = [ f ( x 1 ) f ( x 2 ) f ( x m ) ] T \vec{f}=\left[f\left(x_{1}\right) \quad f\left(x_{2}\right) \quad \cdots \quad f\left(x_{m}\right)\right]^{T} 表達 f ( ) f(\cdot) 。爲了指定函數 f ( ) H f(\cdot) \in \mathcal{H} 上的機率分佈,咱們必須把一些「機率密度」與 H \mathcal{H} 中的每一個函數聯繫起來。一種天然的方法是利用函數 f ( ) H f(\cdot) \in \mathcal{H} 和他們的向量表示 f \vec{f} 之間的一一對應關係。特別是,若是咱們指定 f N ( μ , σ 2 I ) \vec{f} \sim \mathcal{N}\left(\overrightarrow{\mu}, \sigma^{2} I\right) ,則意味着函數 f ( ) f(\cdot) 上的機率分佈,其中函數 f ( ) f(\cdot) 的機率密度函數能夠經過下面的式子給出:

p ( h ) = i = 1 m 1 2 π σ exp ( 1 2 σ 2 ( f ( x i ) μ i ) 2 ) p(h)=\prod_{i=1}^{m} \frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{1}{2 \sigma^{2}}\left(f\left(x_{i}\right)-\mu_{i}\right)^{2}\right)

在上面的例子中,咱們證實了有限域函數上的機率分佈能夠用函數輸出 f ( x 1 ) , , f ( x m ) f\left(x_{1}\right), \ldots, f\left(x_{m}\right) 的有限數量的輸入點 x 1 , , x m x_{1}, \dots, x_{m} 上的有限維多元高斯分佈來表示。當定義域的大小多是無窮大時,咱們如何指定函數上的機率分佈?爲此,咱們轉向一種更奇特的機率分佈類型,稱爲高斯過程。

3.2 無限域函數上的機率分佈

隨機過程是隨機變量的集合 { f ( x ) : x X } \{f(x) : x \in \mathcal{X}\} ,其來自某個集合 X \mathcal{X} 的元素索引,稱爲索引集。 8 ^8 高斯過程是一個隨機過程,任何有限子集合的隨機變量都有一個多元高斯分佈。

8 一般,當 X = R \mathcal{X} = R 時,能夠將標識符 x X x\in \mathcal{X} 解釋爲表示時間,所以變量 f ( x ) f(x) 表示隨時間的隨機量的時間演化。然而,在高斯過程迴歸模型中,將標識符集做爲迴歸問題的輸入空間。

特別是一組隨機變量集合 { f ( x ) : x X } \{f(x) : x \in \mathcal{X}\} 被稱爲來自於一個具備平均函數 m ( ) m(\cdot) 協方差函數 k ( , ) k(\cdot, \cdot) 的高斯過程,知足對於任意元素是 x 1 , , x m X x_{1}, \ldots, x_{m} \in \mathcal{X} 有限集合,相關的有限隨機變量集 f ( x 1 ) , , f ( x m ) f\left(x_{1}\right), \ldots, f\left(x_{m}\right) 具備以下分佈:

[ f ( x 1 ) f ( x m ) ] N ( [ m ( x 1 ) m ( x m ) ] , [ k ( x 1 , x 1 ) k ( x 1 , x m ) k ( x m , x 1 ) k ( x m , x m ) ] ) \left[ \begin{array}{c}{f\left(x_{1}\right)} \\ {\vdots} \\ {f\left(x_{m}\right)}\end{array}\right]\sim \mathcal{N}\left(\left[ \begin{array}{c}{m\left(x_{1}\right)} \\ {\vdots} \\ {m\left(x_{m}\right)}\end{array}\right], \left[ \begin{array}{ccc}{k\left(x_{1}, x_{1}\right)} & {\cdots} & {k\left(x_{1}, x_{m}\right)} \\ {\vdots} & {\ddots} & {\vdots} \\ {k\left(x_{m}, x_{1}\right)} & {\cdots} & {k\left(x_{m}, x_{m}\right)}\end{array}\right]\right)

咱們用下面的符號來表示:

f ( ) G P ( m ( ) , k ( , ) ) f(\cdot) \sim \mathcal{G P}(m(\cdot), k(\cdot, \cdot))

注意,均值函數和協方差函數的名稱很恰當,由於上述性質意味着:

m ( x ) = E [ x ] k ( x , x ) = E [ ( x m ( x ) ) ( x m ( x ) ) \begin{aligned} m(x) &=E[x] \\ k\left(x, x^{\prime}\right) &=E\left[(x-m(x))\left(x^{\prime}-m\left(x^{\prime}\right)\right)\right.\end{aligned}

對於任意 x , x X x,x'\in\mathcal{X}

直觀地說,咱們能夠把從高斯過程當中獲得的函數 f ( ) f(\cdot) 看做是由高維多元高斯函數獲得的高維向量。這裏,高斯函數的每一個維數對應於標識符集合 X \mathcal{X} 中的一個元素 x x ,隨機向量的對應份量表示 f ( x ) f(x) 的值。利用多元高斯函數的邊緣性,咱們能夠獲得任意有限子集合所對應的多元高斯函數的邊緣機率密度函數。

什麼樣的函數 m ( ) m(\cdot) k ( , ) k(\cdot,\cdot) 才能產生有效的高斯過程呢?通常狀況下,任何實值函數 m ( ) m(\cdot) 都是能夠接受的,可是對於 k ( , ) k(\cdot,\cdot) ,對於任何一組元素 x 1 , , x m X x_{1}, \ldots, x_{m} \in \mathcal{X} 都必須是能夠接受的,結果矩陣以下:

K = [ k ( x 1 , x 1 ) k ( x 1 , x m ) k ( x m , x 1 ) k ( x m , x m ) ] K=\left[ \begin{array}{ccc}{k\left(x_{1}, x_{1}\right)} & {\cdots} & {k\left(x_{1}, x_{m}\right)} \\ {\vdots} & {\ddots} & {\vdots} \\ {k\left(x_{m}, x_{1}\right)} & {\cdots} & {k\left(x_{m}, x_{m}\right)}\end{array}\right]

是一個有效的協方差矩陣,對應於某個多元高斯分佈。機率論中的一個標準結果代表,若是 K K 是正半定的,這是正確的。聽起來是否是很熟悉?

基於任意輸入點計算協方差矩陣的正半定條件,實際上與核的Mercer條件相同!函數 k ( , ) k(\cdot,\cdot) 是一個有效的核,前提是對於任意一組輸入點 x 1 , , x m X x_{1}, \ldots, x_{m} \in \mathcal{X} ,所以,任何有效的核函數均可以用做協方差函數,這就是基於核的機率分佈。

3.3 平方指數核

在這裏插入圖片描述

圖2:樣原本自於一個零均值高斯過程,以 k S E ( , ) k_{S E}(\cdot, \cdot) 爲先驗協方差函數。使用(a) τ = 0.5 , \tau=0.5, (b) τ = 2 , \tau=2, and ( c ) τ = 10 (\mathrm{c}) \tau=10 。注意,隨着帶寬參數 τ \tau 的增長,而後點比之前更遠會有較高的相關性,所以採樣函數每每總體是流暢的。

爲了直觀地瞭解高斯過程是如何工做的,考慮一個簡單的零均值高斯過程:

f ( ) G P ( 0 , k ( , ) ) f(\cdot) \sim \mathcal{G P}(0, k(\cdot, \cdot))

定義一些函數 h : X R h:\mathcal{X}\rightarrow R ,其中 X = R \mathcal{X}=R 。這裏,咱們選擇核函數 做爲平方指數 9 ^9 核函數,定義以下:

9 在支持向量機的背景下,咱們稱之爲高斯核;爲了不與高斯過程混淆,咱們將這個核稱爲平方指數核,儘管這兩個核在形式上是相同的。

k S E ( x , x ) = exp ( 1 2 τ 2 x x 2 ) k_{S E}\left(x, x^{\prime}\right)=\exp \left(-\frac{1}{2 \tau^{2}}\left\|x-x^{\prime}\right\|^{2}\right)

對於一些 τ > 0 \tau> 0 。從這個高斯過程當中採樣的隨機函數是什麼樣的?

在咱們的例子中,因爲咱們使用的是一個零均值高斯過程,咱們指望高斯過程當中的函數值會趨向於分佈在零附近。此外,對於任意一對元素 x , x X x, x^{\prime} \in \mathcal{X}

  • f ( x ) f(x) f ( x ) f(x') 將趨向於有高協方差 x x x x' 在輸入空間「附近」(即: x x = x x 0 , \left\|x-x^{\prime}\right\|=\left|x-x^{\prime}\right| \approx 0, 所以 exp ( 1 2 τ 2 x x 2 ) 1 \exp \left(-\frac{1}{2 \tau^{2}}\left\|x-x^{\prime}\right\|^{2}\right) \approx 1
  • x x x x' 相距很遠時, f ( x ) f(x) f ( x ) f(x') 的協方差很低(即: x x 0 , \left\|x-x^{\prime}\right\| \gg 0, 所以 exp ( 1 2 τ 2 x x 2 ) 0 \exp \left(-\frac{1}{2 \tau^{2}}\left\|x-x^{\prime}\right\|^{2}\right) \approx 0

更簡單地說,從一個零均值高斯過程當中獲得的函數具備平方指數核,它將趨向於局部光滑,具備很高的機率;即:附近的函數值高度相關,而且在輸入空間中相關性做爲距離的函數遞減(參見圖2)。

4. 高斯過程迴歸

正如上一節所討論的,高斯過程爲函數上的機率分佈提供了一種建模方法。在這裏,咱們討論瞭如何在貝葉斯迴歸的框架下使用函數上的機率分佈。

4.1 高斯過程迴歸模型

在這裏插入圖片描述

圖3:高斯過程迴歸使用一個零均值高斯先驗過程,以 k S E ( , ) k_{S E}(\cdot, \cdot) 爲協方差函數(其中 τ = 0.1 \tau=0.1 ),其中噪聲等級爲 σ = 1 \sigma=1 以及 ( a ) m = 10 , ( b ) m = 20 ( c ) m = 40 (a)m=10,(b) m=20,(c)m=40 訓練樣本。藍線表示後驗預測分佈的均值,綠色陰影區域表示基於模型方差估計的 95 95% 置信區間。隨着訓練實例數量的增長,置信區域的大小會縮小,以反映模型估計中不肯定性的減小。還請注意,在圖像 ( a ) (a) 中, 95 95% 置信區間在訓練點附近縮小,但在遠離訓練點的地方要大得多,正如人們所指望的那樣。

S = { ( x ( i ) , y ( i ) ) } i = 1 m S=\left\{\left(x^{(i)}, y^{(i)}\right)\right\}_{i=1}^{m} 是一組來自未知分佈的知足獨立同分布的訓練集。在高斯過程迴歸模型中公式說明了這一點:

y ( i ) = f ( x ( i ) ) + ε ( i ) , i = 1 , , m y^{(i)}=f\left(x^{(i)}\right)+\varepsilon^{(i)}, \quad i=1, \ldots, m

其中 ε ( i ) \varepsilon^{(i)} 是獨立同分布的「噪聲」變量而且服從分佈 N ( 0 , Σ 2 ) \mathcal{N}(0,\Sigma^2) 。就像在貝葉斯線性迴歸中,咱們也假設一個函數 f ( ) f(\cdot) 先驗分佈。 特別地,咱們假設一個零均值高斯過程先驗:

f ( ) G P ( 0 , k ( , ) ) f(\cdot) \sim \mathcal{G} \mathcal{P}(0, k(\cdot, \cdot))

對於一些有效的協方差函數 k ( , ) k(\cdot, \cdot)

如今,設 T = { ( x ( i ) , y ( i ) ) } i = 1 m T=\left\{\left(x_{*}^{(i)}, y_{*}^{(i)}\right)\right\}_{i=1}^{m_{*}} 是從一些未知分佈 S S 中取得的獨立同分布的測試點集合。 1 0 ^10 爲了方便標記,咱們定義:

10 咱們還假設 T T S S 是相互獨立的。

X = [ ( x ( 1 ) ) T ( x ( 2 ) ) T ( x ( m ) ) T ] R m × n f = [ f ( x ( 1 ) ) f ( x ( 2 ) ) f ( x ( m ) ) ] , ε = [ ε ( 1 ) ε ( 2 ) ε ( m ) ] , y = [ y ( 1 ) y ( 2 ) y ( m ) ] R m X = [ ( x ( 1 ) ) T ( x ( 2 ) ) T ( x ( m ) ) T ] R m × n f = [ f ( x ( 1 ) ) f ( x ( 2 ) ) f ( x ( m ) ) ] , ε = [ ε ( 1 ) ε ( 2 ) ε ( m ) ] , y = [ y ( 1 ) y ( 2 ) y ( m ) ] R m X= \left[ \begin{array}{c}{-\left(x^{(1)}\right)^{T}-} \\ {-\left(x^{(2)}\right)^{T}-} \\ {\vdots} \\ {-\left(x^{(m)}\right)^{T}-}\end{array}\right] \in \mathbf{R}^{m \times n} \quad \vec{f}= \left[ \begin{array}{c}{f\left(x^{(1)}\right)} \\ {f\left(x^{(2)}\right)} \\ {\vdots} \\ {f\left(x^{(m)}\right)}\end{array}\right], \quad \overrightarrow{\varepsilon}= \left[ \begin{array}{c}{\varepsilon^{(1)}} \\ {\varepsilon^{(2)}} \\ {\vdots} \\ {\varepsilon^{(m)}}\end{array}\right], \quad \vec{y}= \left[ \begin{array}{c}{y^{(1)}} \\ {y^{(2)}} \\ {\vdots} \\ {y^{(m)}}\end{array}\right] \in \mathbf{R}^{m} \\ X_{*}= \left[ \begin{array}{c}{-\left(x_{*}^{(1)}\right)^{T}-} \\ {-\left(x_{*}^{(2)}\right)^{T}-} \\ {\vdots} \\ {-\left(x_{*}^{\left(m_{*}\right)}\right)^{T}-}\end{array}\right] \in \mathbf{R}^{m_{*} \times n} \quad \overrightarrow{f_{*}}= \left[ \begin{array}{c}{f\left(x_{*}^{(1)}\right)} \\ {f\left(x_{*}^{(2)}\right)} \\ {\vdots} \\ {f\left(x_{*}^{\left(m_{*}\right)}\right)}\end{array}\right], \quad \overrightarrow{\varepsilon}_{*}= \left[ \begin{array}{c}{\varepsilon_{*}^{(1)}} \\ {\varepsilon_{*}^{(2)}} \\ {\vdots} \\ {\varepsilon_{*}^{\left(m_{*}\right)}}\end{array}\right], \quad \vec{y}_{*}= \left[ \begin{array}{c}{y_{*}^{(1)}} \\ {y_{*}^{(2)}} \\ {\vdots} \\ {y_{*}^{\left(m_{*}\right)}}\end{array}\right] \in \mathbf{R}^{m}

給定訓練數據 S S ,先驗 p ( h ) p(h) ,以及測試輸入 X X_* ,咱們如何計算測試輸出的後驗預測分佈?對於第 2 2 節中的貝葉斯線性迴歸,咱們使用貝葉斯規則來計算後驗參數,而後對於新的測試點 x x_* 使用後驗參數計算後驗預測分佈 p ( y x , S ) p\left(y_{*} | x_{*}, S\right) 。然而,對於高斯過程迴歸,結果是存在一個更簡單的解決方案!

4.2 預測

回想一下,對於從具備協方差函數 k ( , ) k(\cdot,\cdot) 的零均值高斯先驗過程當中獲得的任何函數 f ( ) f(\cdot) ,其任意一組輸入點上的邊緣分佈必須是一個聯合的多元高斯分佈。特別是,這必須適用於訓練和測試點,因此咱們有下式:

[ f f ] X , X N ( 0 , [ K ( X , X ) K ( X , X ) K ( X , X ) K ( X , X ) ] ) \left[ \begin{array}{c}{\vec{f}} \\ {\vec{f}_*}\end{array}\right] | X, X_{*} \sim \mathcal{N}\left(\overrightarrow{0}, \left[ \begin{array}{cc}{K(X, X)} & {K\left(X, X_{*}\right)} \\ {K\left(X_{*}, X\right)} & {K\left(X_{*}, X_{*}\right)}\end{array}\right]\right)

其中:

f R m  such that  f = [ f ( x ( 1 ) ) f ( x ( m ) ) ] T f R m  such that  f = [ f ( x ( 1 ) ) f ( x ( m ) ) ] T K ( X , X ) R m × m  such that  ( K ( X , X ) ) i j = k ( x ( i ) , x ( j ) ) K ( X , X ) R m × m  such that  ( K ( X , X ) ) i j = k ( x ( i ) , x ( j ) ) K ( X , X ) R m × m  such that  ( K ( X , X ) ) i j = k ( x ( i ) , x ( j ) ) K ( X , X ) R m × m  such that  ( K ( X , X ) ) i j = k ( x ( i ) , x ( j ) ) \vec{f} \in \mathbf{R}^{m} \text { such that } \vec{f}=\left[f\left(x^{(1)}\right) \cdots f\left(x^{(m)}\right)\right]^{T}\\ \vec{f}_{*} \in \mathbf{R}^{m} \cdot \text { such that } \vec{f}_{*}=\left[f\left(x_{*}^{(1)}\right) \cdots f\left(x_{*}^{(m)}\right)\right]^{T} \\ K(X, X) \in \mathbf{R}^{m \times m} \text { such that }(K(X, X))_{i j}=k\left(x^{(i)}, x^{(j)}\right) \\ K\left(X, X_{*}\right) \in \mathbf{R}^{m \times m_*} \text { such that }\left(K\left(X, X_{*}\right)\right)_{i j}=k\left(x^{(i)}, x_{*}^{(j)}\right) \\ K\left(X_{*}, X\right) \in \mathbf{R}^{m_* \times m} \text { such that }\left(K\left(X_{*}, X\right)\right)_{i j}=k\left(x_{*}^{(i)}, x^{(j)}\right) \\ K\left(X_{*}, X_{*}\right) \in \mathbf{R}^{m_{*} \times m_{*}} \text { such that }\left(K\left(X_{*}, X_{*}\right)\right)_{i j}=k\left(x_{*}^{(i)}, x_{*}^{(j)}\right)

根據咱們獨立同分布噪聲假設,能夠獲得:

[ ε ε ] N ( 0 , [ σ 2 I 0 0 T σ 2 I ] ) \left[ \begin{array}{c}{\overrightarrow{\varepsilon}} \\ {\overrightarrow{\varepsilon}_{*}}\end{array}\right]\sim\mathcal{N}\left(0,\left[ \begin{array}{cc}{\sigma^{2} I} & {\overrightarrow{0}} \\ {\overrightarrow{0}^{T}} & {\sigma^{2} I}\end{array}\right]\right)

獨立高斯隨機變量的和也是高斯的,因此有:

[ y y ] X , X = [ f f ] + [ ε ε ] N ( 0 , [ K ( X , X ) + σ 2 I K ( X , X ) K ( X , X ) K ( X , X ) + σ 2 I ] ) \left[ \begin{array}{c}{\vec{y}} \\ {\vec{y}_{*}}\end{array}\right] | X, X_{*}= \left[ \begin{array}{c}{\vec{f}} \\ {\vec{f}}\end{array}\right]+\left[ \begin{array}{c}{\overrightarrow{\varepsilon}} \\ {\overrightarrow{\varepsilon}_{*}}\end{array}\right] \sim \mathcal{N}\left(\overrightarrow{0}, \left[ \begin{array}{cc}{K(X, X)+\sigma^{2} I} & {K\left(X, X_{*}\right)} \\ {K\left(X_{*}, X\right)} & {K\left(X_{*}, X_{*}\right)+\sigma^{2} I}\end{array}\right]\right)

如今,用高斯函數的條件設定規則,它遵循下面的式子:

y y , X , X N ( μ , Σ ) \overrightarrow{y_{*}} | \vec{y}, X, X_{*} \sim \mathcal{N}\left(\mu^{*}, \Sigma^{*}\right)

其中:

μ = K ( X , X ) ( K ( X , X ) + σ 2 I ) 1 y Σ = K ( X , X ) + σ 2 I K ( X , X ) ( K ( X , X ) + σ 2 I ) 1 K ( X , X ) \begin{aligned} \mu^{*} &=K\left(X_{*}, X\right)\left(K(X, X)+\sigma^{2} I\right)^{-1} \vec{y} \\ \Sigma^{*} &=K\left(X_{*}, X_{*}\right)+\sigma^{2} I-K\left(X_{*}, X\right)\left(K(X, X)+\sigma^{2} I\right)^{-1} K\left(X, X_{*}\right) \end{aligned}

就是這樣!值得注意的是,在高斯過程迴歸模型中進行預測很是簡單,儘管高斯過程自己至關複雜! 11 ^{11}

11 有趣的是,貝葉斯線性迴歸,當以正確的方式進行核化時,結果與高斯過程迴歸徹底等價!但貝葉斯線性迴歸的後驗預測分佈的推導要複雜得多,對算法進行核化的工做量更大。高斯過程透視圖固然要簡單得多。

5. 總結

在結束對高斯過程的討論時,咱們指出了高斯過程在迴歸問題中是一個有吸引力的模型的一些緣由,在某些狀況下,高斯過程可能優於其餘模型(如線性和局部加權線性迴歸):

  1. 做爲貝葉斯方法,高斯過程模型不只能夠量化問題的內在噪聲,還能夠量化參數估計過程當中的偏差,從而使預測的不肯定性獲得量化。此外,貝葉斯方法中的許多模型選擇和超參數選擇方法均可以當即應用於高斯過程(儘管咱們沒有在這裏討論這些高級主題)。
  2. 與局部加權線性迴歸同樣,高斯過程迴歸是非參數的,所以能夠對輸入點的任意函數進行建模。
  3. 高斯過程迴歸模型爲將核引入迴歸建模框架提供了一種天然的方法。經過對核的仔細選擇,高斯過程迴歸模型有時能夠利用數據中的結構(儘管咱們也沒有在這裏研究這個問題)。
  4. 高斯過程迴歸模型,儘管在概念上可能有些難以理解,但仍然致使了簡單而直接的線性代數實現。
參考資料

[1] Carl E. Rasmussen and Christopher K. I. Williams. Gaussian Processes for Machine Learning. MIT Press, 2006. Online: http://www.gaussianprocess.org/gpml/

附錄 A.1

在這個例子中,咱們展現瞭如何使用多元高斯的歸一化特性來計算至關嚇人的多元積分,而不須要執行任何真正的微積分!假設你想計算下面的多元積分:

I ( A , b , c ) = x exp ( 1 2 x T A x x T b c ) d x I(A, b, c)=\int_{x} \exp \left(-\frac{1}{2} x^{T} A x-x^{T} b-c\right) d x

儘管能夠直接執行多維積分(祝您好運!),但更簡單的推理是基於一種稱爲「配方法」的數學技巧。特別的:

I ( A , b , c ) = exp ( c ) x exp ( 1 2 x T A x x T A A 1 b ) d x = exp ( c ) x exp ( 1 2 ( x A 1 b ) T A ( x A 1 b ) b T A 1 b ) d x = exp ( c b T A 1 b ) x exp ( 1 2 ( x A 1 b ) T A ( x A 1 b ) ) d x \begin{aligned} I(A, b, c) &=\exp (-c) \cdot \int_{x} \exp \left(-\frac{1}{2} x^{T} A x-x^{T} A A^{-1} b\right)d x \\ &=\exp (-c) \cdot \int_{x} \exp \left(-\frac{1}{2}\left(x-A^{-1} b\right)^{T} A\left(x-A^{-1} b\right)-b^{T} A^{-1} b\right) d x \\ &=\exp \left(-c-b^{T} A^{-1} b\right) \cdot \int_{x} \exp \left(-\frac{1}{2}\left(x-A^{-1} b\right)^{T} A\left(x-A^{-1} b\right)\right) d x \end{aligned}

定義 μ = A 1 b \mu=A^{-1} b Σ = A 1 \Sigma=A^{-1} ,能夠獲得 I ( A , b , c ) I(A,b,c) 等於:

( 2 π ) m / 2 Σ 1 / 2 exp ( c + b T A 1 b ) [ 1 ( 2 π ) m / 2 Σ 1 / 2 x exp ( 1 2 ( x μ ) T Σ 1 ( x μ ) ) d x ] \frac{(2 \pi)^{m / 2}|\Sigma|^{1 / 2}}{\exp \left(c+b^{T} A^{-1} b\right)} \cdot\left[\frac{1}{(2 \pi)^{m / 2}|\Sigma|^{1 / 2}} \int_{x} \exp \left(-\frac{1}{2}(x-\mu)^{T} \Sigma^{-1}(x-\mu)\right) d x\right]

然而,括號中的項在形式上與多元高斯函數的積分是相同的!由於咱們知道高斯密度能夠歸一化,因此括號裏的項等於 1 1 。所以:

I ( A , b , c ) = ( 2 π ) m / 2 A 1 1 / 2 exp ( c + b T A 1 b ) I(A, b, c)=\frac{(2 \pi)^{m / 2}\left|A^{-1}\right|^{1 / 2}}{\exp \left(c+b^{T} A^{-1} b\right)}

附錄 A.2

推導出給定 x B x_B x A x_A 的分佈形式;另外一個結果能夠當即根據對稱性能夠獲得。注意到:

p ( x A x B ) = 1 x A p ( x A , x B ; μ , Σ ) d x A [ 1 ( 2 π ) m / 2 Σ 1 / 2 exp ( 1 2 ( x μ ) T Σ 1 ( x μ ) ) ] = 1 Z 1 exp { 1 2 ( [ x A x B ] [ μ A μ B ] ) T [ V A A V A B V B A V B B ] ( [ x A x B ] [ μ A μ B ] ) } \begin{aligned} p\left(x_{A} | x_{B}\right)&=\frac{1}{\int_{x_{A}} p\left(x_{A}, x_{B} ; \mu, \Sigma\right) d x_{A}} \cdot\left[\frac{1}{(2 \pi)^{m / 2}|\Sigma|^{1 / 2}} \exp \left(-\frac{1}{2}(x-\mu)^{T} \Sigma^{-1}(x-\mu)\right)\right] \\ &=\frac{1}{Z_{1}} \exp \left\{-\frac{1}{2}\left(\left[ \begin{array}{c}{x_{A}} \\ {x_{B}}\end{array}\right]-\left[ \begin{array}{c}{\mu_{A}} \\ {\mu_{B}}\end{array}\right]\right)^{T} \left[ \begin{array}{cc}{V_{A A}} & {V_{A B}} \\ {V_{B A}} & {V_{B B}}\end{array}\right]\left(\left[ \begin{array}{c}{x_{A}} \\ {x_{B}}\end{array}\right]-\left[ \begin{array}{c}{\mu_{A}} \\ {\mu_{B}}\end{array}\right]\right)\right\} \end{aligned}

其中 Z 1 Z_1 是不依賴於 x A x_A 的比例常數,且:

Σ 1 = V = [ V A A V A B V B A V B B ] \Sigma^{-1}=V=\left[ \begin{array}{ll}{V_{A A}} & {V_{A B}} \\ {V_{B A}} & {V_{B B}}\end{array}\right]

要簡化這個表達式,請觀察下面的式子:

( [ x A x B ] [ μ A μ B ] ) T [ V A A V A B V B A V B B ] ( [ x A x B ] [ μ A μ B ] ) = ( x A μ A ) T V A A ( x A μ A ) + ( x A μ A ) T V A B ( x B μ B ) + ( x B μ B ) T V B A ( x A μ A ) + ( x B μ B ) T V B B ( x B μ B ) \begin{aligned} &\left(\left[ \begin{array}{c}{x_{A}} \\ {x_{B}}\end{array}\right]-\left[ \begin{array}{c}{\mu_{A}} \\ {\mu_{B}}\end{array}\right]\right)^{T} \left[ \begin{array}{cc}{V_{A A}} & {V_{A B}} \\ {V_{B A}} & {V_{B B}}\end{array}\right]\left(\left[ \begin{array}{c}{x_{A}} \\ {x_{B}}\end{array}\right]-\left[ \begin{array}{c}{\mu_{A}} \\ {\mu_{B}}\end{array}\right]\right) \\ &\qquad =\left(x_{A}-\mu_{A}\right)^{T} V_{A A}\left(x_{A}-\mu_{A}\right)+\left(x_{A}-\mu_{A}\right)^{T} V_{A B}\left(x_{B}-\mu_{B}\right) \\ &\qquad\qquad +\left(x_{B}-\mu_{B}\right)^{T} V_{B A}\left(x_{A}-\mu_{A}\right)+\left(x_{B}-\mu_{B}\right)^{T} V_{B B}\left(x_{B}-\mu_{B}\right) \end{aligned}

只保留依賴於 x A x_A 的項(利用 V A B = V B A T V_{A B}=V_{B A}^{T} ),咱們有:

p ( x A x B ) = 1 Z 2 exp ( 1 2 [ x A T V A A x A 2 x A T V A A μ A + 2 x A T V A B ( x B μ B ) ] ) p\left(x_{A} | x_{B}\right)=\frac{1}{Z_{2}} \exp \left(-\frac{1}{2}\left[x_{A}^{T} V_{A A} x_{A}-2 x_{A}^{T} V_{A A} \mu_{A}+2 x_{A}^{T} V_{A B}\left(x_{B}-\mu_{B}\right)\right]\right)

其中 Z 2 Z_2 是一個一樣不依賴於 x A x_A 新的比例常數。最後,使用「配方」參數(參見附錄A.1),咱們獲得:

p ( x A x B ) = 1 Z 3 exp ( 1 2 ( x A μ ) T V A A ( x A μ ) ) p\left(x_{A} | x_{B}\right)=\frac{1}{Z_{3}} \exp \left(-\frac{1}{2}\left(x_{A}-\mu^{\prime}\right)^{T} V_{A A}\left(x_{A}-\mu^{\prime}\right)\right)

其中 Z 3 Z_3 是一個新的不依賴於 x A x_A 的比例常數,而且 μ = μ A V A A 1 V A B ( x B μ B ) \mu'=\mu_{A}-V_{A A}^{-1} V_{A B}\left(x_{B}-\mu_{B}\right) 。最後這個表述代表以 x B x_B 爲條件下 x A x_A 的分佈,一樣是多元高斯函數的形式。事實上,從歸一化性質能夠直接得出:

x A x B N ( μ A V A A 1 V A B ( x B μ B ) , V A A 1 ) x_{A} | x_{B} \sim \mathcal{N}\left(\mu_{A}-V_{A A}^{-1} V_{A B}\left(x_{B}-\mu_{B}\right), V_{A A}^{-1}\right)

爲了完成證實,咱們只須要注意:

[ V A A V A B V B A V B B ] = [ ( Σ A A Σ A B Σ B B 1 Σ B A ) 1 ( Σ A A Σ A B Σ B B 1 Σ B A ) 1 Σ A B Σ B B 1 Σ B B 1 Σ B A ( Σ

相關文章
相關標籤/搜索