20 Gaussian Process Regression——高斯过程回归

文章目录

  • 20 Gaussian Process Regression——高斯过程回归
    • 20.1 背景介绍
    • 20.2 高斯过程回归解决非线性问题
    • 20.3 从weight-space到function-space
    • 20.4 function-space view解决问题

20 Gaussian Process Regression——高斯过程回归

20.1 背景介绍

高斯过程中,高斯是指Gaussian Distribution,过程就是指随机过程。

来回忆一下学过的高斯分布:

  • 一维高斯(Gaussian Distribution): P ( x ) = N ( μ , σ 2 ) P(x) = N(\mu, \sigma^2) P(x)=N(μ,σ2)
  • 多维高斯(Multivariate Gaussian Distribution)    ⟺    \iff 高斯网络(Gaussian Network): P ( x ) = N ( μ , Σ p × p ) P(x) = N(\mu, \Sigma_{p \times p}) P(x)=N(μ,Σp×p)
  • 无限维高斯    ⟺    \iff 高斯过程

我们给出高斯过程的定义:

  • 高斯过程是定义在连续域(如时间轴)上的无限多个高维随机变量所组成的随机过程。

若在实际情况中,我们可以写成:

  • 在一个连续域T中(以时间轴为例),对于 ∀ n ∈ N + \forall n \in N^+ nN+我们截取出 t 1 , t 2 , … , t n ∈ T t_1, t_2, \dots, t_n \in T t1,t2,,tnT,在每个节点上定义随机变量 ξ t 1 , ξ t 2 , … , ξ t n \xi_{t_1}, \xi_{t_2}, \dots, \xi_{t_n} ξt1,ξt2,,ξtn,使得向量 ( ξ t 1 → t n ) ∽ N ( μ t 1 → t n , Σ t 1 → t n ) (\xi_{t_1 \rightarrow t_n}) \backsim N(\mu_{t_1 \rightarrow t_n}, \Sigma_{t_1 \rightarrow t_n}) (ξt1tn)N(μt1tn,Σt1tn),那么我们可以说 { ξ t } t ∈ T {\lbrace \xi_t \rbrace}_{t \in T} {ξt}tT就是一个高斯过程。

  • 高斯过程可以写成 ξ t ∽ G P ( m ( t ) , K ( s , t ) ) \xi_t \backsim GP(m(t), K(s, t)) ξtGP(m(t),K(s,t))​的形式,其中 m ( t ) m(t) m(t)表示mean function, k ( s , t ) k(s, t) k(s,t)表示covariance function:
    { m ( t ) = E [ ξ t ] k ( s , t ) = E [ ( ξ s − E [ ξ s ] ) ( ξ t − E [ ξ t ] ) ] \begin{cases} m(t) = E[\xi_t] \\ k(s,t) = E[(\xi_s - E[\xi_s])(\xi_t - E[\xi_t])] \end{cases} {m(t)=E[ξt]k(s,t)=E[(ξsE[ξs])(ξtE[ξt])]

20.2 高斯过程回归解决非线性问题

在过去的问题中,我们是解决以下模型:

  • 模型:
    { f ( x ) = w T x = x T w y = f ( x ) + ε , ε ∽ N ( 0 , σ 2 ) \begin{cases} f(x) = w^T x = x^T w \\ y = f(x) + \varepsilon, \varepsilon \backsim N(0, \sigma^2) \end{cases} {f(x)=wTx=xTwy=f(x)+ε,εN(0,σ2)

  • 解决Inference问题:
    P ( w ∣ D a t a ) = N ( w ∣ μ w , Σ w ) { μ w = σ − 2 A − 1 X T Y Σ w = A − 1 A = σ − 2 X T X + E p − 1 P(w|Data) = N(w|\mu_w, \Sigma_w) \begin{cases} \mu_w = \sigma^{-2} A^{-1} X^T Y \\ \Sigma_w = A^{-1} \\ A = \sigma^{-2} X^T X + E_p^{-1} \end{cases} P(wData)=N(wμw,Σw) μw=σ2A1XTYΣw=A1A=σ2XTX+Ep1

  • 解决Prediction问题(给定 x ∗ x^* x):
    { P ( f ( x ∗ ) ∣ D a t a , x ∗ ) = N ( x ∗ T μ w , x ∗ T Σ w x ∗ ) P ( y ∗ ∣ D a t a , x ∗ ) = N ( x ∗ T μ w , x ∗ T Σ w x ∗ + σ 2 ) \begin{cases} P(f(x^*)|Data, x^*) = N({x^*}^T \mu_w, {x^*}^T \Sigma_w x^*) \\ P(y^*| Data, x^*) = N({x^*}^T \mu_w, {x^*}^T \Sigma_w x^* + \sigma^2) \end{cases} {P(f(x)Data,x)=N(xTμw,xTΣwx)P(yData,x)=N(xTμw,xTΣwx+σ2)

但是这个模型是线性的,如果问题是非线性的我们该怎么办?

  • 在核方法中我们学到过非线性转换:从低维空间向高维空间进行转换,使得数据线性。
  • 为了解决高维数据难以计算的问题,如果需要计算的内容只需要用到内积,那么我们定义一个核函数就可以快速解决问题。

所以我们做出如下定义:

  1. 定义一个函数 ϕ : x ↦ z ( x ∈ R p , z = ϕ ( x ) ∈ R q , q > p ) \phi: x \mapsto z (x \in {\mathbb R}^p, z = \phi(x) \in {\mathbb R}^q, q>p) ϕ:xz(xRp,z=ϕ(x)Rq,q>p)表示低维空间向高维空间的映射
  2. 定义新的数据集为 Φ = ϕ ( X ) = ( ϕ ( x 1 ) , ( ϕ ( x 2 ) , … , ( ϕ ( x N ) ) N × q T \Phi = \phi(X) = {(\phi(x_1), (\phi(x_2), \dots, (\phi(x_N))}_{N \times q}^T Φ=ϕ(X)=(ϕ(x1),(ϕ(x2),,(ϕ(xN))N×qT
  3. 新的模型可以写作 f ( x ) = ϕ ( x ) T w f(x) = {\phi(x)}^T w f(x)=ϕ(x)Tw

本节通过实际解决预测问题看以下高斯过程。

先把原问题具体写出来:
f ( x ∗ ) ∣ X , Y , x ∗ ∽ N ( x ∗ T σ − 2 A − 1 X T Y , x ∗ T A − 1 x ∗ ) , A = σ − 2 X T X + E p − 1 f(x^*)|X, Y, x^* \backsim N({x^*}^T \sigma^{-2} A^{-1} X^T Y, {x^*}^T A^{-1} x^*), A = \sigma^{-2} X^T X + E_p^{-1} f(x)X,Y,xN(xTσ2A1XTY,xTA1x),A=σ2XTX+Ep1
由于进行了非线性转换,我们将Prediction写成转换后的形式:
f ( x ∗ ) ∣ X , Y , x ∗ ∽ N ( σ − 2 ϕ ( x ) ∗ T A − 1 Φ T Y , ϕ ( x ) ∗ T A − 1 ϕ ( x ) ∗ ) , A = σ − 2 Φ T Φ + E p − 1 f(x^*)|X, Y, x^* \backsim N\big(\sigma^{-2} {{\phi(x)}^*}^T A^{-1} \Phi^T Y, {{\phi(x)}^*}^T A^{-1} {\phi(x)}^*\big), A = \sigma^{-2} \Phi^T \Phi + E_p^{-1} f(x)X,Y,xN(σ2ϕ(x)TA1ΦTY,ϕ(x)TA1ϕ(x)),A=σ2ΦTΦ+Ep1
要将均值和方差就需要将 A − 1 A^{-1} A1算出来,可以通过woodbury formula进行计算,也可以通过将等式 A = σ − 2 Φ T Φ + E p − 1 A = \sigma^{-2} \Phi^T \Phi + E_p^{-1} A=σ2ΦTΦ+Ep1进行数学变换弄出来。

补充:woodbury formula
( A + U C V ) − 1 = A − 1 − A − 1 ∪ ( C − 1 + V A − 1 U ) − 1 V A − 1 {(A+UCV)}^{-1} = A^{-1} - A^{-1} \cup {(C^{-1} + VA^{-1}U)}^{-1}VA^{-1} (A+UCV)1=A1A1(C1+VA1U)1VA1

推导就是简单的数学变换,过程省略,得出的结果是:
{ m e a n : ϕ ( x ∗ ) Σ p Φ T ( K + σ 2 I ) − 1 Y c o v a r i e n c e : ϕ ( x ∗ ) T Σ p ϕ ( x ∗ ) − ϕ ( x ∗ ) T Σ p Φ T ( K + σ 2 I ) − 1 Φ Σ p ϕ ( x ∗ ) K = Φ Σ p Φ T \begin{cases} mean: \phi(x^*) \Sigma_p \Phi^T {(K+\sigma^2 I)}^{-1} Y \\ covarience: {\phi(x^*)}^T \Sigma_p {\phi(x^*)} - {\phi(x^*)}^T \Sigma_p \Phi^T {(K + \sigma^2 I)}^{-1} \Phi \Sigma_p {\phi(x^*)} \\ K = \Phi \Sigma_p \Phi^T \end{cases} mean:ϕ(x)ΣpΦT(K+σ2I)1Ycovarience:ϕ(x)TΣpϕ(x)ϕ(x)TΣpΦT(K+σ2I)1ΦΣpϕ(x)K=ΦΣpΦT
Prediction就可以表示为:
f ( x ∗ ) ∣ X , Y , x ∗ ∽ N ( ϕ ( x ∗ ) Σ p Φ T ‾ ( K ‾ + σ 2 I ) − 1 Y , ϕ ( x ∗ ) T Σ p ϕ ( x ∗ ) ‾ − ϕ ( x ∗ ) T Σ p Φ T ‾ ( K ‾ + σ 2 I ) − 1 Φ Σ p ϕ ( x ∗ ) ‾ ) f(x^*)|X, Y, x^* \backsim N\big(\underline{\phi(x^*) \Sigma_p \Phi^T} {(\underline{K}+\sigma^2 I)}^{-1} Y, \underline{{\phi(x^*)}^T \Sigma_p {\phi(x^*)}} - \underline{{\phi(x^*)}^T \Sigma_p \Phi^T} {(\underline{K} + \sigma^2 I)}^{-1} \underline{\Phi \Sigma_p {\phi(x^*)}} \big) f(x)X,Y,xN(ϕ(x)ΣpΦT(K+σ2I)1Y,ϕ(x)TΣpϕ(x)ϕ(x)TΣpΦT(K+σ2I)1ΦΣpϕ(x))
在最终得到的Prediction公式中,可以看到我花了许多下划线的地方,这些全都是需要进行计算的地方。因为我们提升了维度,所以我们自然想要这些地方全都可以使用核函数快速计算:

  1. 我们要定义一个核函数,首先我们将核函数定义为 K ( x , x ′ ) = ϕ ( x ) T Σ p ϕ ( x ′ ) K(x, x^{'}) = \phi(x)^T \Sigma_p \phi(x^{'}) K(x,x)=ϕ(x)TΣpϕ(x),接下来要证明他是否表示内积的形式

  2. 由于 Σ p \Sigma_p Σp是正定矩阵,所以有 Σ p = Σ p 1 2 ⋅ Σ p 1 2 \Sigma_p = \Sigma_p^{\frac{1}{2}} \cdot \Sigma_p^{\frac{1}{2}} Σp=Σp21Σp21

  3. 我们将核函数进行一个变换:
    K ( x , x ′ ) = ϕ ( x ) T Σ p 1 2 ⋅ Σ p 1 2 ϕ ( x ′ ) = ( Σ p 1 2 ϕ ( x ) ) T ⋅ Σ p 1 2 ϕ ( x ′ ) K(x, x^{'}) = \phi(x)^T \Sigma_p^{\frac{1}{2}} \cdot \Sigma_p^{\frac{1}{2}} \phi(x^{'}) = {(\Sigma_p^{\frac{1}{2}} \phi(x))}^T \cdot \Sigma_p^{\frac{1}{2}} \phi(x^{'}) K(x,x)=ϕ(x)TΣp21Σp21ϕ(x)=(Σp21ϕ(x))TΣp21ϕ(x)

  4. 所以我们可以将将上面的核函数看作:
    { K ( x , x ′ ) = ⟨ φ ( x ) , φ ( x ′ ) ⟩ φ ( x ) = Σ p 1 2 ϕ ( x ) \begin{cases} K(x, x^{'}) = {\langle \varphi(x), \varphi(x^{'}) \rangle} \\ \varphi(x) = \Sigma_p^{\frac{1}{2}} \phi(x) \end{cases} {K(x,x)=φ(x),φ(x)⟩φ(x)=Σp21ϕ(x)

总体来说,我们可以看作Gaussian Process Regression = Bayesian Linear Regression + Kernel Trick(非线性变换)

20.3 从weight-space到function-space

这个标题一看到可能会觉得有点奇妙,我们先来解释一下什么是weight-space和function-space:

  • weight-space表示通过模型 f ( x ) = w T x = x T w f(x) = w^T x = x^T w f(x)=wTx=xTw求解,主要是针对于 w w w进行操作,比如给 w w w设置一个prior,然后再求出 w w w的posterior
  • function-space就是直接对 f ( x ) f(x) f(x)进行操作,不用分解 f ( x ) f(x) f(x)

为了解释我们怎么将高斯过程从随机变量转变为 f ( x ) f(x) f(x),首先我们简单做一个回顾:

  1. 回顾高斯过程的定义:假设有一段连续域 T T T,在 T T T中定义 n n n个节点( ∀ n ∈ N + , n ≥ 1 \forall n \in N^+, n \geq 1 nN+,n1)表示为 t 1 , t 2 , … , t n ∈ T t_1, t_2, \dots, t_n \in T t1,t2,,tnT,每个节点上定义一个随机变量 ξ t 1 , ξ t 2 , … , ξ t n \xi_{t_1}, \xi_{t_2}, \dots, \xi_{t_n} ξt1,ξt2,,ξtn,令 ξ 1 : n = ( ξ t 1 , ξ t 2 , … , ξ t n ) T \xi_{1:n} = {(\xi_{t_1}, \xi_{t_2}, \dots, \xi_{t_n})}^T ξ1:n=(ξt1,ξt2,,ξtn)T。若使得 ξ 1 : n ∽ N ( μ 1 : n , Σ 1 : n ) \xi_{1:n} \backsim N(\mu_{1:n}, \Sigma_{1:n}) ξ1:nN(μ1:n,Σ1:n),则称 { ξ t } t ∈ T {\lbrace \xi_t \rbrace}_{t \in T} {ξt}tT是高斯过程,写作 ξ t ∽ G P ( m ( t ) , K ( t , s ) ) \xi_t \backsim GP\big(m(t), K(t, s)\big) ξtGP(m(t),K(t,s))

  2. 上文中的 ξ t ∽ G P ( m ( t ) , K ( t , s ) ) \xi_t \backsim GP\big(m(t), K(t, s)\big) ξtGP(m(t),K(t,s)),其中 m ( t ) m(t) m(t)表示均值函数, K ( t , s ) K(t,s) K(t,s)表示方差函数。这里重点是我们的均值方差已经不是一个变量而是一个函数了,因为高斯过程中的均值和方差是会变的。但是为什么GP要用 m ( t ) m(t) m(t) K ( t , s ) K(t,s) K(t,s)表示呢?这里参考高斯过程存在性定理,不做证明。

  3. 回顾weight-space view,模型定义为:
    { f ( x ) = ϕ ( x ) T w y = f ( x ) + ε , ε ∽ N ( 0 , σ 2 ) \begin{cases} f(x) = \phi(x)^T w \\ y = f(x) + \varepsilon, \varepsilon \backsim N(0, \sigma^2) \end{cases} {f(x)=ϕ(x)Twy=f(x)+ε,εN(0,σ2)

为了寻找weight-space到function-space中的过渡关系,我们对Bayesian Method中的求解过程进行分析:

  1. 给定 w w w一个prior: w ∽ N ( 0 , Σ p ) w \backsim N(0, \Sigma_p) wN(0,Σp)(这里为方便计算这样设置)

  2. 我们可以求解期望:
    E [ f ( x ) ] = E [ ϕ ( x ) T w ] = ϕ ( x ) T E [ w ] ⏟ 关注对象为 w = 0 E[f(x)] = E[{\phi(x)}^T w] = \underbrace{{\phi(x)}^TE[w]}_{\text{关注对象为$w$}} = 0 E[f(x)]=E[ϕ(x)Tw]=关注对象为w ϕ(x)TE[w]=0

  3. 我们也可以求解方差:
    c o v ( f ( x ) , f ( x ′ ) ) = E [ ( f ( x ) − E [ f ( x ) ] ⏟ = 0 ) ( f ( x ′ ) − E [ f ( x ′ ) ] ⏟ = 0 ) ] = E [ f ( x ) f ( x ′ ) ] = E [ ϕ ( x ) T w ⋅ ϕ ( x ′ ) T w ⏟ 1 × 1 ] = E [ ϕ ( x ) T w ⋅ w T ϕ ( x ′ ) ] = ϕ ( x ) T E [ w ⋅ w T ] ϕ ( x ′ ) = ϕ ( x ) T E [ ( w − 0 ) ⋅ ( w T − 0 ) ] ϕ ( x ′ ) = ϕ ( x ) T c o v [ w ] ϕ ( x ′ ) = ϕ ( x ) T E p ϕ ( x ′ ) \begin{align} cov(f(x), f(x^{'})) &= E\big[ (f(x) - \underbrace{E[f(x)]}_{=0})(f(x^{'}) - \underbrace{E[f(x^{'})]}_{=0}) \big] \\ &= E\big[ f(x) f(x^{'}) \big] \\ &= E\big[ \phi(x)^T w \cdot \underbrace{\phi(x^{'})^T w}_{1 \times 1} \big] \\ &= E\big[ \phi(x)^T w \cdot {w^T \phi(x^{'})} \big] \\ &= \phi(x)^T E\big[ w \cdot w^T \big] \phi(x^{'}) \\ &= \phi(x)^T E\big[ (w-0) \cdot (w^T-0) \big] \phi(x^{'}) \\ &= \phi(x)^T cov\big[ w \big] \phi(x^{'}) \\ &= \phi(x)^T E_p \phi(x^{'}) \\ \end{align} cov(f(x),f(x))=E[(f(x)=0 E[f(x)])(f(x)=0 E[f(x)])]=E[f(x)f(x)]=E[ϕ(x)Tw1×1 ϕ(x)Tw]=E[ϕ(x)TwwTϕ(x)]=ϕ(x)TE[wwT]ϕ(x)=ϕ(x)TE[(w0)(wT0)]ϕ(x)=ϕ(x)Tcov[w]ϕ(x)=ϕ(x)TEpϕ(x)

根据Bayesian Method中的解析:

  1. 得到了:
    { E [ f ( x ) ] = 0 c o v ( f ( x ) , f ( x ′ ) ) = ϕ ( x ) T E p ϕ ( x ′ ) \begin{cases} E[f(x)] = 0 \\ cov(f(x), f(x^{'})) = \phi(x)^T E_p \phi(x^{'}) \end{cases} {E[f(x)]=0cov(f(x),f(x))=ϕ(x)TEpϕ(x)

  2. 我们发现 ϕ ( x ) T E p ϕ ( x ′ ) \phi(x)^T E_p \phi(x^{'}) ϕ(x)TEpϕ(x)非常眼熟,这就是我们在上一节定义的Kernel Function,所以可以写作:
    c o v ( f ( x ) , f ( x ′ ) ) = ϕ ( x ) T E p ϕ ( x ′ ) = K ( x , x ′ ) cov(f(x), f(x^{'})) = \phi(x)^T E_p \phi(x^{'}) = K(x, x^{'}) cov(f(x),f(x))=ϕ(x)TEpϕ(x)=K(x,x)

我们发现他是个Kernel Function又有什么用呢?

  1. 我们回忆一下高斯过程的定义,我们将其定义为 G P ( m ( t ) , K ( t , s ) ) GP\big(m(t), K(t, s)\big) GP(m(t),K(t,s))其中 m ( t ) m(t) m(t)表示均值函数, K ( t , s ) K(t,s) K(t,s)表示方差函数。
  2. 启发:这里我们的 f ( x ) f(x) f(x)方差也是一个 K K K函数,是否说明也可以将 { f ( x ) } x ∈ R p {\lbrace f(x) \rbrace}_{x \in {\mathbb R}^p} {f(x)}xRp也看作一个高斯过程?

我们将weight-space和function-space对比一下:

  • 连续域: T → R p T \rightarrow {\mathbb R}^p TRp,其中 R p {\mathbb R}^p Rp也是无穷的、稠密的
  • 样本: t → x t \rightarrow x tx
  • 变量: ξ t → f ( x ) \xi_t \rightarrow f(x) ξtf(x)

总结一下:

  1. weight-space view:关注的是 w w w,Prediction问题中 P ( y ∗ ∣ D a t a , x ∗ ) = ∫ w P ( y ∗ ∣ w , x ∗ ) ⋅ p ( w ) d w P(y^*|Data, x^*) = \int_w P(y^*|w, x^*) \cdot p(w) {\rm d}w P(yData,x)=wP(yw,x)p(w)dw
  2. function-space view:关注的是 f ( x ) f(x) f(x),Prediction问题中 P ( y ∗ ∣ D a t a , x ∗ ) = ∫ w P ( y ∗ ∣ f , x ∗ ) ⋅ p ( f ) d f P(y^*|Data, x^*) = \int_w P(y^*|f, x^*) \cdot p(f) {\rm d}f P(yData,x)=wP(yf,x)p(f)df

20.4 function-space view解决问题

还是先来梳理一遍条件:

  1. 高斯过程条件:
    { f ( x ) x ∈ R p ∽ G P ( m ( x ) , K ( x , x ′ ) ) m ( x ) = E [ f ( x ) ] K ( x , x ′ ) = E [ ( f ( x ) − m ( x ) ) ( f ( x ′ ) − m ( x ′ ) ) T ] \begin{cases} {f(x)}_{x \in {\mathbb R}^p} \backsim GP\big( m(x), K(x, x^{'}) \big) \\ m(x) = E[f(x)] \\ K(x, x^{'}) = E\big[{(f(x) - m(x))}{(f(x^{'}) - m(x^{'}))}^T\big] \end{cases} f(x)xRpGP(m(x),K(x,x))m(x)=E[f(x)]K(x,x)=E[(f(x)m(x))(f(x)m(x))T]

  2. 回归问题条件:
    D a t a : { ( x i , y i ) } i = 1 N , X = ( x 1 , x 2 , … , x N ) N × p T , Y = ( y 1 , y 2 , … , y N ) N × 1 T Data: {\lbrace (x_i, y_i) \rbrace}_{i=1}^N, \quad X={(x_1, x_2, \dots, x_N)}_{N \times p}^T, \quad Y={(y_1, y_2, \dots, y_N)}_{N \times 1}^T Data:{(xi,yi)}i=1N,X=(x1,x2,,xN)N×pT,Y=(y1,y2,,yN)N×1T

  3. 当前的问题可以写作:
    { f ( x ) ∽ G P ( μ ( X ) , K ( X , X ) ) y = f ( x ) + ε ∽ N ( μ ( X ) , K ( X , X ) + σ 2 I ) \begin{cases} {f(x)} \backsim GP\big( \mu(X), K(X, X) \big) \\ y = f(x) + \varepsilon \backsim N\big(\mu(X), K(X, X) + \sigma^2 I\big) \\ \end{cases} {f(x)GP(μ(X),K(X,X))y=f(x)+εN(μ(X),K(X,X)+σ2I)

具体解决一下Prediction问题:

  1. 给定条件 X ∗ = ( x 1 ∗ , x 2 ∗ , … , x M ∗ ) T X^* = (x_1^*, x_2^*, \dots, x_M^*)^T X=(x1,x2,,xM)T,要求 Y ∗ = f ( X ∗ ) + ε Y^* = f(X^*) + \varepsilon Y=f(X)+ε

  2. 我们将已知条件 Y Y Y和目标 f ( X ∗ ) f(X^*) f(X)写作联合概率:
    ( Y f ( X ∗ ) ) ∽ N ( ( μ ( X ) μ ( X ∗ ) ) , ( K ( X , X ) + σ 2 I K ( X , X ∗ ) K ( X ∗ , X ) K ( X ∗ , X ∗ ) ) ) \begin{pmatrix} Y \\ f(X^*) \end{pmatrix} \backsim N \begin{pmatrix} \begin{pmatrix} \mu(X) \\ \mu(X^*) \end{pmatrix} , \begin{pmatrix} K(X, X) + \sigma^2 I & K(X, X^*) \\ K(X^*, X) & K(X^*, X^*) \end{pmatrix} \end{pmatrix} (Yf(X))N((μ(X)μ(X)),(K(X,X)+σ2IK(X,X)K(X,X)K(X,X)))

  3. 然后通过多维高斯的条件概率公式求解 P ( f ( X ∗ ) ∣ Y , X , X ∗ ) = N ( μ ∗ , Σ ∗ ) P(f(X^*)| Y, X, X^*) = N(\mu^*, \Sigma^*) P(f(X)Y,X,X)=N(μ,Σ),可得:
    { μ ∗ = K ( X ∗ , X ) ⋅ ( K ( X , X ) + σ 2 I ) − 1 ⋅ ( Y − μ ( X ) ) + μ ( X ∗ ) Σ ∗ = K ( X ∗ , X ∗ ) − K ( X ∗ , X ) ⋅ ( K ( X , X ) + σ 2 I ) − 1 K ( X , X ∗ ) \begin{cases} \mu^* = K(X^*, X) \cdot {(K(X, X) + \sigma^2 I)}^{-1} \cdot (Y - \mu(X)) + \mu(X^*) \\ \Sigma^* = K(X^*,X^*) - K(X^*, X) \cdot {(K(X, X) + \sigma^2 I)}^{-1} K(X, X^*) \\ \end{cases} {μ=K(X,X)(K(X,X)+σ2I)1(Yμ(X))+μ(X)Σ=K(X,X)K(X,X)(K(X,X)+σ2I)1K(X,X)

  4. 由于已经求出来 P ( f ( X ∗ ) ∣ Y , X , X ∗ ) = N ( μ ∗ , Σ ∗ ) P(f(X^*)| Y, X, X^*) = N(\mu^*, \Sigma^*) P(f(X)Y,X,X)=N(μ,Σ)中的 μ ∗ , Σ ∗ \mu^*, \Sigma^* μ,Σ,下面当作已知条件计算。根据 Y ∗ = f ( X ∗ ) + ε , ε ∽ N ( 0 , σ 2 ) Y^* = f(X^*) + \varepsilon, \varepsilon \backsim N(0, \sigma^2) Y=f(X)+ε,εN(0,σ2)可得:
    P ( Y ∗ ∣ Y , X , X ∗ ) = N ( μ y ∗ , Σ y ∗ ) = N ( μ ∗ , Σ ∗ + σ 2 I ) \begin{align} P(Y^*| Y, X, X^*) = N(\mu_y^*, \Sigma_y^*) = N(\mu^*, \Sigma^* + \sigma^2 I) \end{align} P(YY,X,X)=N(μy,Σy)=N(μ,Σ+σ2I)

所以如果通过function-space view,我们求解预测问题只需要通过高斯分布的公式求解就好,相对于weight-space效果相同但步骤会简单一些。

你可能感兴趣的:(机器学习-白板推导,回归,机器学习,算法)