読書メモ 『Pattern Recognition and Machine Learning』

```math
p(Y|X) = \frac{p(X|Y)p(Y)}{p(X)}
```
# とりあえず６章から初めて、以後随時追加予定

# 6. Kernel Methods
K近傍法: memory依存、学習は早いが予測は遅い
Kernel Method: 入力$x$がスカラー積で表されるなら、$x$は他のカーネルで表現/置換できる、という概念

## 6.1. Dual Representations 双対表現
回帰、分類のための多くの線形モデルはDual Representationによって書き直すことができる。
Dual Representationは$k(\boldsymbol{x}, \boldsymbol{x^{'}})$のみで表され、これで特徴量の次元の呪いから解放される。

## 6.2. Constructing Kernels
$k(\boldsymbol{x}, \boldsymbol{x^{'}})$が有効なカーネルである必要十分条件は、$k(\boldsymbol{x}, \boldsymbol{x^{'}})$で与えられるグラム行列$\boldsymbol{K}$が正定値であることである。カーネルは、一つのカーネルから芋づる式に作ることもできるし、他にも色々と方法がある。

## 6.3. Radial Basis Function Networks　RBFネットワーク
回帰モデルの基底関数として一般に用いられるのがRBFであり、通常ユークリッド距離を用いて

```math
\phi_j(x) = h(|| \boldsymbol{x} - \boldsymbol{\mu}_j||)
```

と表される。RBFとして、他にも以下の節で紹介するようなものがあるが、正規化が重要になることが実用上多い。
基底関数の中心の選び方は、体系的には直行最小二乗法がある。

## 6.3.1 Nadaraya-Watson model
正直よくわからなかった。
カーネル回帰問題を、カーネル密度関数と結びつけて考える。回帰関数を求めるためには、入力変数で条件づけられた目標変数の条件付き期待値を考えて、

```math
k(\boldsymbol{x}, \boldsymbol{x_n}) = 1, 
g(\boldsymbol{x}) = \int^{\infty}_{-\infty} f(\boldsymbol{x}, t)dt
```
として、

```math
y(\boldsymbol{x}) = \frac{g(\boldsymbol{x}) - \boldsymbol{x}_n}{\sum_{m} g(\boldsymbol{x} - \boldsymbol{x}_m)}
```
が得られる。このモデルは、条件付き期待値だけでなく、条件付き確率分布も定義し、

```math
p(t|\boldsymbol{x}) = \frac{p(t, \boldsymbol{x})}{\int p(t, \boldsymbol{x})dt} = \frac{\Sigma_n \, f(\boldsymbol{x}-\boldsymbol{x}_m, t-t_m)}{\Sigma_m \int f(\boldsymbol{x}-\boldsymbol{x}_m, t-t_m) }
```

のようになる。

# 6.4 Gaussian Process
ガウス過程では、パラメトリックモデルを捨て、関数に直接、事前確率分布を仮定する。

##6.4.1 Linear regression rivisited
線型結合のモデルとして、$y(\boldsymbol{x}) = \boldsymbol{w}^T\phi(\boldsymbol{x})$を考え、$\boldsymbol{w}$の事前分布として等方的なガウス分布を想定し、

```math
p(\boldsymbol{w}) = N(\boldsymbol{w}|\boldsymbol{0}, \alpha^{-1}\boldsymbol{I})
```
この時、要素$\Phi_{nk} = \phi_k(\boldsymbol{x}_n)$を持つ計画行列$\Phi$を用いて

```math
\boldsymbol{y} = \boldsymbol{\Phi}\boldsymbol{w}
```
と表される。以下のようにして$\boldsymbol{y}$が求まる。
$\boldsymbol{y}$はガウス分布に従う$\boldsymbol{w}$の線型結合であるので、$\boldsymbol{y}$自身もガウス分布に従うので、平均と共分散を求めればよい。

```math
E[\boldsymbol{y}] = \boldsymbol{\Phi}E[\boldsymbol{w}] = \boldsymbol{0} \\
cov[\boldsymbol{y}] = E[\boldsymbol{y}\boldsymbol{y}^T] = \boldsymbol{\Phi}E[\boldsymbol{w}\boldsymbol{w}^T]\boldsymbol{\Phi}^T = \frac{1}{\alpha}\boldsymbol{\Phi}\boldsymbol{\Phi}^T = \boldsymbol{K}
```
ただし、$\boldsymbol{K}$は、

```math
K_{nm} = k(\boldsymbol{x}_n, \boldsymbol{x}_m) = \frac{1}{\alpha}\phi(\boldsymbol{x}_n)^T\phi(\boldsymbol{x}_m)
```

今回のように入力ベクトル$\boldsymbol{x}$が２次元の時は、ガウス確率場と呼ばれる。より一般的に確率過程$y(\boldsymbol{x})$は、任意の有限な値の集合$y(\boldsymbol{x}_1), \dots, y(\boldsymbol{x}_n)$に対して矛盾しない同時分布を与える。
ガウス分布の重要な特徴は、N個の変数$y_1, \dots, y_N$の同時分布が、２次までの特徴量で記述されることである。多くの場合、$y(\boldsymbol{x})$への事前知識がないため、対称性よりこれを$0$とすることが多い。このとき、ガウス過程はカーネル関数

```math
E[y(\boldsymbol{x}_n)y(\boldsymbol{x}_m)] = k(\boldsymbol{x}_n, \boldsymbol{x}_m)
```

となる。今回のように線型結合で考えれば、カーネル関数は

```math
\frac{1}{\alpha}\phi(\boldsymbol{x}_n)^T\phi(\boldsymbol{x}_m)
```
となる。

##6.4.2 Gaussian processes for regression
ガウス過程で線形回帰を行うので、目的変数に含まれるノイズ$t_n = y_n + \epsilon_n$を考える。ノイズもガウス分布に従うと考え、$p(t_n|y_n) = N(t_n|y_n, \beta^{-1})$とする。$\beta$はノイズの精度を表すハイパーパラメータ(ノイズの精度ってなんやねん)。ノイズは各$y_i$に対して独立に決まるので、条件$\boldsymbol{y}$の下での目標値である$\boldsymbol{t}$の同時分布は以下のガウス分布で定まる。

```math
p(\boldsymbol{t}|\boldsymbol{y}) = N(\boldsymbol{t}|\boldsymbol{y}, \beta^{-1}\boldsymbol{I}_N)
```
ガウス分布の定義より、$p(\boldsymbol{y})$は平均$0$、共分散がグラム行列$\boldsymbol{K}$で与えられるガウス分布になる。

```math
p(\boldsymbol{y}) = N(\boldsymbol{y} | \boldsymbol{0}, \boldsymbol{K}) 
```
式(2.115)を用いて、$\boldsymbol{t}$の周辺分布は、

```math
p(\boldsymbol{t}) = \int p(\boldsymbol{t}|\boldsymbol{y})p(\boldsymbol{y})d\boldsymbol{y} = N(\boldsymbol{t} | \boldsymbol{0}, \boldsymbol{C}) 
```
となる(計算は追えていない)。ここで、共分散行列$\boldsymbol{C}$は、要素$C(x_n, x_m) = k(x_n, x_m) + β^{-1}\delta_{nm}$を持つ。
回帰を行うには、新しい入力に対して予測を行うことが必要であり、つまり$\boldsymbol{x}$とそれに対応する$\boldsymbol{t}$、新たな入力$x_{N+1}$が与えられた時に周辺分布$p(t_{N+1}|\boldsymbol{t})$を求めることが必要である。
まず、$p(\boldsymbol{t}_{N+1})$の同時分布を求めるが、これは以下で与えられる。

```math
p(\boldsymbol{t}_{N+1}) = N(\boldsymbol{t}_{N+1} | \boldsymbol{0}, \boldsymbol{C}_{N+1})
```
$\boldsymbol{C}_{N+1}$を以下のように分割する。

```math
C = \begin{pmatrix}
\boldsymbol{C}_{N+1} & \boldsymbol{k} \\
\boldsymbol{k}^T & c
\end{pmatrix}
```
但し、

```math
c = k(\boldsymbol{x}_{N+1} , \boldsymbol{x}_{N+1}) + \beta^{-1}
```
とする。条件付分布は結局以下の平均と分散を持つガウス分布になる。

```math
m(\boldsymbol{x}_{N+1}) = \boldsymbol{k}^T\boldsymbol{C}_N^{-1}\boldsymbol{t}  \\
\sigma^2(\boldsymbol{C}_{N+1}) = c - \boldsymbol{k}^T\boldsymbol{C}_N^{-1}\boldsymbol{k}
```
これはガウス過程の重要な結果である。また、大きな入力に対して逆行列を計算するのは不可能であるため、多くの近似的手法が研究されている。

##6.4.3 Learning the hyperparameters
もっと短くまとめます......

# 6章末　練習問題