Main Content

trainb

重み学習規則とバイアス学習規則によるバッチ学習

構文

net.trainFcn = 'trainb'
[net,tr] = train(net,...)

説明

trainb は直接呼び出されません。代わりに、net.trainFcn プロパティが 'trainb' に設定されているネットワークに対し、train によって呼び出され、次のようになります。

net.trainFcn = 'trainb' は、ネットワークの trainFcn プロパティを設定します。

[net,tr] = train(net,...) は、trainb を使用してネットワークに学習させます。

trainb は、バッチの更新を伴う重み学習規則とバイアス学習規則を使用して、ネットワークに学習させます。すべての入力データが渡された後に、重みとバイアスが更新されます。

学習は trainb の学習パラメーターに従って行われます。以下に、学習パラメーターをその既定値と共に示します。

net.trainParam.epochs1000

最大学習エポック数

net.trainParam.goal0

性能目標

net.trainParam.max_fail6

検証エラーの最大回数

net.trainParam.min_grad1e-6性能の勾配の最小値
net.trainParam.show25

表示間のエポック数 (表示なしは NaN)

net.trainParam.showCommandLinefalse

コマンド ライン出力の生成

net.trainParam.showWindowtrue

学習 GUI の表示

net.trainParam.timeinf

最大学習時間 (秒単位)

ネットワークの利用

linearlayer を呼び出すことによって、trainb を使用する標準的なネットワークを作成できます。

trainb を使用して学習が行われるようにカスタム ネットワークを準備するには、以下のようにします。

  1. net.trainFcn'trainb' に設定します。これにより、net.trainParamtrainb の既定のパラメーターに設定されます。

  2. net.inputWeights{i,j}.learnFcn を学習関数に設定します。各 net.layerWeights{i,j}.learnFcn を学習関数に設定します。各 net.biases{i}.learnFcn を学習関数に設定します。(重みとバイアスの学習パラメーターは、与えられた学習関数に応じて自動的に既定値に設定されます。)

ネットワークに学習させるには、次のようにします。

  1. net.trainParam プロパティを目的の値に設定します。

  2. 重みとバイアスの学習パラメーターを目的の値に設定します。

  3. train を呼び出します。

アルゴリズム

各エポックの終了時に (入力ベクトルのセット全体が渡されると)、学習関数に基づいてそれぞれの重みとバイアスが更新されます。

次のいずれかの条件が満たされると、学習が停止します。

  • epochs (反復回数) の最大数に達する。

  • 性能が goal に最小化される。

  • time の最大値を超える。

  • 検証性能 (検証誤差) が、最後の低下以降、max_fail 回を超えて増加する (検証の使用時)。

バージョン履歴

R2006a より前に導入