公開日: 04/01/2021

ブースティング

ブースティングは、複数の小さいモデル(基底モデル)を逐次的にあてはめていき、それらの結果を合わせて、加法的な大きなモデルを構築する手法です。ブースティングでは、小さなモデルをあてはめて、その残差(尺度化した残差)が計算されます。その残差に対して、また、小さなモデルをあてはめます。この処理を繰り返します。最後に、小さなモデルを組み合わせて、最終的なモデルを作成します。検証セットによってモデルを評価して、小さいモデルをあてはめる回数を決めます(ただし、指定した回数を超えた場合は、そこで終了します)。

ブースティングは、1つの大きなモデルをあてはめるよりも、通常、計算時間が短くてすみます。ただし、基本モデルは12ノードの単層モデルである必要があります。また、あてはめる基本モデルが膨大になると、あてはめが高速であるという利点が失われる可能性があります。

「モデルの設定」パネルの「ブースティング」で、あてはめる基底モデルの数と学習率を指定します。「モデルの設定」パネルの「隠れ層の構造」で基底モデルの構造を指定します。

学習率は0 < r £ 1の範囲で設定します。学習率が1に近い値だと、最終モデルへの収束が速くなりますが、データにオーバーフィットしやすくなります。「モデル数」に少ない数を指定した場合には、学習率を1に近い値に設定してください。

ブースティングの仕組みを理解するために、1層2ノードのニューラルネットを基底モデルとし、モデル数を8とした例を想定してみましょう。最初に、1層2ノードのモデルをデータにあてはめます。このモデルの予測値を学習率によって尺度化し、実測値から引いて、尺度化した残差を求めます。次のステップは、異なる1層2ノードのモデルをあてはめることです。ここでの応答値は、先のモデルにおける尺度化された残差です。この手順を繰り返して8つのモデルをあてはめます。これ以上モデルを追加しても、検証セットの適合度が改善されないと判断された場合は、モデル数が8に満たなくても処理を終了します。こうして作成した一連の基底モデルを組み合わせ、最終的なモデルを作成します。もし、この例で、モデルを6回あてはめた時に処理が終了したとすると、最終的なモデルは1層かつ2 × 6 = 12ノードで構成されます。

警告: ブースティングは、2層のニューラルネットワークには使用できません。第2層に0以外の値を指定し、さらにブースティングも指定すると、第2層は無視されます。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).