trainc
循環順序重み/バイアス学習
構文
net.trainFcn = 'trainc'
[net,tr] = train(net,...)
説明
trainc は直接呼び出されません。代わりに、net.trainFcn プロパティが 'trainc' に設定されているネットワークに対し、train によって呼び出され、次のようになります。
net.trainFcn = 'trainc' は、ネットワークの trainFcn プロパティを設定します。
[net,tr] = train(net,...) は、trainc を使用してネットワークに学習させます。
trainc は、増分更新を伴う重み学習規則とバイアス学習規則を使用して、入力が与えられるたびにネットワークに学習させます。入力は循環順序で与えられます。
学習は trainc の学習パラメーターに従って行われます。以下に、学習パラメーターをその既定値と共に示します。
net.trainParam.epochs | 1000 | 最大学習エポック数 |
net.trainParam.goal | 0 | 性能目標 |
net.trainParam.max_fail | 6 | 検証エラーの最大回数 |
net.trainParam.show | 25 | 表示間のエポック数 (表示なしは |
net.trainParam.showCommandLine | false | コマンド ライン出力の生成 |
net.trainParam.showWindow | true | 学習 GUI の表示 |
net.trainParam.time | inf | 最大学習時間 (秒単位) |
ネットワークの利用
competlayer を呼び出すことによって、trainc を使用する標準的なネットワークを作成できます。trainc を使用して学習が行われるようにカスタム ネットワークを準備するには、以下のようにします。
net.trainFcnを'trainc'に設定します。これにより、net.trainParamがtraincの既定のパラメーターに設定されます。各
net.inputWeights{i,j}.learnFcnを学習関数に設定します。各net.layerWeights{i,j}.learnFcnを学習関数に設定します。各net.biases{i}.learnFcnを学習関数に設定します。(重みとバイアスの学習パラメーターは、与えられた学習関数に応じて自動的に既定値に設定されます。)
ネットワークに学習させるには、次のようにします。
net.trainParamプロパティを目的の値に設定します。重みとバイアスの学習パラメーターを目的の値に設定します。
trainを呼び出します。
学習の例については、perceptron を参照してください。
アルゴリズム
各エポックでは、各ベクトル (またはシーケンス) がネットワークに順番に与えられ、それらが与えられるたびにしかるべき方法で重みとバイアスの値が更新されます。
次のいずれかの条件が満たされると、学習が停止します。
epochs(反復回数) の最大数に達する。性能が
goalに最小化される。timeの最大値を超える。
バージョン履歴
R2006a より前に導入