Main Content

newrbe

厳密な放射基底ネットワークの設計

構文

net = newrbe(P,T,spread)

説明

放射基底ネットワークを使用して関数を近似できます。newrbe を使用すると、設計ベクトルに対する誤差が 0 である放射基底ネットワークを極めて短時間で設計できます。

net = newrbe(P,T,spread) は、2 つまたは 3 つの引数を取ります。

P

Q 個の R 要素入力ベクトルから成る RQ 列の行列

T

Q 個の S 要素ターゲット クラス ベクトルから成る SQ 列の行列

spread

放射基底関数の広がり (既定は 1.0)

これは、新しい厳密な放射基底ネットワークを返します。

spread が大きいほど、関数近似がスムーズに行われます。広がりが大きすぎると数値的な問題が発生する可能性があります。

ここでは、入力 P とターゲット T が与えられたときの放射基底ネットワークを設計します。

P = [1 2 3];
T = [2.0 4.1 5.9];
net = newrbe(P,T);

新しい入力に対してネットワークのシミュレーションを行います。

P = 1.5;
Y = sim(net,P)

アルゴリズム

newrbe は 2 層ネットワークを作成します。最初の層には radbas ニューロンがあり、dist で重み付けされた入力を計算し、netprod でその正味入力を計算します。2 番目の層には purelin ニューロンがあり、dotprod で重み付けされた入力を計算し、netsum でその正味入力を計算します。どちらの層にもバイアスがあります。

newrbe は、最初の層の重みを P' に設定し、最初の層のバイアスをすべて 0.8326/spread に設定します。これにより、重み付けされた入力が +/− spread のときに 0.5 となる放射基底関数が得られます。

2 番目の層の重み IW{2,1} およびバイアス b{2} は、最初の層の出力 A{1} をシミュレートし、次の 1 次式を解くことにより求められます。

[W{2,1} b{2}] * [A{1}; ones] = T

バージョン履歴

R2006a より前に導入

参考

| | |