trainscg
スケーリング共役勾配法逆伝播
説明
net.trainFcn = 'trainscg' は、ネットワークの trainFcn プロパティを設定します。
[ は、trainedNet,tr] = train(net,...)trainscg を使用してネットワークに学習させます。
trainscg は、スケーリング共役勾配法に従って重みとバイアスの値を更新するネットワーク学習関数です。
学習は trainscg の学習パラメーターに従って行われます。以下に、学習パラメーターをその既定値と共に示します。
net.trainParam.epochs— 学習の最大エポック数。既定値は 1000 です。net.trainParam.show— 表示間のエポック数 (表示なしはNaN)。既定値は 25 です。net.trainParam.showCommandLine— コマンド ライン出力の生成。既定値はfalseです。net.trainParam.showWindow— 学習 GUI の表示。既定値はtrueです。net.trainParam.goal— 性能目標。既定値は 0 です。net.trainParam.time— 最大学習時間 (秒単位)。既定値はinfです。net.trainParam.min_grad— 性能の勾配の最小値。既定値は1e-6です。net.trainParam.max_fail— 検証エラーの最大回数。既定値は6です。net.trainParam.mu— マルカート調整パラメーター。既定値は 0.005 です。net.trainParam.sigma— 2 階微分近似のための重みの変更量の決定。既定値は5.0e-5です。net.trainParam.lambda— ヘッシアンの不定性を調整するパラメーター。既定値は5.0e-7です。
例
入力引数
出力引数
詳細
アルゴリズム
trainscg は、重み関数、正味入力関数、および伝達関数に導関数がある限り、任意のネットワークの学習を行うことができます。重みとバイアスの変数 X に対する性能 perf の微分の計算には、逆伝播が使用されます。
スケーリング共役勾配法アルゴリズムは、traincgp、traincgf、および traincgb のように共役方向に基づきます。ただし、このアルゴリズムは反復ごとの直線探索を行いません。スケーリング共役勾配法アルゴリズムの詳細は、Moller (Neural Networks, Vol. 6, 1993, pp. 525–533) を参照してください。
次のいずれかの条件が発生すると、学習が停止します。
epochs(反復回数) の最大数に達する。timeの最大値を超える。性能が
goalに最小化される。性能の勾配が
min_gradより小さくなる。検証性能 (検証誤差) が、最後の低下以降、
max_fail回を超えて増加する (検証の使用時)。
参照
[1] Moller. Neural Networks, Vol. 6, 1993, pp. 525–533
バージョン履歴
R2006a より前に導入