learngdm
モーメンタム項付き勾配降下法の重みとバイアスの学習関数
構文
[dW,LS] = learngdm(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)
info = learngdm('code
')
説明
learngdm
は、モーメンタム項付き勾配降下法の重みとバイアスの学習関数です。
[dW,LS] = learngdm(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)
は、いくつかの入力を取ります。
W |
|
P |
|
Z |
|
N |
|
A |
|
T |
|
E |
|
gW | 性能に関する |
gA | 性能に関する |
D |
|
LP | 学習パラメーター。なし。 |
LS | 学習状態。初期値は |
これは、以下を返します。
dW |
|
LS | 新しい学習状態 |
学習は learngdm
の学習パラメーターに従って行われます。以下に、学習パラメーターとその既定値を示します。
LP.lr - 0.01 | 学習率 |
LP.mc - 0.9 | モーメンタム定数 |
info = learngdm('
は、次の各 code
')code
文字ベクトルに関する有用な情報を返します。
'pnames' | 学習パラメーターの名前 |
'pdefaults' | 既定の学習パラメーター |
'needg' | この関数が |
例
ここでは、2 つの要素をもつ入力から 3 つのニューロンをもつ層に渡される重みに対し、ランダムな勾配 G
を定義します。また、学習率を 0.5 と定義し、モーメンタム定数を 0.8 と定義します。
gW = rand(3,2); lp.lr = 0.5; lp.mc = 0.8;
learngdm
は、重みの変化の計算でこれらの値のみを必要とするため (下の「アルゴリズム」を参照)、これらをそのように使用します。既定の初期学習状態を使用します。
ls = []; [dW,ls] = learngdm([],[],[],[],[],[],[],gW,[],[],lp,ls)
learngdm
は、重みの変化と新しい学習状態を返します。
アルゴリズム
learngdm
は、指定されたニューロンについて、ニューロンの入力 P
と誤差 E
、重み (またはバイアス) W
、学習率 LR
、およびモーメンタム定数 MC
に基づき、モーメンタム項付き勾配降下法に従って重みの変化 dW
を計算します。
dW = mc*dWprev + (1-mc)*lr*gW
前回の重みの変化 dWprev
は、学習状態 LS
に格納され、ここから読み取られます。
バージョン履歴
R2006a より前に導入