Main Content

一般回帰ニューラル ネットワーク

ネットワーク アーキテクチャ

一般回帰ニューラル ネットワーク (GRNN) は、関数近似によく使用されます。これには、放射基底層と特殊な線形層があります。

GRNN のアーキテクチャは以下のとおりです。放射基底ネットワークに似ていますが、2 番目の層が多少異なります。

ここで、上に示した nprod ボックス (コード関数 normprod) は、ベクトル n2 の S2 個の要素を生成します。各要素は、LW2,1 の行と入力ベクトル a1 のドット積であり、a1 の要素の和によってすべて正規化されています。たとえば、以下の場合

LW{2,1}= [1 -2;3 4;5 6];
a{1} = [0.7;0.3];

次になります。

aout = normprod(LW{2,1},a{1})
aout =
    0.1000
    3.3000
    5.3000

最初の層は、newrbe ネットワークの場合と同様です。P 内の入力ベクトルやターゲット ベクトルと同じ数のニューロンがあります。特に、最初の層の重みは P' に設定されます。バイアス b1 は 0.8326/SPREAD の列ベクトルに設定されます。SPREAD は、ニューロンの重みベクトルから入力ベクトルまでの距離が 0.5 になるように選択しなければなりません。

ここでも、最初の層は前に説明した newrbe 放射基底層と同様に動作します。各ニューロンの重み付けされた入力は、入力ベクトルとその重みベクトル間の距離であり、dist により計算されます。各ニューロンの正味入力は、その重み付けされた入力とそのバイアスの積であり、netprod により計算されます。各ニューロンの出力は、その正味入力が radbas に渡されたものです。ニューロンの重みベクトルが入力ベクトル (転置済み) に等しい場合、その重み付けされた入力は 0、正味入力は 0、出力は 1 です。ニューロンの重みベクトルが入力ベクトルからの距離 spread である場合、その重み付けされた入力は spread で、正味入力は sqrt(−log(0.5)) (つまり 0.8326) です。そのため、出力は 0.5 になります。

2 番目の層にも、入力ベクトルやターゲット ベクトルと同じ数のニューロンがありますが、ここでは、LW{2,1}T に設定されます。

層 1 の重みの設計に使用した入力ベクトルとターゲットのペアに含まれる入力ベクトルの 1 つ pi に近い入力ベクトル p があるとします。この入力 p は、層 1 で 1 に近い出力 ai を生成します。これにより、層 2 では、層 2 の重みの形成に使用したターゲットの 1 つ ti に近い出力が得られます。

spread を大きくすると、層 1 のニューロンが有意な出力で応答する、入力ベクトル周りの領域が大きくなります。したがって、spread が小さいと、放射基底関数の勾配が急になり、入力に最も近い重みベクトルを持つニューロンが、他のニューロンよりもはるかに大きな出力を持ちます。このネットワークは、最も近い設計入力ベクトルに関連付けられたターゲット ベクトルで応答する傾向があります。

spread が大きくなるにつれ、放射基底関数の勾配が滑らかになるため、複数のニューロンが入力ベクトルに対して応答できます。このとき、ネットワークは、新しい入力ベクトルに最も近い設計入力ベクトルの、ターゲット ベクトル間の加重平均を取るかのように動作します。spread が大きくなるにつれ、平均に寄与するニューロンが増え、ネットワーク関数がより滑らかになります。

設計 (newgrnn)

GRNN は関数 newgrnn を使用して作成できます。たとえば、3 つの入力ベクトルと 3 つのターゲット ベクトルが次のように定義されているとします。

P = [4 5 6];
T = [1.5 3.6 6.7];

ここで、次により GRNN が得られます。

net = newgrnn(P,T);

さらに、次でシミュレートします。

P = 4.5;
v = sim(net,P);

GRNN 関数近似も同様に試してみることをお勧めします。

関数

説明

compet

競合伝達関数。

dist

ユークリッド距離重み関数。

dotprod

ドット積重み関数。

ind2vec

インデックスをベクトルに変換。

negdist

負のユークリッド距離重み関数。

netprod

積正味入力関数。

newgrnn

一般回帰ニューラル ネットワークを設計。

newpnn

確率的ニューラル ネットワークを設計。

newrb

放射基底ネットワークを設計。

newrbe

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

normprod

正規化ドット積重み関数。

radbas

放射基底伝達関数。

vec2ind

ベクトルをインデックスに変換。