活性化関数としてラジアル基底関数を使用する人工ニューラルネットワークの一種
数学的モデリング の分野において 、 ラジアル基底関数ネットワークは、 ラジアル基底関数を 活性化関数 として 使用する 人工ニューラルネットワーク です 。ネットワークの出力は、 入力とニューロンパラメータのラジアル基底関数の 線形結合です。ラジアル基底関数ネットワークには、 関数近似 、 時系列予測 、 分類 、システム 制御 など、多くの用途があります。これらは、1988年の論文で、英国 王立信号レーダー研究所 の研究者であるブルームヘッドとロウによって初めて定式化されました。 [1] [2] [3]
ネットワークアーキテクチャ
ラジアル基底関数ネットワークのアーキテクチャ。入力ベクトルは 、それぞれ異なるパラメータを持つすべてのラジアル基底関数への入力として使用されます。ネットワークの出力は、ラジアル基底関数からの出力の線形結合です。
x
{\displaystyle x}
ラジアル基底関数(RBF)ネットワークは、通常、入力層、非線形RBF活性化関数を持つ隠れ層、線形出力層の3つの層から構成されます。入力は実数のベクトルとしてモデル化できます 。ネットワークの出力は、入力ベクトルのスカラー関数であり 、次のように表されます。
x
∈
R
ん
{\displaystyle \mathbf {x} \in \mathbb {R} ^{n}}
φ
:
R
ん
→
R
{\displaystyle \varphi :\mathbb {R} ^{n}\to \mathbb {R} }
φ
(
x
)
=
∑
私
=
1
いいえ
1つの
私
ρ
(
|
|
x
−
c
私
|
|
)
{\displaystyle \varphi (\mathbf {x} )=\sum _{i=1}^{N}a_{i}\rho (||\mathbf {x} -\mathbf {c} _{i}| |)}
ここで、 は隠れ層のニューロンの数、 はニューロン の中心ベクトル 、 は 線形出力ニューロンにおける ニューロン の重みです。中心ベクトルからの距離のみに依存する関数は、そのベクトルを中心に放射状に対称であるため、放射基底関数と呼ばれます。基本形式では、すべての入力が各隠れニューロンに接続されています。 ノルムは通常、 ユークリッド距離 と見なされます (ただし、パターン認識では マハラノビス距離の 方が優れているようです [4] [5] [ 編集 ] )。放射基底関数は、一般的に ガウス と見なされます。
いいえ
{\displaystyle N}
c
私
{\displaystyle \mathbf {c} _{i}}
私
{\displaystyle i}
1つの
私
{\displaystyle a_{i}}
私
{\displaystyle i}
ρ
(
‖
x
−
c
私
‖
)
=
経験
[
−
β
私
‖
x
−
c
私
‖
2
]
{\displaystyle \rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}=\exp \left[-\beta _{i}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert ^{2}\right]}
。
ガウス基底関数は中心ベクトルに対して局所的であり、
リム
|
|
x
|
|
→
∞
ρ
(
‖
x
−
c
私
‖
)
=
0
{\displaystyle \lim _{||x||\to \infty }\rho (\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert )=0}
つまり、1 つのニューロンのパラメータを変更しても、そのニューロンの中心から遠く離れた入力値にはわずかな影響しか及ぼしません。
活性化関数の形状に一定の緩やかな条件が与えられれば、RBFネットワークはコンパクトなサブセット上の普遍的な近似器となる 。 [ 6 ] これ は 、十分な数の隠れニューロンを持つRBFネットワークが、閉じた境界付きセット上の任意の連続関数を任意の精度で近似できることを意味する。
R
ん
{\displaystyle \mathbb {R} ^{n}}
パラメータ 、、 は、 とデータ
間の適合を最適化する方法で決定されます。
1つの
私
{\displaystyle a_{i}}
c
私
{\displaystyle \mathbf {c} _{i}}
β
私
{\displaystyle \beta_{i}}
φ
{\displaystyle \varphi}
1 つの入力次元における 2 つの正規化されていないラジアル基底関数。基底関数の中心は、 およびにあります 。
c
1
=
0.75
{\displaystyle c_{1}=0.75}
c
2
=
3.25
{\displaystyle c_{2}=3.25}
正規化
標準化されたアーキテクチャ
上記の非正規化 アーキテクチャに加えて、RBFネットワークは 正規化する ことができる 。この場合、マッピングは
φ
(
x
)
=
d
e
ふ
∑
私
=
1
いいえ
1つの
私
ρ
(
‖
x
−
c
私
‖
)
∑
私
=
1
いいえ
ρ
(
‖
x
−
c
私
‖
)
=
∑
私
=
1
いいえ
1つの
私
あなた
(
‖
x
−
c
私
‖
)
{\displaystyle \varphi (\mathbf {x} )\ {\stackrel {\mathrm {def} }{=}}\ {\frac {\sum _{i=1}^{N}a_{i}\rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}}{\sum _{i=1}^{N}\rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}}=\sum _{i=1}^{N}a_{i}u{\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}}
どこ
あなた
(
‖
x
−
c
私
‖
)
=
d
e
ふ
ρ
(
‖
x
−
c
私
‖
)
∑
じゅう
=
1
いいえ
ρ
(
‖
x
−
c
じゅう
‖
)
{\displaystyle u{\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}\ {\stackrel {\mathrm {def} }{=}}\ {\frac {\rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}}{\sum _{j=1}^{N}\rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{j}\right\Vert {\big )}}}}
は正規化されたラジアル基底関数 として知られています 。
正規化の理論的動機
確率的データフローの場合、このアーキテクチャには理論的根拠がある。 結合確率密度に対する
確率的カーネル近似を仮定する。
ポ
(
x
∧
ええ
)
=
1
いいえ
∑
私
=
1
いいえ
ρ
(
‖
x
−
c
私
‖
)
σ
(
|
ええ
−
e
私
|
)
{\displaystyle P\left(\mathbf {x} \land y\right)={1 \over N}\sum _{i=1}^{N}\,\rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}\,\sigma {\big (}\left\vert y-e_{i}\right\vert {\big )}}
ここで重み と 値はデータからのサンプルであり、カーネルは正規化される必要がある。
c
私
{\displaystyle \mathbf {c} _{i}}
e
私
{\displaystyle e_{i}}
∫
ρ
(
‖
x
−
c
私
‖
)
d
ん
x
=
1
{\displaystyle \int \rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}\,d^{n}\mathbf {x} =1}
そして
∫
σ
(
|
ええ
−
e
私
|
)
d
ええ
=
1
{\displaystyle \int \sigma {\big (}\left\vert y-e_{i}\right\vert {\big )}\,dy=1}
。
入力空間と出力空間の確率密度は
ポ
(
x
)
=
∫
ポ
(
x
∧
ええ
)
d
ええ
=
1
いいえ
∑
私
=
1
いいえ
ρ
(
‖
x
−
c
私
‖
)
{\displaystyle P\left(\mathbf {x} \right)=\int P\left(\mathbf {x} \land y\right)\,dy={1 \over N}\sum _{i=1}^{N}\,\rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}}
そして
入力されたyの期待値 は
x
{\displaystyle \mathbf {x} }
φ
(
x
)
=
d
e
ふ
え
(
ええ
∣
x
)
=
∫
ええ
ポ
(
ええ
∣
x
)
d
ええ
{\displaystyle \varphi \left(\mathbf {x} \right)\ {\stackrel {\mathrm {def} }{=}}\ E\left(y\mid \mathbf {x} \right)=\int y\,P\left(y\mid \mathbf {x} \right)dy}
どこ
ポ
(
ええ
∣
x
)
{\displaystyle P\left(y\mid \mathbf {x} \right)}
は、与えられたyの条件付き確率である。条件付き確率は 、ベイズの定理 を通じて結合確率と関連している。
x
{\displaystyle \mathbf {x} }
ポ
(
ええ
∣
x
)
=
ポ
(
x
∧
ええ
)
ポ
(
x
)
{\displaystyle P\left(y\mid \mathbf {x} \right)={\frac {P\left(\mathbf {x} \land y\right)}{P\left(\mathbf {x} \右)}}}
その結果
φ
(
x
)
=
∫
ええ
ポ
(
x
∧
ええ
)
ポ
(
x
)
d
ええ
{\displaystyle \varphi \left(\mathbf {x} \right)=\int y\,{\frac {P\left(\mathbf {x} \land y\right)}{P\left(\mathbf { x} \右)}}\,dy}
。
これは
φ
(
x
)
=
∑
私
=
1
いいえ
e
私
ρ
(
‖
x
−
c
私
‖
)
∑
私
=
1
いいえ
ρ
(
‖
x
−
c
私
‖
)
=
∑
私
=
1
いいえ
e
私
あなた
(
‖
x
−
c
私
‖
)
{\displaystyle \varphi \left(\mathbf {x} \right)={\frac {\sum _{i=1}^{N}e_{i}\rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}}{\sum _{i=1}^{N}\rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}}}=\sum _{i=1}^{N}e_{i}u{\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}}
統合が実行される場合。
局所線形モデル
アーキテクチャを拡張して 局所線形 モデルを含めると便利な場合があります。その場合、アーキテクチャは第一に、
φ
(
x
)
=
∑
i
=
1
N
(
a
i
+
b
i
⋅
(
x
−
c
i
)
)
ρ
(
‖
x
−
c
i
‖
)
{\displaystyle \varphi \left(\mathbf {x} \right)=\sum _{i=1}^{N}\left(a_{i}+\mathbf {b} _{i}\cdot \left(\mathbf {x} -\mathbf {c} _{i}\right)\right)\rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}}
そして
φ
(
x
)
=
∑
i
=
1
N
(
a
i
+
b
i
⋅
(
x
−
c
i
)
)
u
(
‖
x
−
c
i
‖
)
{\displaystyle \varphi \left(\mathbf {x} \right)=\sum _{i=1}^{N}\left(a_{i}+\mathbf {b} _{i}\cdot \left(\mathbf {x} -\mathbf {c} _{i}\right)\right)u{\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}}
それぞれ正規化されていないケースと正規化されたケースです。ここで 決定する重みがあります。高次の線形項も可能です。
b
i
{\displaystyle \mathbf {b} _{i}}
この結果は次のように記述できる。
φ
(
x
)
=
∑
i
=
1
2
N
∑
j
=
1
n
e
i
j
v
i
j
(
x
−
c
i
)
{\displaystyle \varphi \left(\mathbf {x} \right)=\sum _{i=1}^{2N}\sum _{j=1}^{n}e_{ij}v_{ij}{\big (}\mathbf {x} -\mathbf {c} _{i}{\big )}}
どこ
e
i
j
=
{
a
i
,
if
i
∈
[
1
,
N
]
b
i
j
,
if
i
∈
[
N
+
1
,
2
N
]
{\displaystyle e_{ij}={\begin{cases}a_{i},&{\mbox{if }}i\in [1,N]\\b_{ij},&{\mbox{if }}i\in [N+1,2N]\end{cases}}}
そして
v
i
j
(
x
−
c
i
)
=
d
e
f
{
δ
i
j
ρ
(
‖
x
−
c
i
‖
)
,
if
i
∈
[
1
,
N
]
(
x
i
j
−
c
i
j
)
ρ
(
‖
x
−
c
i
‖
)
,
if
i
∈
[
N
+
1
,
2
N
]
{\displaystyle v_{ij}{\big (}\mathbf {x} -\mathbf {c} _{i}{\big )}\ {\stackrel {\mathrm {def} }{=}}\ {\begin{cases}\delta _{ij}\rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )},&{\mbox{if }}i\in [1,N]\\\left(x_{ij}-c_{ij}\right)\rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )},&{\mbox{if }}i\in [N+1,2N]\end{cases}}}
正規化されていない場合
v
i
j
(
x
−
c
i
)
=
d
e
f
{
δ
i
j
u
(
‖
x
−
c
i
‖
)
,
if
i
∈
[
1
,
N
]
(
x
i
j
−
c
i
j
)
u
(
‖
x
−
c
i
‖
)
,
if
i
∈
[
N
+
1
,
2
N
]
{\displaystyle v_{ij}{\big (}\mathbf {x} -\mathbf {c} _{i}{\big )}\ {\stackrel {\mathrm {def} }{=}}\ {\begin{cases}\delta _{ij}u{\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )},&{\mbox{if }}i\in [1,N]\\\left(x_{ij}-c_{ij}\right)u{\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )},&{\mbox{if }}i\in [N+1,2N]\end{cases}}}
正規化されたケースでは。
クロネッカーのデルタ関数 は 次 のように定義される
。
δ
i
j
{\displaystyle \delta _{ij}}
δ
i
j
=
{
1
,
if
i
=
j
0
,
if
i
≠
j
{\displaystyle \delta _{ij}={\begin{cases}1,&{\mbox{if }}i=j\\0,&{\mbox{if }}i\neq j\end{cases}}}
。
トレーニング
RBF ネットワークは通常、2 段階のアルゴリズムによって入力値とターゲット値のペアからトレーニングされ ます 。
x
(
t
)
,
y
(
t
)
{\displaystyle \mathbf {x} (t),y(t)}
t
=
1
,
…
,
T
{\displaystyle t=1,\dots ,T}
最初のステップでは、隠れ層の RBF 関数の中心ベクトルが選択されます。このステップはいくつかの方法で実行できます。中心は、いくつかの例のセットからランダムにサンプリングすることも、 k 平均法クラスタリングを 使用して決定することもできます。このステップは 教師なしである ことに注意してください 。
c
i
{\displaystyle \mathbf {c} _{i}}
2 番目のステップでは、ある目的関数に関して、隠れ層の出力に
係数を持つ線形モデルを単純に当てはめます。少なくとも回帰/関数推定の場合、一般的な目的関数は最小二乗関数です。
w
i
{\displaystyle w_{i}}
K
(
w
)
=
d
e
f
∑
t
=
1
T
K
t
(
w
)
{\displaystyle K(\mathbf {w} )\ {\stackrel {\mathrm {def} }{=}}\ \sum _{t=1}^{T}K_{t}(\mathbf {w} )}
どこ
K
t
(
w
)
=
d
e
f
[
y
(
t
)
−
φ
(
x
(
t
)
,
w
)
]
2
{\displaystyle K_{t}(\mathbf {w} )\ {\stackrel {\mathrm {def} }{=}}\ {\big [}y(t)-\varphi {\big (}\mathbf {x} (t),\mathbf {w} {\big )}{\big ]}^{2}}
。
重みへの依存性を明示的に含めました。重みの最適な選択による最小二乗目的関数の最小化により、適合の精度が最適化されます。
滑らかさや精度など、複数の目的を最適化しなければならない場合があります。その場合、次のような正規化された目的関数を最適化すると便利です。
H
(
w
)
=
d
e
f
K
(
w
)
+
λ
S
(
w
)
=
d
e
f
∑
t
=
1
T
H
t
(
w
)
{\displaystyle H(\mathbf {w} )\ {\stackrel {\mathrm {def} }{=}}\ K(\mathbf {w} )+\lambda S(\mathbf {w} )\ {\stackrel {\mathrm {def} }{=}}\ \sum _{t=1}^{T}H_{t}(\mathbf {w} )}
どこ
S
(
w
)
=
d
e
f
∑
t
=
1
T
S
t
(
w
)
{\displaystyle S(\mathbf {w} )\ {\stackrel {\mathrm {def} }{=}}\ \sum _{t=1}^{T}S_{t}(\mathbf {w} )}
そして
H
t
(
w
)
=
d
e
f
K
t
(
w
)
+
λ
S
t
(
w
)
{\displaystyle H_{t}(\mathbf {w} )\ {\stackrel {\mathrm {def} }{=}}\ K_{t}(\mathbf {w} )+\lambda S_{t}(\mathbf {w} )}
ここで、S の最適化は滑らかさを最大化し、 正則化 パラメータとして知られています 。
λ
{\displaystyle \lambda }
3番目のオプションの バックプロパゲーション ステップを実行して、RBFネットのすべてのパラメータを微調整することができます。 [3]
補間
RBFネットワークは、関数の値が有限個の点上で分かっている場合に 関数を補間するために使用できます 。既知の点を ラジアル基底関数の中心とし、同じ点における基底関数の値を評価すると、 重みは次の式から解くことができます。
y
:
R
n
→
R
{\displaystyle y:\mathbb {R} ^{n}\to \mathbb {R} }
y
(
x
i
)
=
b
i
,
i
=
1
,
…
,
N
{\displaystyle y(\mathbf {x} _{i})=b_{i},i=1,\ldots ,N}
x
i
{\displaystyle \mathbf {x} _{i}}
g
i
j
=
ρ
(
|
|
x
j
−
x
i
|
|
)
{\displaystyle g_{ij}=\rho (||\mathbf {x} _{j}-\mathbf {x} _{i}||)}
[
g
11
g
12
⋯
g
1
N
g
21
g
22
⋯
g
2
N
⋮
⋱
⋮
g
N
1
g
N
2
⋯
g
N
N
]
[
w
1
w
2
⋮
w
N
]
=
[
b
1
b
2
⋮
b
N
]
{\displaystyle \left[{\begin{matrix}g_{11}&g_{12}&\cdots &g_{1N}\\g_{21}&g_{22}&\cdots &g_{2N}\\\vdots &&\ddots &\vdots \\g_{N1}&g_{N2}&\cdots &g_{NN}\end{matrix}}\right]\left[{\begin{matrix}w_{1}\\w_{2}\\\vdots \\w_{N}\end{matrix}}\right]=\left[{\begin{matrix}b_{1}\\b_{2}\\\vdots \\b_{N}\end{matrix}}\right]}
上記の式の補間行列は、点 が別個であれば特異行列ではないことが示され、重みは 単純な線形代数によって解くことができます。
x
i
{\displaystyle \mathbf {x} _{i}}
w
{\displaystyle w}
w
=
G
−
1
b
{\displaystyle \mathbf {w} =\mathbf {G} ^{-1}\mathbf {b} }
どこ 。
G
=
(
g
i
j
)
{\displaystyle G=(g_{ij})}
関数近似
目的が厳密な補間ではなく、より一般的な 関数近似 または 分類を 実行することである場合、中心の明確な選択肢がないため、最適化はやや複雑になります。トレーニングは通常、幅と中心を最初に固定し、次に重みを固定する 2 つのフェーズで実行されます。これは、非線形隠しニューロンと線形出力ニューロンの異なる性質を考慮することで正当化できます。
基底関数中心のトレーニング
基底関数の中心は、入力インスタンスからランダムにサンプリングするか、直交最小二乗学習アルゴリズムによって取得するか、サンプルを クラスタリングし てクラスタ平均を中心として選択することによって見つけることができます。
RBF の幅は通常、選択された中心間の最大距離に比例する同じ値に固定されます。
線形重みの擬似逆解
中心 が固定された後、出力での誤差を最小化する重みは、線形 擬似 逆解を使用して計算できます。
c
i
{\displaystyle c_{i}}
w
=
G
+
b
{\displaystyle \mathbf {w} =\mathbf {G} ^{+}\mathbf {b} }
、
ここで、 G の要素は、 次
の点で評価されたラジアル基底関数の値です 。
x
i
{\displaystyle x_{i}}
g
j
i
=
ρ
(
|
|
x
j
−
c
i
|
|
)
{\displaystyle g_{ji}=\rho (||x_{j}-c_{i}||)}
この線形解の存在は、多層パーセプトロン (MLP) ネットワークとは異なり、RBF ネットワークには明示的な最小化機能 (中心が固定されている場合) があることを意味します。
線形重みの勾配降下法によるトレーニング
もう一つの可能なトレーニングアルゴリズムは、 勾配降下法 です。勾配降下法トレーニングでは、重みは各時間ステップで目的関数の勾配と反対方向に移動することで調整されます(これにより、目的関数の最小値を見つけることができるようになります)。
w
(
t
+
1
)
=
w
(
t
)
−
ν
d
d
w
H
t
(
w
)
{\displaystyle \mathbf {w} (t+1)=\mathbf {w} (t)-\nu {\frac {d}{d\mathbf {w} }}H_{t}(\mathbf {w} )}
ここで 「学習パラメータ」です。
ν
{\displaystyle \nu }
線形重みを訓練する場合、 アルゴリズムは次のようになる。
a
i
{\displaystyle a_{i}}
a
i
(
t
+
1
)
=
a
i
(
t
)
+
ν
[
y
(
t
)
−
φ
(
x
(
t
)
,
w
)
]
ρ
(
‖
x
(
t
)
−
c
i
‖
)
{\displaystyle a_{i}(t+1)=a_{i}(t)+\nu {\big [}y(t)-\varphi {\big (}\mathbf {x} (t),\mathbf {w} {\big )}{\big ]}\rho {\big (}\left\Vert \mathbf {x} (t)-\mathbf {c} _{i}\right\Vert {\big )}}
正規化されていない場合
a
i
(
t
+
1
)
=
a
i
(
t
)
+
ν
[
y
(
t
)
−
φ
(
x
(
t
)
,
w
)
]
u
(
‖
x
(
t
)
−
c
i
‖
)
{\displaystyle a_{i}(t+1)=a_{i}(t)+\nu {\big [}y(t)-\varphi {\big (}\mathbf {x} (t),\mathbf {w} {\big )}{\big ]}u{\big (}\left\Vert \mathbf {x} (t)-\mathbf {c} _{i}\right\Vert {\big )}}
正規化されたケースでは。
局所線形アーキテクチャの場合、勾配降下法によるトレーニングは
e
i
j
(
t
+
1
)
=
e
i
j
(
t
)
+
ν
[
y
(
t
)
−
φ
(
x
(
t
)
,
w
)
]
v
i
j
(
x
(
t
)
−
c
i
)
{\displaystyle e_{ij}(t+1)=e_{ij}(t)+\nu {\big [}y(t)-\varphi {\big (}\mathbf {x} (t),\mathbf {w} {\big )}{\big ]}v_{ij}{\big (}\mathbf {x} (t)-\mathbf {c} _{i}{\big )}}
線形重みの射影演算子のトレーニング
線形重みと を訓練する場合、 アルゴリズムは次のようになる。
a
i
{\displaystyle a_{i}}
e
i
j
{\displaystyle e_{ij}}
a
i
(
t
+
1
)
=
a
i
(
t
)
+
ν
[
y
(
t
)
−
φ
(
x
(
t
)
,
w
)
]
ρ
(
‖
x
(
t
)
−
c
i
‖
)
∑
i
=
1
N
ρ
2
(
‖
x
(
t
)
−
c
i
‖
)
{\displaystyle a_{i}(t+1)=a_{i}(t)+\nu {\big [}y(t)-\varphi {\big (}\mathbf {x} (t),\mathbf {w} {\big )}{\big ]}{\frac {\rho {\big (}\left\Vert \mathbf {x} (t)-\mathbf {c} _{i}\right\Vert {\big )}}{\sum _{i=1}^{N}\rho ^{2}{\big (}\left\Vert \mathbf {x} (t)-\mathbf {c} _{i}\right\Vert {\big )}}}}
正規化されていない場合
a
i
(
t
+
1
)
=
a
i
(
t
)
+
ν
[
y
(
t
)
−
φ
(
x
(
t
)
,
w
)
]
u
(
‖
x
(
t
)
−
c
i
‖
)
∑
i
=
1
N
u
2
(
‖
x
(
t
)
−
c
i
‖
)
{\displaystyle a_{i}(t+1)=a_{i}(t)+\nu {\big [}y(t)-\varphi {\big (}\mathbf {x} (t),\mathbf {w} {\big )}{\big ]}{\frac {u{\big (}\left\Vert \mathbf {x} (t)-\mathbf {c} _{i}\right\Vert {\big )}}{\sum _{i=1}^{N}u^{2}{\big (}\left\Vert \mathbf {x} (t)-\mathbf {c} _{i}\right\Vert {\big )}}}}
正規化されたケースでは
e
i
j
(
t
+
1
)
=
e
i
j
(
t
)
+
ν
[
y
(
t
)
−
φ
(
x
(
t
)
,
w
)
]
v
i
j
(
x
(
t
)
−
c
i
)
∑
i
=
1
N
∑
j
=
1
n
v
i
j
2
(
x
(
t
)
−
c
i
)
{\displaystyle e_{ij}(t+1)=e_{ij}(t)+\nu {\big [}y(t)-\varphi {\big (}\mathbf {x} (t),\mathbf {w} {\big )}{\big ]}{\frac {v_{ij}{\big (}\mathbf {x} (t)-\mathbf {c} _{i}{\big )}}{\sum _{i=1}^{N}\sum _{j=1}^{n}v_{ij}^{2}{\big (}\mathbf {x} (t)-\mathbf {c} _{i}{\big )}}}}
局所線形の場合。
1つの基底関数に対して、射影演算子の訓練は ニュートン法 に簡約されます。
図 6: ロジスティック マップの時系列。ロジスティック マップを繰り返し反復すると、混沌とした時系列が生成されます。値は 0 から 1 の間になります。ここに表示されているのは、このセクションの例をトレーニングするために使用された 100 個のトレーニング ポイントです。重み c は、この時系列の最初の 5 つのポイントです。
例
ロジスティックマップ
ラジアル基底関数の基本的な特性は、 単位区間をそれ自体に写像する ロジスティック写像という単純な数学的写像で説明できる。これは、便利なプロトタイプデータストリームを生成するために使用できる。ロジスティック写像は、 関数近似 、 時系列予測 、および 制御理論の検討に使用できる。この写像は 人口動態 の分野から生まれ、 カオス 時系列のプロトタイプとなった 。完全なカオス状態では、この写像は次のように表される。
x
(
t
+
1
)
=
d
e
f
f
[
x
(
t
)
]
=
4
x
(
t
)
[
1
−
x
(
t
)
]
{\displaystyle x(t+1)\ {\stackrel {\mathrm {def} }{=}}\ f\left[x(t)\right]=4x(t)\left[1-x(t)\right]}
ここで、t は時間インデックスです。時刻 t+1 における x の値は、時刻 t における x の放物線関数です。この式は、ロジスティック マップによって生成されるカオス時系列の基礎となる幾何学を表します。
この方程式から時系列を生成することが 順問題 である。ここでの例は 逆問題 、すなわち時系列の例からロジスティックマップの根底にあるダイナミクス、つまり基本方程式を特定することを示している。目標は推定値を見つけることである。
x
(
t
+
1
)
=
f
[
x
(
t
)
]
≈
φ
(
t
)
=
φ
[
x
(
t
)
]
{\displaystyle x(t+1)=f\left[x(t)\right]\approx \varphi (t)=\varphi \left[x(t)\right]}
fの場合。
関数近似
正規化されていない動径基底関数
建築は
図 7: 正規化されていない基底関数。トレーニング セットを 1 回通過した後のロジスティック マップ (青) とロジスティック マップの近似値 (赤)。
φ
(
x
)
=
d
e
f
∑
i
=
1
N
a
i
ρ
(
‖
x
−
c
i
‖
)
{\displaystyle \varphi (\mathbf {x} )\ {\stackrel {\mathrm {def} }{=}}\ \sum _{i=1}^{N}a_{i}\rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}}
どこ
ρ
(
‖
x
−
c
i
‖
)
=
exp
[
−
β
i
‖
x
−
c
i
‖
2
]
=
exp
[
−
β
i
(
x
(
t
)
−
c
i
)
2
]
{\displaystyle \rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}=\exp \left[-\beta _{i}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert ^{2}\right]=\exp \left[-\beta _{i}\left(x(t)-c_{i}\right)^{2}\right]}
。
入力は ベクトル ではなく スカラー なので、入力次元は 1 です。基底関数の数を N=5 に、トレーニング セットのサイズをカオス時系列によって生成された 100 個の例に選択します。重みは 5 に等しい定数とします。重みは 時系列からの 5 つの例です。重みは 射影演算子トレーニングでトレーニングされます。
β
{\displaystyle \beta }
c
i
{\displaystyle c_{i}}
a
i
{\displaystyle a_{i}}
a
i
(
t
+
1
)
=
a
i
(
t
)
+
ν
[
x
(
t
+
1
)
−
φ
(
x
(
t
)
,
w
)
]
ρ
(
‖
x
(
t
)
−
c
i
‖
)
∑
i
=
1
N
ρ
2
(
‖
x
(
t
)
−
c
i
‖
)
{\displaystyle a_{i}(t+1)=a_{i}(t)+\nu {\big [}x(t+1)-\varphi {\big (}\mathbf {x} (t),\mathbf {w} {\big )}{\big ]}{\frac {\rho {\big (}\left\Vert \mathbf {x} (t)-\mathbf {c} _{i}\right\Vert {\big )}}{\sum _{i=1}^{N}\rho ^{2}{\big (}\left\Vert \mathbf {x} (t)-\mathbf {c} _{i}\right\Vert {\big )}}}}
ここで、 学習率 は 0.3 とします。トレーニングは 100 個のトレーニング ポイントを 1 回通過して実行されます。rms 誤差 は 0.15 です。
ν
{\displaystyle \nu }
図 8: 正規化された基底関数。トレーニング セットを 1 回通過した後のロジスティック マップ (青) とロジスティック マップの近似値 (赤)。正規化されていない場合と比べて改善されていることに注意してください。
正規化されたラジアル基底関数
正規化されたRBFアーキテクチャは
φ
(
x
)
=
d
e
f
∑
i
=
1
N
a
i
ρ
(
‖
x
−
c
i
‖
)
∑
i
=
1
N
ρ
(
‖
x
−
c
i
‖
)
=
∑
i
=
1
N
a
i
u
(
‖
x
−
c
i
‖
)
{\displaystyle \varphi (\mathbf {x} )\ {\stackrel {\mathrm {def} }{=}}\ {\frac {\sum _{i=1}^{N}a_{i}\rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}}{\sum _{i=1}^{N}\rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}}}=\sum _{i=1}^{N}a_{i}u{\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}}
どこ
u
(
‖
x
−
c
i
‖
)
=
d
e
f
ρ
(
‖
x
−
c
i
‖
)
∑
i
=
1
N
ρ
(
‖
x
−
c
i
‖
)
{\displaystyle u{\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}\ {\stackrel {\mathrm {def} }{=}}\ {\frac {\rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}}{\sum _{i=1}^{N}\rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}}}}
。
また:
ρ
(
‖
x
−
c
i
‖
)
=
exp
[
−
β
‖
x
−
c
i
‖
2
]
=
exp
[
−
β
(
x
(
t
)
−
c
i
)
2
]
{\displaystyle \rho {\big (}\left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert {\big )}=\exp \left[-\beta \left\Vert \mathbf {x} -\mathbf {c} _{i}\right\Vert ^{2}\right]=\exp \left[-\beta \left(x(t)-c_{i}\right)^{2}\right]}
。
ここでも、基底関数の数を 5 に、トレーニング セットのサイズをカオス時系列によって生成された 100 個の例に選択します。重みは 定数 6 とします。重みは 時系列からの 5 つの例です。重みは 射影演算子トレーニングでトレーニングされます。
β
{\displaystyle \beta }
c
i
{\displaystyle c_{i}}
a
i
{\displaystyle a_{i}}
a
i
(
t
+
1
)
=
a
i
(
t
)
+
ν
[
x
(
t
+
1
)
−
φ
(
x
(
t
)
,
w
)
]
u
(
‖
x
(
t
)
−
c
i
‖
)
∑
i
=
1
N
u
2
(
‖
x
(
t
)
−
c
i
‖
)
{\displaystyle a_{i}(t+1)=a_{i}(t)+\nu {\big [}x(t+1)-\varphi {\big (}\mathbf {x} (t),\mathbf {w} {\big )}{\big ]}{\frac {u{\big (}\left\Vert \mathbf {x} (t)-\mathbf {c} _{i}\right\Vert {\big )}}{\sum _{i=1}^{N}u^{2}{\big (}\left\Vert \mathbf {x} (t)-\mathbf {c} _{i}\right\Vert {\big )}}}}
ここでも 学習率 は 0.3 とします。トレーニングは 100 個のトレーニング ポイントを 1 回通過して実行されます。100個の例のテスト セットの rms 誤差は 0.084 で、正規化されていない誤差よりも小さくなります。正規化により精度が向上します。通常、入力の次元が増加すると、正規化された基底関数の精度は正規化されていない関数よりもさらに向上します。
ν
{\displaystyle \nu }
図 9: 正規化された基底関数。時間の関数としてのロジスティック マップ (青) とロジスティック マップの近似値 (赤)。近似値は数個の時間ステップに対してのみ有効であることに注意してください。これはカオス時系列の一般的な特性です。
時系列予測
前の例のように時系列の基礎となるジオメトリが推定されると、反復によって時系列の予測を行うことができます。
φ
(
0
)
=
x
(
1
)
{\displaystyle \varphi (0)=x(1)}
x
(
t
)
≈
φ
(
t
−
1
)
{\displaystyle {x}(t)\approx \varphi (t-1)}
x
(
t
+
1
)
≈
φ
(
t
)
=
φ
[
φ
(
t
−
1
)
]
{\displaystyle {x}(t+1)\approx \varphi (t)=\varphi [\varphi (t-1)]}
。
実際の時系列と推定時系列の比較が図に表示されています。推定時系列は、x(0) の正確な知識を使用して、時間 0 から始まります。次に、ダイナミクスの推定値を使用して、いくつかの時間ステップの時系列推定値を更新します。
推定値が正確であるのは、いくつかの時間ステップのみであることに注意してください。これは、カオス時系列の一般的な特性です。これは、カオス時系列に共通する初期条件への敏感な依存性の特性です。小さな初期誤差は、時間の経過とともに増幅されます。ほぼ同一の初期条件を持つ時系列の発散の尺度は、 リアプノフ指数 として知られています。
混沌とした時系列の制御
図 10: ロジスティック マップの制御。システムは 49 のタイム ステップにわたって自然に進化できます。時間 50 で制御がオンになります。時系列の目的の軌跡は赤です。制御下のシステムは基礎となるダイナミクスを学習し、時系列を目的の出力に導きます。アーキテクチャは時系列予測の例と同じです。
ロジスティックマップの出力は制御パラメータによって操作できると仮定し 、
c
[
x
(
t
)
,
t
]
{\displaystyle c[x(t),t]}
x
(
t
+
1
)
=
4
x
(
t
)
[
1
−
x
(
t
)
]
+
c
[
x
(
t
)
,
t
]
{\displaystyle {x}_{}^{}(t+1)=4x(t)[1-x(t)]+c[x(t),t]}
。
目標は、時系列を望ましい出力に導くような制御パラメータを選択することです 。これは、制御パラメータを次のように選択することで実現できます。
d
(
t
)
{\displaystyle d(t)}
c
[
x
(
t
)
,
t
]
=
d
e
f
−
φ
[
x
(
t
)
]
+
d
(
t
+
1
)
{\displaystyle c_{}^{}[x(t),t]\ {\stackrel {\mathrm {def} }{=}}\ -\varphi [x(t)]+d(t+1)}
どこ
y
[
x
(
t
)
]
≈
f
[
x
(
t
)
]
=
x
(
t
+
1
)
−
c
[
x
(
t
)
,
t
]
{\displaystyle y[x(t)]\approx f[x(t)]=x(t+1)-c[x(t),t]}
システムの根本的な自然なダイナミクスへの近似です。
学習アルゴリズムは次のように与えられる。
a
i
(
t
+
1
)
=
a
i
(
t
)
+
ν
ε
u
(
‖
x
(
t
)
−
c
i
‖
)
∑
i
=
1
N
u
2
(
‖
x
(
t
)
−
c
i
‖
)
{\displaystyle a_{i}(t+1)=a_{i}(t)+\nu \varepsilon {\frac {u{\big (}\left\Vert \mathbf {x} (t)-\mathbf {c} _{i}\right\Vert {\big )}}{\sum _{i=1}^{N}u^{2}{\big (}\left\Vert \mathbf {x} (t)-\mathbf {c} _{i}\right\Vert {\big )}}}}
どこ
ε
=
d
e
f
f
[
x
(
t
)
]
−
φ
[
x
(
t
)
]
=
x
(
t
+
1
)
−
c
[
x
(
t
)
,
t
]
−
φ
[
x
(
t
)
]
=
x
(
t
+
1
)
−
d
(
t
+
1
)
{\displaystyle \varepsilon \ {\stackrel {\mathrm {def} }{=}}\ f[x(t)]-\varphi [x(t)]=x(t+1)-c[x(t),t]-\varphi [x(t)]=x(t+1)-d(t+1)}
。
参照
参考文献
^ Broomhead, DS; Lowe, David (1988). ラジアル基底関数、多変数機能補間および適応ネットワーク(技術レポート). RSRE . 4148. 2013年4月9日時点のオリジナルよりアーカイブ。
^ Broomhead, DS; Lowe, David (1988). 「多変数機能補間と適応ネットワーク」 (PDF) . Complex Systems . 2 : 321–355. 2020-12-01にオリジナルからアーカイブ (PDF) . 2019-01-29 に取得。
^ ab Schwenker, Friedhelm; Kestler, Hans A.; Palm, Günther (2001). 「ラジアル基底関数ネットワークの3つの学習フェーズ」. ニューラルネットワーク . 14 (4–5): 439–458. CiteSeerX 10.1.1.109.312 . doi :10.1016/s0893-6080(01)00027-2. PMID 11411631.
^ ベハイム、ラルビ;ジトウニ、アデル。ファビアン、ベロワール(2004 年 1 月)。 「隠れニューロン数が最適化された新しい RBF ニューラル ネットワーク分類器」。
^ Ibrikci, Turgay; Brandt, ME; Wang, Guanyu; Acikkar, Mustafa (2002 年 10 月 23 ~ 26 日)。 タンパク質二次構造におけるラジアル基底関数ネットワークによるマハラノビス距離 。バイオメディカル工学協会第 2 回合同年次会議および秋季年次会議の議事録。 医学生物学会における工学、IEEE 年次国際会議の議事録。第 3 巻。ヒューストン、テキサス州、米国 ( 2003 年 1 月 6 日発行)。pp. 2184 ~ 2185。doi :10.1109/ IEMBS.2002.1053230。ISBN 0-7803-7612-9 . ISSN 1094-687X.
^ Park, J .; IW Sandberg (1991 年夏)。「 ラジアル 基底関数ネットワークを使用した普遍近似」。 ニューラル コンピューティング 。3 (2): 246–257。doi :10.1162/neco.1991.3.2.246。PMID 31167308。S2CID 34868087 。
さらに読む
J. Moody と CJ Darken、「ローカルに調整された処理ユニットのネットワークにおける高速学習」、Neural Computation、1、281-294 (1989)。Moody と Darken によるラジアル基底関数ネットワークも参照してください。
T. Poggio および F. Girosi、「近似と学習のためのネットワーク」、Proc. IEEE 78(9)、1484-1487 (1990)。
Roger D. Jones、YC Lee、CW Barnes、GW Flake、K. Lee、PS Lewis、および S. Qian、「ニューラル ネットワークによる関数近似と時系列予測」、国際ニューラル ネットワーク合同会議の議事録、6 月 17 ~ 21 日、p. I-649 (1990)。
Martin D. Buhmann (2003)。 ラジアル基底関数:理論と実装 。ケンブリッジ大学 。ISBN 0-521-63338-9 。
Yee, Paul V. & Haykin, Simon (2001)。 正規化されたラジアル基底関数ネットワーク: 理論と応用 。John Wiley。ISBN 0-471-35349-3 。
Davies, John R.、Coggeshall, Stephen V.、Jones, Roger D.、Schutzer, Daniel (1995)。「インテリジェント セキュリティ システム」。Freedman, Roy S.、Flein, Robert A.、Lederman, Jess (編)。『 資本 市場における人工知能』 。シカゴ: Irwin。ISBN 1-55738-811-3 。
Simon Haykin (1999)。ニューラルネットワーク : 包括的な基礎 (第 2 版)。アッパーサドルリバー、ニュージャージー: Prentice Hall。ISBN 0-13-908385-5 。
S. Chen、CFN Cowan、および PM Grant、「Radial Basis Function Networks の直交最小二乗学習アルゴリズム」、IEEE Transactions on Neural Networks、Vol 2、No 2 (Mar) 1991。