環境: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
|