In this post I summarize everything about GP. An individual post will be organized when I felt that I got enough materials, insights, and thoughts.

At the end, I attach all other individual posts about GP or having mentioned GP.

Jonathan Ko, “Gaussian Process for Dynamic Systems”, PhD Thesis, University of Washington, 2011.

Bayes filter equation in Eq. 4.1 (p.34) has a typo (should be $\propto$, not $=$)

$p(x_t|z_{1:t},u_{1:t-1}) \propto p(z_t|x_t) \int \textcolor{red}{p(x_t|x_{t-1},u_{t-1})} \textcolor{green}{p(x_{t-1}|z_{1:t-1},u_{1:t-2})} dx_{t-1}$

• $\textcolor{red}{Red}$ part is dynamics model, describing how the state $x$ evolves in time based on the control input $u$ (p.34)
• $\textcolor{green}{Green}$ part is observation model, describing the likelihood of making an observation $z$ given the state $x$
• GP-BayesFilter improves these two parts.

The dynamics model maps the state and control $(x_t,u_t)$ to the state transition $\Delta x_t = x_{t+1} - x_t$. So, the training data is

$D_p = <(X,U),X'>$

The observation model maps from the state $x_t$ to the observation $z_t$. So, the training data is

$D_o = $

The resulting GP dynamics and observation models are (p.44)

$p(x_t|x_{t-1},u_{t-1}) \approx \mathcal{N}(\text{GP}_\mu([x_{t-1},u_{t-1}],D_p), \text{GP}_\Sigma([x_{t-1},u_{t-1}],D_p))$

and

$p(z_t|x_t) \approx \mathcal{N}(\text{GP}_\mu(x_t,D_o), \text{GP}_\Sigma(x_t,D_o))$

Bruce P. Gibbs, Least-squares estimation, kalman filtering, and modeling: a practical handbook, Hoboken, N.J: Wiley, 2011.

Rasmussen, Carl Edward, and Christopher K. I. Williams. 2006. Gaussian Processes for Machine Learning. Adaptive Computation and Machine Learning. Cambridge, Mass: MIT Press. http://www.gaussianprocess.org/gpml/chapters/.

# 笔记

Sec 2讲了做regression的几乎所有基础理论。

Sec 3讲做classification，没有看。

Sec 4讲不同covairance的性质，未看，待看。

Bayesian inference

# 基础知识

GPflow focusses on variational inference and MCMC – there is no expectation propagation or Laplace approximation.

# Learning Materials

## Posts

• 理论推导比较全面
• 只讲了 IMU 状态模型，没有涉及 error model，不适合做calibration

IMU校正以及姿态融合

• 有对应的 GitHub 代码
• 应该算 batch least square estimation，因为使用了三次 MATLAB 中的 lsqnonlin 函数 (Solve nonlinear least-squares (nonlinear data-fitting) problems)

## Papers

Deep Kalman Filter: Simultaneous Multi-Sensor Integration and Modelling; A GNSS/IMU Case Study

Again, I run into the question that “what’s the difference between GP and GPs”? Here, GP is Gaussian process while GPs is Gaussian processes. So you see the difference?

In this post, I decided to solve this confusion (a better words? puzzle? bewilderment? perplexity?) once and for all.