機械学習基礎理論独習

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

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

カーネル回帰 - Nadaraya-Watsonモデル

RBF(動径基底関数)

RBF(動径基底関数)は{\boldsymbol\mu}_jからの動径に依存する以下のような形式をもったものがよく利用されます。

\begin{eqnarray}
{\phi}_j({\bf x})=h(||{\bf x}-{\boldsymbol\mu}_j||)\tag{1}
\end{eqnarray}

関数補間では、\{{\bf x}_n,t_n\}が与えられたときに、f({\bf x}_n)=t_n(n=1,\ldots,N)となるように、目的変数の値を正確に再現することの
できる滑らかな関数f({\bf x})を求めることが目的です。
次のように、f({\bf x})を各データ点に中心を置いたRBFの線形結合で表すことができます。

\begin{eqnarray}
f({\bf x})=\sum_{n=1}^Nw_nh(||{\bf x}-{\bf x}_n||)\tag{2}
\end{eqnarray}

係数\{w_n\}の値は、最小二乗法によって求めることができます。(過学習はしてしまいます。)

変分法を用いたNadaraya-Watsonモデルの定式化

入力変数にノイズが含まれる場合の補間を考えます。
入力変数{\bf x}に含まれるノイズが、確率分布\nu({\boldsymbol\xi})に従う確率変数とによって表されるとき、二乗和誤差関数は以下のようになります。

\begin{eqnarray}
E[y({\bf x})]=\frac{1}{2}\sum_{n=1}^N\int(y({\bf x}_n+{\boldsymbol\xi})-t_n)^2\nu({\boldsymbol\xi}){\rm d}{\boldsymbol\xi}\tag{3}
\end{eqnarray}

Eは二乗和誤差の期待値を足しわせたものであることが分かります。
(3)より、

\begin{eqnarray}
E[y({\bf x})+\epsilon\eta({\bf x})]&=&\frac{1}{2}\sum_{n=1}^N\int(y({\bf x}_n+{\boldsymbol\xi})+\epsilon\eta({\bf x}+{\boldsymbol\xi})-t_n)^2\nu({\boldsymbol\xi}){\rm d}{\boldsymbol\xi}\\
&=&\frac{1}{2}\sum_{n=1}^N\int\left(y({\bf x}_n+{\boldsymbol\xi})^2+\epsilon^2\eta({\bf x}+{\boldsymbol\xi})^2+t_n^2+2y({\bf x}_n+{\boldsymbol\xi})\epsilon\eta({\bf x}+{\boldsymbol\xi})-2y({\bf x}_n+{\boldsymbol\xi})t_n-2\epsilon\eta({\bf x}+{\boldsymbol\xi})t_n\right)\nu({\boldsymbol\xi}){\rm d}{\boldsymbol\xi}\\
&=&\frac{1}{2}\sum_{n=1}^N\int\left(y({\bf x}_n+{\boldsymbol\xi})^2-2y({\bf x}_n+{\boldsymbol\xi})t_n+t_n^2+2\epsilon(y({\bf x}_n+{\boldsymbol\xi})\eta({\bf x}+{\boldsymbol\xi})-\eta({\bf x}+{\boldsymbol\xi})t_n)+\epsilon^2\eta({\bf x}+{\boldsymbol\xi})^2\right)\nu({\boldsymbol\xi}){\rm d}{\boldsymbol\xi}\\
&=&\frac{1}{2}\sum_{n=1}^N\int\left((y({\bf x}_n+{\boldsymbol\xi})-t_n)^2+2\epsilon\eta({\bf x}+{\boldsymbol\xi})(y({\bf x}_n+{\boldsymbol\xi})-t_n)+\epsilon^2\eta({\bf x}+{\boldsymbol\xi})^2\right)\nu({\boldsymbol\xi}){\rm d}{\boldsymbol\xi}\\
&=&E[y({\bf x})]+\epsilon\sum_{n=1}^N\int\eta({\bf x}+{\boldsymbol\xi})(y({\bf x}_n+{\boldsymbol\xi})\epsilon-t_n)\nu({\boldsymbol\xi}){\rm d}{\boldsymbol\xi}+O(\epsilon^2)\tag{4}
\end{eqnarray}

ここで、O(\epsilon^2)\epsilon^2の項です。
停留条件は\epsilonの係数が0になることなので、以下のようになります。

\begin{eqnarray}
\sum_{n=1}^N\int\eta({\bf x}+{\boldsymbol\xi})(y({\bf x}_n+{\boldsymbol\xi})\epsilon-t_n)\nu({\boldsymbol\xi}){\rm d}{\boldsymbol\xi}=0\tag{5}
\end{eqnarray}

ここで、積分を外すためによく用いられるデルタ関数\eta({\bf x}_n+{\boldsymbol\xi})=\delta(({\bf x}_n+{\boldsymbol\xi})-{\bf z})を使います。

\begin{eqnarray}
\int\delta(({\bf x}_n+{\boldsymbol\xi})-{\bf z})(y({\bf x}_n+{\boldsymbol\xi})\epsilon-t_n)\nu({\boldsymbol\xi}){\rm d}{\boldsymbol\xi}=(y({\bf z})-t_n)\nu({\bf z}-{\bf x}_n)\tag{6}
\end{eqnarray}

(6)より、(5)は以下のようになります。

\begin{eqnarray}
&&\sum_{n=1}^N(y({\bf z})-t_n)\nu({\bf z}-{\bf x}_n)=0\\
&&\Leftrightarrow\sum_{n=1}^Ny({\bf z})\nu({\bf z}-{\bf x}_n)=\sum_{n=1}^Nt_n\nu({\bf z}-{\bf x}_n)\\
&&\Leftrightarrow y({\bf z})=\frac{\sum_{n=1}^Nt_n\nu({\bf z}-{\bf x}_n)}{\sum_{m=1}^N\nu({\bf z}-{\bf x}_m)}\tag{7}
\end{eqnarray}

(7){\bf z}\bf xで書き替えます。

\begin{eqnarray}
y({\bf x})&=&\frac{\sum_{n=1}^Nt_n\nu({\bf x}-{\bf x}_n)}{\sum_{m=1}^N\nu({\bf x}-{\bf x}_m)}\\
&=&\sum_{n=1}^Nt_nh({\bf x}-{\bf x}_n)\tag{8}
\end{eqnarray}

ここで、RBFは以下で与えられるものとします。

\begin{eqnarray}
h({\bf x}-{\bf x}_n)=\frac{\nu({\bf x}-{\bf x}_n)}{\sum_{m=1}^N\nu({\bf x}-{\bf x}_m)}\tag{9}
\end{eqnarray}

基底関数が正規化されているため、任意の{\bf x}に対して\sum_{n=1}^Nh({\bf x}-{\bf x}_n)=1となります。

下の左図は3つのガウス紙関数、下の右図はそれぞれの基底関数を正規化したものです。
f:id:olj611:20210604195510p:plain:w700

カーネル密度推定法を用いたNadaraya-Watsonモデルの定式化

訓練集合を\{{\bf x}_n,t_n\}として、同時分布p({\bf x},t)を推定します。
カーネル密度推定法を用います。

\begin{eqnarray}
p({\bf x},t)=\frac{1}{N}\sum_{n=1}^Nf({\bf x}-{\bf x}_n,t-t_n)\tag{10}
\end{eqnarray}

y({\bf x})を求めるには、入力変数で条件付けられた目標変数の条件付き期待値を考えればよいです。

\begin{eqnarray}
y({\bf x})&=&\mathbb{E}[t|{\bf x}]\\
&=&\int tp(t|{\bf x}){\rm d}{t}\\
&=&\int \frac{t p({\bf x},t)}{p({\bf x})}{\rm d}{t}\\
&=&\frac{\int tp({\bf x},t){\rm d}{t}}{\int p({\bf x},t){\rm d}{t}}\\
&=&\frac{\sum_{n}\int tf({\bf x}-{\bf x}_n,t-t_n){\rm d}{t}}{\sum_m\int f({\bf x}-{\bf x}_m,t-t_m){\rm d}{t}}\tag{11}
\end{eqnarray}

ここで、f({\bf x},t)tについての平均は0であるとします。

\begin{eqnarray}
\int t f({\bf x},t){\rm d}{t}=0\tag{12}
\end{eqnarray}

(12){\bf x}{\bf x}-{\bf x}_nを、tt-t_nを代入します。

\begin{eqnarray}
&&\int (t-t_n)f({\bf x}-{\bf x}_n,t-t_n){\rm d}{t}=0\\
&&\Leftrightarrow\int tf({\bf x}-{\bf x}_n,t-t_n){\rm d}{t}=t_n\int f({\bf x}-{\bf x}_n,t-t_n){\rm d}{t}\tag{13}
\end{eqnarray}

(13)(11)に代入します。

\begin{eqnarray}
y({\bf x})&=&\frac{\sum_{n}t_n\int f({\bf x}-{\bf x}_n,t-t_n){\rm d}{t}}{\sum_m\int f({\bf x}-{\bf x}_m,t-t_m){\rm d}{t}}\\
&=&\frac{\sum_ng({\bf x}-{\bf x}_n)t_n}{\sum_mg({\bf x}-{\bf x}_m)}\\
&=&\sum_nk({\bf x}-{\bf x}_n)t_n\tag{14}
\end{eqnarray}

(14)g({\bf x}),k({\bf x},{\bf x}_n)は次のようにおきました。

\begin{eqnarray}
&&g({\bf x})=\int f({\bf x},t){\rm d}t\tag{15}\\
&&k({\bf x},{\bf x}_n)=\frac{g({\bf x}-{\bf x}_n)}{\sum_mg({\bf x}-{\bf x}_m)}\tag{16}
\end{eqnarray}

任意の{\bf x}に対して\sum_{n=1}^Nk({\bf x},{\bf x}_n)=1となります。

条件付期待値ではなく、条件付確率分布は以下のようになります。

\begin{eqnarray}
p(t|{\bf x})&=&\frac{p(t,{\bf x})}{\int p(t,{\bf x}){\rm d}t}\\
&=&\frac{\sum_nf({\bf x}-{\bf x}_n,t-t_n)}{\sum_m\int f({\bf x}-{\bf x}_m,t-t_m){\rm d}t}\tag{17}
\end{eqnarray}

Nadaraya-Watsonモデルの例

例として、入力xが1次元で、f(x,t)が平均{\bf 0}、分散が\sigma^2{\bf I}の等方的なガウス分布{\bf z}=(x,t)^\topで与えられるような場合を考えます。

\begin{eqnarray}
f(x,t)&=&f({\bf z})\\
&=&\mathcal{N}({\bf z}|{\bf 0},\sigma^2{\bf I})\\
&=&\frac{1}{2\pi\sigma^2}\exp\left(-\frac{1}{2\sigma^2}{\bf z}^\top{\bf I}{\bf z}\right)\\
&=&\frac{1}{2\pi\sigma^2}\exp\left(-\frac{1}{2\sigma^2}(x,t)\begin{pmatrix}1 & 0\\0 & 1\end{pmatrix}\begin{pmatrix}x\\t\end{pmatrix}\right)\\
&=&\frac{1}{2\pi\sigma^2}\exp\left(-\frac{1}{2\sigma^2}(x^2+t^2)\right)\tag{18}
\end{eqnarray}

(15)(18)を代入します。

\begin{eqnarray}
g(x)&=&\int f(x,t){\rm d}t\\
&=&\int \frac{1}{2\pi\sigma^2}\exp\left(-\frac{1}{2\sigma^2}(x^2+t^2)\right){\rm d}t\\
&=&\frac{1}{2\pi\sigma^2}\exp\left(-\frac{x^2}{2\sigma^2}\right)\int\exp\left(-\frac{t^2}{2\sigma^2}\right){\rm d}t\\
&=&\frac{1}{2\pi\sigma^2}\exp\left(-\frac{x^2}{2\sigma^2}\right)\sqrt{2\pi\sigma^2}\\
&=&\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{x^2}{2\sigma^2}\right)\tag{19}
\end{eqnarray}

(16),(19)より、以下のようになります。

\begin{eqnarray}
k(x, x_n)&=&\frac{g(x-x_n)}{\sum_mg(x-x_m)}\\
&=&\frac{g(x-x_n)}{\sum_mg(x-x_m)}\\
&=&\frac{\exp\left(-\frac{(x-x_n)^2}{2\sigma^2}\right)}{\sum_m\exp\left(-\frac{(x-x_m)^2}{2\sigma^2}\right)}\tag{20}
\end{eqnarray}

(17)の分母にある\int f(x-x_m,t-t_m){\rm d}tを計算します。

\begin{eqnarray}
\int f(x-x_m,t-t_m){\rm d}t&=&\int \frac{1}{2\pi\sigma^2}\exp\left(-\frac{1}{2\sigma^2}((x-x_m)^2+(t-t_m)^2)\right){\rm d}t\\
&=&\frac{1}{2\pi\sigma^2}\exp\left(-\frac{(x-x_m)^2}{2\sigma^2}\right)\int\exp\left(-\frac{(t-t_m)^2}{2\sigma^2}\right){\rm d}t\\
&=&\frac{1}{2\pi\sigma^2}\exp\left(-\frac{(x-x_m)^2}{2\sigma^2}\right)\sqrt{2\pi\sigma^2}\\
&=&\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{(x-x_m)^2}{2\sigma^2}\right)\tag{21}
\end{eqnarray}

(17)より、

\begin{eqnarray}
p(t|x)&=&\frac{\sum_nf(x-x_n,t-t_n)}{\sum_m\int f(x-x_m,t-t_m){\rm d}t}\\
&=&\frac{\sum_n\frac{1}{2\pi\sigma^2}\exp(-\frac{(x-x_n)^2+(t-t_n)^2}{2\sigma^2})}{\sum_m\frac{1}{\sqrt{2\pi\sigma^2}}\exp(-\frac{(x-x_m)^2}{2\sigma^2})}\\
&=&\frac{1}{\sqrt{2\pi\sigma^2}}\frac{\sum_n\exp(-\frac{(x-x_n)^2+(t-t_n)^2}{2\sigma^2})}{\sum_m\exp(-\frac{(x-x_m)^2}{2\sigma^2})}\\
&=&\sum_n\frac{\exp(-\frac{(x-x_n)^2}{2\sigma^2})}{\sum_m\exp(-\frac{(x-x_m)^2}{2\sigma^2})}\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{(t-t_n)^2}{2\sigma^2}\right)\\
&=&\sum_nk(x,x_n)\mathcal{N}(t|t_n\sigma^2)\tag{22}
\end{eqnarray}

となります。

また、条件付き期待値と条件付き分散はカーネルを使って次のように書けます。

\begin{eqnarray}
\mathbb{E}[t|x]&=&\int tp(t|x){\rm d}t\\
&=&\int t \sum_nk(x,x_n)\mathcal{N}(t|t_n\sigma^2){\rm d}t\\
&=&\sum_nk(x,x_n)\int t \mathcal{N}(t|t_n\sigma^2){\rm d}t\\
&=&\sum_nk(x,x_n)t_n\tag{23}
\end{eqnarray}

\begin{eqnarray}
{\rm var}[t|x]&=&\int (t-0)^2p(t|x){\rm d}t\\
&=&\int t^2p(t|x){\rm d}t\\
&=&\int t^2 \sum_nk(x,x_n)\mathcal{N}(t|t_n\sigma^2){\rm d}t\\
&=&\sum_nk(x,x_n)\int t ^2\mathcal{N}(t|t_n\sigma^2){\rm d}t\\
&=&\sum_nk(x,x_n)\sigma^2\tag{24}
\end{eqnarray}

下図に、三角関数データに対して等方的なガウスカーネルを用いたときの、Nadaraya-Watsonカーネル回帰モデルを図示したものを示します。
回帰関数は、赤い曲線です。条件付き分布p(t|x)標準偏差の2倍までの領域を薄い赤い色で示しています。
等高線が円になっていないのは、縦軸と横軸の縮尺が異なるためです。

f:id:olj611:20210604234115p:plain:w400

偉人の名言

f:id:olj611:20210604194914p:plain:w300
長い人生には必ず浮沈がある。しかし、努力勉強は必ず報われる。
江戸英雄

参考文献

パターン認識機械学習 下巻 p10-14

目次へ戻る