Gaussian Process

高斯过程回归预测

如同Dirichlet过程采样产生的都是符合Dirichlet分布,高斯过程采样产生的都是符合高斯分布,即:p(y)=N(y0,K)p(y) = \mathcal{N}(y|0,K)

假设真实的target符合:​tn=yn+ϵt_n = y_n + \epsilon

ϵ\epsilon是随机噪声变量,且对于每个观测n都是独立的,假设服从高斯分布,则:

p(tnyn)=N(tnyn,β1)p(ty)=N(ty,β1IN)p(t_n|y_n) = \mathcal{N}(t_n|y_n,\beta^{-1}) \\ p(t|y) = \mathcal{N}(t|y,\beta^{-1}I_N)

p(t)p(t)的边缘分布p(t)=p(ty)p(y)dy=N(tO,C)p(t) = \int p(t|y)p(y)dy = \mathcal{N}(t|O,C)。 其中协方差矩阵C的元素为:C(xn,xm)=k(xn,xm)+β1δnmC(x_n,x_m) = k(x_n,x_m) + \beta^{-1}\delta_{nm}

这个结果反映了下面的事实:两个随机的高斯分布(即与y(x)y(x)相关的和与ϵ\epsilon相关的高斯分布)是独立的,因此它们的协方差可以简单地相加。

广泛选择的核函数:k(xn,xm)=θ0exp{θ12xnxm2}+θ2+θ3xnTxmk(x_n,x_m) = \theta_0exp\left\{-\frac{\theta_1}{2}\Vert x_n - x_m \Vert^2\right\} + \theta_2 + \theta_3x_n^Tx_m

现在假设有N个训练集,并且要预测第N+1个数据x对于的y。 先求n+1联合分布:p(tN+1)=N(tN+1O,CN+1)p(t_{N+1}) = \mathcal{N}(t_{N+1}|O,C_{N+1}) 将协方差矩阵分块: , 则可以得到 P(tN+1t)P(t_{N+1}|t) 的均值和协方差分别为:

最后得到:p(xN+1)=N(xN+1kTCN1t,ckTCN1k)p(x_{N+1}) = N(x_{N+1} | k^T C_N^{-1} t,c-k^T C_N^{-1} k)

高斯过程和很多模型是等价的:ARMA (autoregressive moving average) models, Kalman filters, radial basis function networks 。

多维高斯分布由均值(向量)和协方差(矩阵)决定,那么高斯过程的均值和协方差由mean function和covariance function决定。形式如下:fgp(m(x),k(x,x))f \sim gp(m(x),k(x,x^*))

对于任意时刻tit_i,高斯过程的任意n维随机变量X(ti)X(t_i)都服从高斯分布,那么就可以用来做贝叶斯推断的先验(一些模型都会增加正太分布先验(L2正则项)),这样就可以非参数贝叶斯估计

参考佳文

拟合目标函数后验分布的调参利器:贝叶斯优化

https://www.zhihu.com/question/54354940

什么是Gaussian process? —— 说说高斯过程与高斯分布的关系

Gaussian process regression的导出——权重空间视角下的贝叶斯的方法

高斯过程初探 说说高斯过程回归 需梯子, 说说高斯过程回归 高斯过程-线性回归 高斯过程回归 A Python implementation of global optimization with gaussian processes.

高斯过程的模拟/采样/生成

如何通俗易懂地介绍 Gaussian Process?

Small tutorial on using Gaussian processes for Bayesian optimization

Gaussian Process and Uncertainty Quantification Summer School, 2017

Gaussian process 的重要组成部分——关于那个被广泛应用的Kernel的零零总总

Last updated

Was this helpful?