trainbr
ベイズ正則化逆伝播
説明
net.trainFcn = 'trainbr' は、ネットワークの trainFcn プロパティを設定します。
[ は、trainedNet,tr] = train(net,...)trainbr を使用してネットワークに学習させます。
trainbr は、レーベンバーグ・マルカート法の最適化に従って重みとバイアスの値を更新するネットワーク学習関数です。二乗誤差、重み、およびバイアスの結合を最小化し、正しい結合を判定して、適切に汎化を行うネットワークを生成します。このプロセスは、ベイズ正則化と呼ばれます。
学習は trainbr の学習パラメーターに従って行われます。以下に、学習パラメーターをその既定値と共に示します。
net.trainParam.epochs— 学習の最大エポック数。既定値は 1000 です。net.trainParam.goal— 性能目標。既定値は 0 です。net.trainParam.mu— マルカート調整パラメーター。既定値は 0.005 です。net.trainParam.mu_dec—muの減少係数。既定値は 0.1 です。net.trainParam.mu_inc—muの増加係数。既定値は 10 です。net.trainParam.mu_max— mu の最大値。既定値は1e10です。net.trainParam.max_fail— 検証エラーの最大回数。既定値は0です。net.trainParam.min_grad— 性能の勾配の最小値。既定値は1e-7です。net.trainParam.show— 表示間のエポック数 (表示なしはNaN)。既定値は 25 です。net.trainParam.showCommandLine— コマンド ライン出力の生成。既定値はfalseです。net.trainParam.showWindow— 学習 GUI の表示。既定値はtrueです。net.trainParam.time— 最大学習時間 (秒単位)。既定値はinfです。
検証の停止は既定では無効になっている (max_fail = 0) ため、誤差と重みの最適な結合が見つかるまで学習を継続できます。ただし、max_fail を 6 または他の厳密に正の値に設定して検証を有効にしている場合、より短い学習時間で重みとバイアスの最小化を実現できることもあります。
例
入力引数
出力引数
制限
この関数は、性能が二乗誤差の平均または和であると仮定して、ヤコビアンを計算に使用します。そのため、この関数によって学習するネットワークでは、mse または sse のいずれかの性能関数を使用しなければなりません。
詳細
アルゴリズム
trainbr は、重み関数、正味入力関数、および伝達関数に導関数がある限り、任意のネットワークの学習を行うことができます。
ベイズ正則化は、二乗誤差と重みの線形結合を最小化します。さらに、学習の終了時に結果として得られるネットワークの汎化品質が良好になるように、線形結合を変更します。ベイズ正則化の詳細は、MacKay (Neural Computation, Vol. 4, No. 3, 1992, pp. 415 to 447) および Foresee and Hagan (Proceedings of the International Joint Conference on Neural Networks, June, 1997) を参照してください。
このベイズ正則化は、レーベンバーグ・マルカート法アルゴリズム内で行われます。重みとバイアスの変数 X に対する性能 perf のヤコビアン jX の計算には、逆伝播が使用されます。各変数は、レーベンバーグ・マルカート法に従って調整されます。
jj = jX * jX je = jX * E dX = -(jj+I*mu) \ je
ここで、E はすべての誤差であり、I は単位行列です。
上記の変更によって性能値が減少するまで、適応値 mu が mu_inc ずつ増加します。その後、ネットワークに対して変更が行われ、mu が mu_dec ずつ減少します。
次のいずれかの条件が発生すると、学習が停止します。
epochs(反復回数) の最大数に達する。timeの最大値を超える。性能が
goalに最小化される。性能の勾配が
min_gradより小さくなる。muがmu_maxを超える。
参照
[1] MacKay, David J. C. "Bayesian interpolation." Neural computation. Vol. 4, No. 3, 1992, pp. 415–447.
[2] Foresee, F. Dan, and Martin T. Hagan. "Gauss-Newton approximation to Bayesian learning." Proceedings of the International Joint Conference on Neural Networks, June, 1997.
バージョン履歴
R2006a より前に導入