環境:VC++6.0
関数近似手法いろいろ

観測データセット {(x(n), y(n))} に近くなるように、適当な連続関数を使って
近似式を立てることを関数近似といいます。ここでは、よく使われる関数近似手法について
簡単にまとめて、プログラムにより実験を行います。


[多項式近似]

もっともデータセットの点と近いところを通るような 
n次多項式 ( y = 蚤(n)x^n ) を求めます。

パラメータ( a(n) ) は、2乗誤差
E = 培y(i) - 蚤(n)x(i)^n|^2
が最小になるように設定します。(最小二乗法)

具体的には、x(n), y(n) の 相関ベクトル z
x(n)^i, x(n)^j の 共分散行列 K を用いて
パラメータ( a = (a(1) a(2) ...)^T )に関して、
 Ka = z が成り立つなので、
a = K^(-1) z を計算すればパラメータを求めることができます。



[RBF kernel による近似]

RBF(Radius Basis Function)とは、中心からの距離にのみ依存する関数族で、
典型例はガウス関数です。
( y = 蚤(n)exp(k|x-μ(n)|^2) )
この場合、パラメータは a(n) と μ(n) の2種類必要になります。

上の方法と同じように、係数 a(n) は最小二乗法により推定します。
中心座標 μ(n) は、例えば以下のようなアルゴリズムで推定します。



[3層パーセプトロンによる近似]
ああ


Back