从本节开始,将介绍高斯过程。
高斯过程(Gaussian Process),从名字中很明显,它是一种和高斯分布相关的随机过程(Stochastic Process)。
从一维高斯分布开始,此时只有一个一维随机变量 x 1 x_1 x1,它服从的高斯分布可表示为:
P ( x 1 ) ∼ N ( μ , σ 2 ) = 1 σ 2 π exp [ − ( x − μ ) 2 2 σ 2 ] \mathcal P(x_1) \sim \mathcal N(\mu,\sigma^2) = \frac{1}{\sigma\sqrt{2\pi}} \exp [- \frac{(x - \mu)^2}{2\sigma^2}] P(x1)∼N(μ,σ2)=σ2π1exp[−2σ2(x−μ)2]
如果样本并不是一个特征,而是多个特征,并且这些特征均服从高斯分布。假设对应的随机变量集合 X = { x 1 , x 2 , ⋯ , x p } \mathcal X = \{x_1,x_2,\cdots,x_p\} X={x1,x2,⋯,xp},那么 X \mathcal X X服从的是一个多元高斯分布:
P ( X ) ∼ N ( μ , Σ ) = 1 ( 2 π ) p 2 ∣ Σ ∣ 1 2 exp { − 1 2 ( X − μ ) T Σ − 1 ( X − μ ) } \mathcal P(\mathcal X) \sim \mathcal N(\mu,\Sigma) = \frac{1}{(2\pi)^{\frac{p}{2}}|\Sigma|^{\frac{1}{2}}} \exp \left\{- \frac{1}{2} (\mathcal X - \mu)^T \Sigma^{-1}(\mathcal X - \mu)\right\} P(X)∼N(μ,Σ)=(2π)2p∣Σ∣211exp{−21(X−μ)TΣ−1(X−μ)}
在高斯网络基本介绍中,这个多元高斯分布描述了 X \mathcal X X内部各随机变量之间的条件独立性,并且这些条件独立性信息由精度矩阵(Precision Matrix)记录。
很明显,这是一个静态概率图模型,高斯网络中的节点数量与 X \mathcal X X中随机变量的数量相关。
而高斯过程可以理解为联合正态分布的无限维广义延伸。但这里的无限维是指从时间、空间等连续域中产生的维度。以时间为例,一段连续时间内,可能包含若干个状态,而每个状态的随机变量均服从高斯分布。并且每个状态的随机变量不一定是一维的,也可能是高维的。
因此,可以将高斯过程其理解为:在连续域上的无限多个高维随机变量组成的随机过程。和之前介绍的马尔可夫链相似,这里的连续域通常指时间、空间,或者是指抽象的时间,例如序列。
对场景进行如下构建:
是对连续域
T \mathcal T T宏观时刻的一种表示。
将连续域 T \mathcal T T的 随机变量集合表示为 { ξ t } t ∈ T \{\xi_{t}\}_{t \in \mathcal T} {ξt}t∈T,高斯过程可定义为:
如果 ∀ n ∈ N + , t 1 , t 2 , ⋯ , t n ∈ T \forall n \in N^+,t_1,t_2,\cdots,t_n \in \mathcal T ∀n∈N+,t1,t2,⋯,tn∈T,满足随机变量集合 { ξ t 1 , ξ t 2 , ⋯ , ξ t n } = ξ t 1 → t n ∼ N ( μ t 1 → t n , Σ t 1 → t n ) \{\xi_{t_1},\xi_{t_2},\cdots,\xi_{t_n}\} = \xi_{t_1\to t_n} \sim \mathcal N(\mu_{t_1 \to t_n},\Sigma_{t_1 \to t_n}) {ξt1,ξt2,⋯,ξtn}=ξt1→tn∼N(μt1→tn,Σt1→tn),那么称 { ξ t } t ∈ T \{\xi_{t}\}_{t \in \mathcal T} {ξt}t∈T是一个高斯过程。
已知高斯过程 { ξ t } t ∈ T \{\xi_{t}\}_{t \in \mathcal T} {ξt}t∈T,其中 T \mathcal T T表示某连续域, t t t表示连续域中的时刻。假设 t t t时刻的随机变量是 ξ t \xi_{t} ξt,那么 ξ t \xi_{t} ξt的表示(Representation)如下:
ξ t ∼ N ( μ t , Σ t ) \xi_t \sim \mathcal N(\mu_t,\Sigma_t) ξt∼N(μt,Σt)
假设这个连续域 T \mathcal T T中包含 N N N个时刻: T = { t 1 , t 2 , ⋯ , t N } \mathcal T = \{t_1,t_2,\cdots,t_N\} T={t1,t2,⋯,tN},因而我们会得到 N N N个随机变量:
{ ξ t } t ∈ T = { ξ t 1 , ξ t 2 , ⋯ , ξ t N } ⏟ N { ξ t 1 ∼ N ( μ t 1 , Σ t 1 ) ξ t 2 ∼ N ( μ t 2 , Σ t 2 ) ⋯ ξ t N ∼ N ( μ t N , Σ t N ) \{\xi_{t}\}_{t \in \mathcal T} = \underbrace{\{\xi_{t_1},\xi_{t_2},\cdots,\xi_{t_N}\}}_{N} \quad \begin{cases} \xi_{t_1} \sim \mathcal N(\mu_{t_1},\Sigma_{t_1}) \\ \xi_{t_2} \sim \mathcal N(\mu_{t_2},\Sigma_{t_2}) \\ \cdots \\ \xi_{t_N} \sim \mathcal N(\mu_{t_N},\Sigma_{t_N}) \end{cases} {ξt}t∈T=N {ξt1,ξt2,⋯,ξtN}⎩⎪⎪⎪⎨⎪⎪⎪⎧ξt1∼N(μt1,Σt1)ξt2∼N(μt2,Σt2)⋯ξtN∼N(μtN,ΣtN)
继续假设,每一时刻的期望结果 μ t i ( i = 1 , 2 , ⋯ , N ) \mu_{t_i}(i=1,2,\cdots,N) μti(i=1,2,⋯,N)和方差结果 Σ t i ( i = 1 , 2 , ⋯ , N ) \Sigma_{t_i}(i=1,2,\cdots,N) Σti(i=1,2,⋯,N)均是给定的。此时对 t 1 t_1 t1时刻的高斯分布进行随机采样,采到的结果记作 r t 1 r_{t_1} rt1:
需要注意的是,这个采样采的不是‘概率密度函数的概率结果’,而是概率密度函数对应特征描述的结果。
N ( μ t 1 , Σ t 1 ) → r t 1 \mathcal N(\mu_{t_1},\Sigma_{t_1}) \to r_{t_1} N(μt1,Σt1)→rt1
同理,其他时刻同样进行随机采样,并构成一个样本集合:
{ r t 1 , r t 2 , ⋯ , r t N } \{r_{t_1},r_{t_2},\cdots,r_{t_N}\} {rt1,rt2,⋯,rtN}
将这个有序的样本集合在以连续域、特征描述结果所构成的的空间中手尾相连,得到一条曲线;而这条曲线就是高斯过程的一个样本。
这里需要解释一下:由于
T \mathcal T T是连续的,真实条件下可能存在无穷多个时刻。因此这个样本序列必然不可能是对所有时刻进行采样。仅通过‘实际问题’中重要的时刻进行采样。
至此,根据上述定义,高斯过程 { ξ t } t ∈ T \{\xi_{t}\}_{t \in \mathcal T} {ξt}t∈T中不仅每个时刻 t i t_i ti的随机变量 ξ t i \xi_{t_i} ξti服从高斯分布,并且 T \mathcal T T中任意连续时刻 { ξ t i , ξ t i + 1 , ξ t i + 2 , ⋯ , ξ t i + m } t i , ⋯ , t i + m ∈ T \{\xi_{t_{i}},\xi_{t_{i+1}},\xi_{t_{i+2}},\cdots,\xi_{t_{i+m}}\}_{t_i,\cdots,t_{i+m} \in \mathcal T} {ξti,ξti+1,ξti+2,⋯,ξti+m}ti,⋯,ti+m∈T同样服从多元高斯分布。
因此,一个高斯过程具体由两个函数决定:
相关参考:
高斯过程——百度百科
机器学习-高斯过程-简单介绍