カーネル法による正則化最小二乗法(1)で、正則化最小二乗法の誤差関数からカーネル関数を導きました。今回は、別のアプローチで回帰分析を行ってもやはりカーネル関数が導かれることを見ていきます。
与えられた訓練データをもとに、分布を推定することを考えます。カーネル密度推定法を用い、密度関数(カーネル密度推定法におけるカーネル関数)をとすれば、カーネル密度推定法の式(13)より、
と書けます。
さて、求めたいものは新たな入力に対する予測値です。ここでを固定したときのの分布を考えれば、の平均値を予測値とすれば良さそうです。よっての値は、
です。式(3)は確率密度関数に対する期待値の計算を定義どおりに行っているだけです。
条件付き確率、同時確率、周辺確率の式(1)より
ですから、式(3)は
です。ここで条件付き確率、同時確率、周辺確率の式(10)より
ですから、式(5)に代入すれば
となります。さらに式(1)を式(7)に代入すれば、
となります。積分の演算の線形性より、は積分の外に出せます。
さて、ここで任意のに対して
が成り立つとします。式(9)は平均値の計算です。用いた密度関数を中心0の正規分布と考えれば、とりあえずイメージが湧きそうです。で、式(9)が成り立つとき、に、にを代入すれば、
となり、式(11)を式(8)に代入すると、
となります。ここで
と書くことにすれば、
と書けます。さらに、カーネル関数を
とおけば、
となり、推定値はカーネル関数定数で表されることがわかります。別のアプローチでも正則化最小二乗法からの導出と同じ結果となりました。で、式(16)を用いた回帰分析をカーネル回帰、またはNadaraya-Watsonモデルと呼ぶようです。
最後のほうはなんか騙されたような気になっちゃったんですが。例えばカーネル関数って内積として定義したんじゃなかったっけ、式(15)はカーネル関数とみなせるのか?とか(参考:カーネル法)。自分なりには、例えばがカーネル関数なら何らかの内積として表せるはずで、それがと書けるなら、式(15)は分母をと書けばとなるはずだから、やっぱりカーネル関数、という理解をしました。合ってるのかな?あんまり自信がない。
まあ式変形はいろいろあるんですが、カーネル密度推定法で分布を推定し、を固定したときの分布の平均値を予測値とするというだけです。
次回プログラムを書いて実験してみたいと思います。 → カーネル回帰分析(2)実験結果
この実験結果を見てからのほうが、この記事でやっていることのイメージが湧きやすいかもしれません。