Main Content

trainru

教師なしランダム順序重み/バイアス学習

構文

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

説明

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

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

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

trainru は、増分更新を伴う重み学習規則とバイアス学習規則を使用して、入力が与えられるたびにネットワークに学習させます。入力はランダムな順序で与えられます。

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

net.trainParam.epochs

1000

最大学習エポック数

net.trainParam.show

25

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

net.trainParam.showCommandLine

false

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

net.trainParam.showWindow

true

学習 GUI の表示

net.trainParam.time

Inf

最大学習時間 (秒単位)

ネットワークの利用

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

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

  2. net.inputWeights{i,j}.learnFcn を学習関数に設定します。

  3. net.layerWeights{i,j}.learnFcn を学習関数に設定します。

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

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

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

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

  3. train を呼び出します。

アルゴリズム

各エポックでは、すべての学習ベクトル (またはシーケンス) が、エポックごとに異なるランダムな順序で 1 回ずつ与えられ、それらが与えられるたびにしかるべき方法でネットワークと重みおよびバイアスの値が更新されます。

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

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

  • time の最大値を超える。

バージョン履歴

R2010b で導入

参考

|