normprod
正規化ドット積重み関数
構文
Z = normprod(W,P,FP)
dim = normprod('size',S,R,FP)
dw = normprod('dz_dw',W,P,Z,FP)
説明
normprod
は重み関数です。重み関数は、入力に重みを適用して重み付けされた入力を返します。
Z = normprod(W,P,FP)
は、次の入力を取ります。
W |
|
P |
|
FP | 関数パラメーターの行 cell 配列 (オプション、無視) |
これは、S
行 Q
列の正規化ドット積行列を返します。
dim = normprod('size',S,R,FP)
は、層次元 S
、入力次元 R
、および関数パラメーターを取り、重みサイズ [S
行 R
列] を返します。
dw = normprod('dz_dw',W,P,Z,FP)
は、W
に対する Z
の微分を返します。
例
ここでは、ランダムな重み行列 W
および入力ベクトル P
を定義し、対応する重み付き入力 Z
を計算します。
W = rand(4,3); P = rand(3,1); Z = normprod(W,P)
ネットワークの利用
newgrnn
を呼び出すことによって、normprod
を使用する標準的なネットワークを作成できます。
入力の重みによって normprod
が使用されるようにネットワークを変更するには、net.inputWeights{i,j}.weightFcn
を 'normprod'
に設定します。層の重みの場合には、net.layerWeights{i,j}.weightFcn
を 'normprod'
に設定します。
いずれの場合も、sim
を呼び出し、normprod
を使用してネットワークのシミュレーションを行います。シミュレーションの例については、newgrnn
を参照してください。
アルゴリズム
normprod
は、入力ベクトルの要素の和によって正規化されたドット積を返します。
z = w*p/sum(p)
バージョン履歴
R2006a より前に導入