Main Content

learnp

パーセプトロン重みとバイアス学習関数

構文

[dW,LS] = learnp(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)
info = learnp('code')

説明

learnp は、パーセプトロン重み/バイアス学習関数です。

[dW,LS] = learnp(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) は、いくつかの入力を取ります。

W

SR 列の重み行列 (または、b、および S1 列のバイアス ベクトル)

P

RQ 列の入力ベクトル (または ones(1,Q))

Z

SQ 列の重み付き入力ベクトル

N

SQ 列の正味入力ベクトル

A

SQ 列の出力ベクトル

T

SQ 列の層のターゲット ベクトル

E

SQ 列の層の誤差ベクトル

gW

性能に関する SR 列の重み勾配

gA

性能に関する SQ 列の出力勾配

D

SS 列のニューロン距離

LP

学習パラメーター。なし。LP = []

LS

学習状態。初期値は []

これは、以下を返します。

dW

SR 列の重み (またはバイアス) 変更行列

LS

新しい学習状態

info = learnp('code') は、次の各 code 文字ベクトルに関する有用な情報を返します。

'pnames'

学習パラメーターの名前

'pdefaults'

既定の学習パラメーター

'needg'

この関数が gW または gA を使用すると 1 が返される

ここでは、1 つの 2 要素入力と 3 つのニューロンをもつ層に対し、ランダムな入力 P と誤差 E を定義します。

p = rand(2,1);
e = rand(3,1);

learnp は、重みの変化の計算でのみこれらの値を必要とするため (下の「アルゴリズム」を参照)、これらをそのように使用します。

dW = learnp([],p,[],[],[],[],e,[],[],[],[],[])

アルゴリズム

learnp は、ニューロンの入力 P および誤差 E から与えられたニューロンについて、パーセプトロン学習規則に従って重みの変化 dW を計算します。

dw = 0, if e = 0
     = p', if e = 1
     = -p', if e = -1

これは次のようにまとめることができます。

dw = e*p'

参考文献

Rosenblatt, F., Principles of Neurodynamics, Washington, D.C., Spartan Press, 1961

バージョン履歴

R2006a より前に導入

参考

| |