PRML - Chap 6: Kernel methods - 6.4 Gaussian Processes
By Huy Van
6.4.1 Linear regression revisited
Thử xem xét lại model:
$$ y(\mathbf{x}) = \mathbf{w}^T\phi(\mathbf{x}) $$
với $\mathbf{x}$ là input, $y(\mathbf{x})$ là output, $\mathbf{w}$ là parameters, $\phi(\mathbf{x})$ là basis function.
Giả sử prior đối với $\mathbf{w}$ là 1 Gaussian đơn vị:
$$ p(\mathbf{w}) = \mathcal{N}(\mathbf{w}|\mathbf{0},\alpha^{-1}\mathbf{I}) $$
Trong thực tế, với training set $x_ 1,\ldots,x_ N$, ta quan tâm tới
$$ \mathbf{y} = \big(y(x_ 1),\ldots,y(x_ N)\big)^T = \mathbf{\Phi}\mathbf{w} $$
với $\mathbf{\Phi}$ là ma trận với mỗi phần tử là $\Phi_ {nk} = \phi_ k(x_ n)$ ($\phi_ k$ là gì thì chưa rõ, có thể sách in sai?).
$\mathbf{y}$ là tổ hợp tuyến tính của các Gausian nên sẽ là 1 Gaussian, với mean và covariance như sau:
$$ \mathbb{E}[\mathbf{y}] = \mathbf{\Phi}\mathbb{E}[\mathbf{w}] = 0\\ \mathrm{cov}[\mathbf{y}] = \mathbb{E}[\mathbf{y}\mathbf{y}^T] = \mathbf{\Phi}\mathbb{E}[\mathbf{w}\mathbf{w}^T]\Phi^T = \frac{1}{\alpha} \mathbf{\Phi}\mathbf{\Phi^T} = \mathbf{K} $$
Ở đây $K$ là ma trận Gram với các phần tử là
$$ K_ {nm} = k(x_ n, x_ m) = \frac{1}{\alpha} \phi(x_ n)^T \phi(x_ m) $$
và $k(x,x’)$ là kernel function.
Kết luận Gaussian process là
$$ p(\mathbf{y}) = \mathcal{N}(\mathbf{y}|0, \mathbf{K}) $$
6.4.2 Gaussian processes for regression
Với bài toán regression, label $t_ n$ sẽ được tính bởi:
$$ t_ n = y_ n + \epsilon_ n $$
với $y_ n = y(x_ n)$ và $\epsilon_ n$ là random noise. Giả sử quá trình thêm noise là 1 phân phối Gaussian:
$$ p(t_ n|y_ n) = \mathcal{N}(t_ n|y_ n, \beta^{-1}) $$
Noise với mỗi data point độc lập với nhau nên nếu đặt $\mathbf{t} = (t_ 1, \ldots, t_ N)^T$, $\mathbf{y} = (t_ 1, \ldots, t_ N)^T$ thì:
$$ p(\mathbf{t}|\mathbf{y}) = \mathcal{N}(\mathbf{t}|\mathbf{y}, \beta^{-1}\mathbf{I}_ N) $$
trong đó $\mathbf{I}_ N$ là ma trận đơn vị $N\times N$.
Từ định nghĩa của Gaussian process,
$$ p(\mathbf{y}) = \mathcal{N}(\mathbf{y}|0, \mathbf{K}) $$
Maginal distribution $p(\mathbf{t})$ sẽ được tính bằng:
$$ p(\mathbf{t}) = \int p(\mathbf{t}|\mathbf{y}) p(\mathbf{y}) \mathrm{d}\mathbf{y} = \mathcal{N}(\mathbf{t}|\mathbf{0}, \mathbf{C}) $$
với ma trận covariance $\mathbf{C}$ có các phần tử là:
$$ C(x_ n, x_ m) = k(x_ n, x_ m) + \beta^{-1}\sigma_ {nm}. $$
Đặt training set $\mathbf{t}_ N = (t_ 1,\ldots,t_ N)$ gắn với input $x_ 1,\ldots, x_ N$. Mục tiêu của chúng ta là dự đoán $t_ {N+1}$ tại 1 điểm hoàn toàn mới $x_ {N+1}$.
$$ p(\mathbf{t}_ {N+1}) = \mathcal{N}(\mathbf{t}_ {N+1}|\mathbf{0}, \mathbf{C}_ {N+1}) $$
với $\mathbf{C}_ {N+1}$ là ma trận covariance có chiều là $(N+1) \times (N+1)$.
Ta có thể tính được:
$$ \mathbf{C}_ {N+1} = \left( \begin{matrix} \mathbf{C}_ N & \mathbf{k} \\ \mathbf{k}^T & c \end{matrix} \right) $$
Ở đây vector $\mathbf{k}$ có các phần tử là $k(x_ n, x_ {N+1})$ for $n=1,\ldots,N$ và scalar $c = k(x_ {N+1}, x_ {N+1}) + \beta^{-1}$.
Sử dụng các kết quả từ chương 2, ta cũng tìm được conditional distribution $p(t_ {N+1}|\mathbf{t})$ là 1 Gaussian với mean và covariance như sau:
$$ m(x_ {N+1}) = \mathbf{k}^T\mathbf{C}_ N^{-1}\mathbf{t} \\ \sigma^2(x_ {N+1}) = c - \mathbf{k}^T\mathbf{C}_N^{-1}\mathbf{k} $$
※ 6.4.3 Learning the hyperparameters và 6.4.4 Automatic relevance determination nội dung không quá quan trọng nên giản lược.