newrb
放射基底ネットワークの設計
説明
は、次のうち 2 つの引数を取ります。net
= newrb(P
,T
,goal
,spread
,MN
,DF
)
P
—Q
個の入力ベクトルから成るR
行Q
列の行列T
—Q
個のターゲット クラス ベクトルから成るS
行Q
列の行列goal
— 平均二乗誤差の目標値spread
— 放射基底関数の広がりMN
— ニューロンの最大数DF
— 表示間に追加するニューロンの数
放射基底ネットワークを使用して関数を近似できます。newrb
は、指定された平均二乗誤差の目標値を満たすまで、放射基底ネットワークの隠れ層にニューロンを追加します。
spread
が大きいほど、関数近似がスムーズに行われます。広がりが大きすぎると、急速に変化する関数に多くのニューロンを当てはめる必要があります。広がりが小さすぎると、滑らかな関数に多くのニューロンを当てはめる必要があり、ネットワークが適切に汎化しない場合があります。さまざまな広がりを指定して newrb
を呼び出し、与えられた問題に対して最適な値を求めます。
例
入力引数
出力引数
アルゴリズム
newrb
は 2 層ネットワークを作成します。最初の層には radbas
ニューロンがあり、dist
で重み付けされた入力を計算し、netprod
でその正味入力を計算します。2 番目の層には purelin
ニューロンがあり、dotprod
で重み付けされた入力を計算し、netsum
でその正味入力を計算します。どちらの層にもバイアスがあります。
最初は、radbas
層にはニューロンがありません。ネットワークの平均二乗誤差が goal
より小さくなるまで、次の手順が繰り返されます。
ネットワークのシミュレーションを行います。
誤差が最大になる入力ベクトルを求めます。
そのベクトルに等しい重みを使用して
radbas
ニューロンを追加します。誤差が最小化されるように
purelin
層の重みを再設計します。
バージョン履歴
R2006a より前に導入