Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

放射基底アンダーラッピング ニューロン

ターゲット出力を使用して特定の入力に応答するように放射基底ネットワークの学習を行います。ただし、放射基底ニューロンの広がりが非常に低いため、ネットワークには多くのニューロンが必要です。

21 個の入力 P および関連付けられたターゲット T を定義します。

P = -1:.1:1;
T = [-.9602 -.5770 -.0729  .3771  .6405  .6600  .4609 ...
      .1336 -.2013 -.4344 -.5000 -.3930 -.1647  .0988 ...
      .3072  .3960  .3449  .1816 -.0312 -.2189 -.3201];
plot(P,T,'+');
title('Training Vectors');
xlabel('Input Vector P');
ylabel('Target Vector T');

Figure contains an axes object. The axes object with title Training Vectors, xlabel Input Vector P, ylabel Target Vector T contains a line object which displays its values using only markers.

関数 NEWRB によってすぐに、P および T によって定義される関数を近似する放射基底ネットワークが作成されます。NEWRB は、学習セットおよびターゲットに加えて、残差平方和の目標値と広がり定数の 2 つの引数を取ります。放射基底ニューロン B の広がりは、非常に小さい数に設定されます。

eg = 0.02; % sum-squared error goal
sc = .01;  % spread constant
net = newrb(P,T,eg,sc);
NEWRB, neurons = 0, MSE = 0.176192

ネットワークが関数に滑らかに当てはまることを確認するには、テスト入力ベクトルの別のセットを定義し、これらの新しい入力を使用してネットワークをシミュレートします。同じグラフに結果を学習セットとしてプロットします。このテスト ベクトルにより、関数が過適合していることがわかります。広がり定数を高くすれば、ネットワークが改善されたかもしれません。

X = -1:.01:1;
Y = net(X);
hold on;
plot(X,Y);
hold off;

Figure contains an axes object. The axes object with title Training Vectors, xlabel Input Vector P, ylabel Target Vector T contains 2 objects of type line. One or more of the lines displays its values using only markers