newpnn
確率的ニューラル ネットワークの設計
構文
net = newpnn(P,T,spread)
説明
確率的ニューラル ネットワーク (PNN) は、分類問題に適した放射基底ネットワークの一種です。
net = newpnn(P,T,spread)
は、2 つまたは 3 つの引数を取ります。
P |
|
T |
|
spread | 放射基底関数の広がり (既定は 0.1) |
これは、新しい確率的ニューラル ネットワークを返します。
spread
が 0 に近い場合、このネットワークは最近傍分類器として動作します。spread
が大きくなると、設計されたネットワークは、近傍にある複数の設計ベクトルを考慮に入れるようになります。
例
ここでは、一連の入力 P
およびクラス インデックス Tc
を使用して分類問題を定義します。
P = [1 2 3 4 5 6 7]; Tc = [1 2 3 2 2 3 1];
クラス インデックスをターゲット ベクトルに変換し、PNN を設計してテストします。
T = ind2vec(Tc) net = newpnn(P,T); Y = sim(net,P) Yc = vec2ind(Y)
アルゴリズム
newpnn
は 2 層ネットワークを作成します。最初の層には radbas
ニューロンがあり、dist
で重み付けされた入力を計算し、netprod
でその正味入力を計算します。2 番目の層には compet
ニューロンがあり、dotprod
で重み付けされた入力を計算し、netsum
でその正味入力を計算します。最初の層だけにバイアスがあります。
newpnn
は、最初の層の重みを P'
に設定し、最初の層のバイアスをすべて 0.8326/spread
に設定します。これにより、重み付けされた入力が +/− spread
のときに 0.5 となる放射基底関数が得られます。2 番目の層の重み W2
は T
に設定されます。
参考文献
Wasserman, P.D., Advanced Methods in Neural Computing, New York, Van Nostrand Reinhold, 1993, pp. 35–55
バージョン履歴
R2006a より前に導入