機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

ガウス過程

線形回帰再訪

線形回帰モデルにおいて予測分布を考えます。

線形回帰モデルは以下であるとします。

\begin{eqnarray}
y({\bf x})={\bf w}^\top{\boldsymbol\phi}({\bf x})\tag{1}
\end{eqnarray}

\bf wの事前分布は等方的なガウス分布とします。

\begin{eqnarray}
p({\bf w})=\mathcal{N}({\bf w}|{\bf 0},\alpha^{-1}{\bf I})\tag{2}
\end{eqnarray}

y_n=y({\bf x}_n)とします。
{\bf y}=(y_1,\ldots,y_N)^\topは以下のように表せます。

\begin{eqnarray}
{\bf y}={\boldsymbol\Phi}{\bf w}\tag{3}
\end{eqnarray}

(3)より、\bf y\bf wを定数行列\boldsymbol\Phiで線形変換したものですので、
\bf yもまたガウス分布に従います。

この期待値は

\begin{eqnarray}
\mathbb{E}[{\bf y}]&=&\mathbb{E}[{\boldsymbol\Phi}{\bf w}]\\
&=&{\boldsymbol\Phi}\mathbb{E}[{\bf w}]\\
&=&{\bf 0}\tag{4}
\end{eqnarray}

です。分散共分散行列は

\begin{eqnarray}
{\bf\Sigma}&=&\mathbb{E}[{\bf y}{\bf y}^\top]-\mathbb{E}[{\bf y}]\mathbb{E}[{\bf y}]^\top\\
&=&\mathbb{E}[{\bf y}{\bf y}^\top]-{\bf O}\\
&=&\mathbb{E}[{\boldsymbol\Phi}{\bf w}({\boldsymbol\Phi}{\bf w})^\top]\\
&=&\mathbb{E}[{\boldsymbol\Phi}{\bf w}{\bf w}^\top{\boldsymbol\Phi}^\top]\\
&=&{\boldsymbol\Phi}\mathbb{E}[{\bf w}{\bf w}^\top]{\boldsymbol\Phi}^\top\\
&=&\frac{1}{\alpha}{\boldsymbol\Phi}{\boldsymbol\Phi}^\top\\
&=&{\bf K}\tag{5}
\end{eqnarray}

ここで、\bf K

\begin{eqnarray}
K_{nm}=k({\bf x}_n,{\bf x}_m)=\frac{1}{\alpha}{\boldsymbol\phi}({\bf x}_n)^\top{\boldsymbol\phi}({\bf x}_m)\tag{6}
\end{eqnarray}

を要素にもつグラム行列で、k({\bf x},{\bf x}')カーネル関数です。

(4),(5)より、

\begin{eqnarray}
{\bf y}\sim\mathcal{N}({\bf 0},{\bf K})\tag{7}
\end{eqnarray}

となります。
(7)では、線形回帰モデルにあった重み\bf wは期待値がとられて消えていることに注意してください。
よってこの場合は、線形回帰モデルとは異なり\bf x{\boldsymbol\phi({\bf x})}の次元がどんなに高くても、\bf wを求める必要はありません。

どんなN個の入力の集合\{{\bf x}_1,\ldots,{\bf x}_N\}についても、対応する出力{\bf y}=\{{\bf y}_1,\ldots,{\bf y}_N\}の同時分布p({\bf y})
多変量ガウス分布に従うとき、\bf xyの関係はガウス過程に従うといいます。

また、多変量ガウス分布において2つの変数の間の共分散が大きいとは、似た値を取りやすいということなので、
すなわち、特徴ベクトルの空間において{\bf x}_n{\bf x}_n'が似ているなら、対応するy_n,y_n'も似た値を持つことになります。

ガウス過程のイメージ

ガウス過程とは、無限次元のガウス分布のことだと考えることができます。
無限個の入力\mathcal{X}=\{{\bf x}_1,{\bf x}_2,\ldots\}に対応してガウス過程に従う無限次元のベクトルを

\begin{eqnarray}
{\bf f}=(f({\bf x}_1),f({\bf x}_2),\ldots)^\top\tag{8}
\end{eqnarray}

と書き、

\begin{eqnarray}
{\bf f}\sim\mathcal{N}({\boldsymbol\mu},{\bf K})\tag{9}
\end{eqnarray}

で、平均が{\boldsymbol\mu}ガウス過程を表すことにします。
ここで、\bf Kはあらゆる入力\bf xの間の共分散を表す無限次元の行列です。

この\bf fのうち、観測された有限個のf({\bf x}_1),\ldots,f({\bf x}_N)に限って残りを周辺化し、有限次元のガウス分布としたものが
(7)ということになります。

\mathcal{X}=\{{\bf x}_1,{\bf x}_2,{\bf x}_3\}の3点の場合のガウス過程のイメージを下図に示しました。

f:id:olj611:20210607031254p:plain:w700

ガウス過程の正確な定義

どんな自然数Nにおいても、入力{\bf x}_1,\ldots,{\bf x}_N\in\mathcal{X}に対応する出力のベクトル

\begin{eqnarray}
{\bf f}=(f({\bf x}_1),\ldots,f({\bf x}_N))^\top\tag{10}
\end{eqnarray}

が平均{\boldsymbol\mu}=(\mu({\bf x}_1),\ldots,\mu({\bf x}_N))^\topK_{nn'}=k({\bf x}_n,{\bf x}_n')を要素とする行列\bf Kを共分散行列とする
ガウス分布\mathcal{N}({\boldsymbol\mu},{\bf K})に従うとき、fガウス過程に従うといい、これを

\begin{eqnarray}
f\sim{\rm GP}(\mu({\bf x}),k({\bf x},{\bf x}'))
\end{eqnarray}

と書きます。

※多くの場合、データを適切に変換することで、{\boldsymbol\mu}\bf 0とみなせますから、\muをモデル化する必要は実際にはあまりないようです。

偉人の名言

f:id:olj611:20210605014444p:plain:w300
時計を見るな!
トーマス・エジソン

参考文献

ガウス過程と機械学習
パターン認識機械学習 下巻 p15-17

動画

なし

目次へ戻る