各ツリーには同じ重みが与えられています。eta
と全体的な予測は、それぞれのツリーの予測の合計です。
以前のツリーには後者のツリーよりも大きな重みが与えられますが、それは必ずしも必要ではありません。すべてのツリーの後に応答が更新されるためです。ここでおもちゃの例です:
は、我々は最初のツリーが構築され、12、18、27、39、54
の予測を提供している5つの応答10との観測、20、30、40、50を持っていると仮定今、eta
= 1の場合、次のツリーに渡される応答変数は、-2,2,3,1,4(予測と真の応答の差)になります。次のツリーは、最初のツリーでは捕捉されなかった「ノイズ」を学習しようとします。 nrounds
= 2の場合、2つのツリーからの予測の合計がモデルの最終予測を行います。
代わりにeta
= 0.1の場合、すべてのツリーの予測値はeta
でスケールダウンされるため、最初のツリーは代わりに1.2,1.8,2.7,3.9,9.4を予測します。次に、次のツリーに渡される応答変数は、8.8,18.2,27.3,36.1,44.6(スケーリングされた予測と真の応答との間の差)の値を有する.2番目のラウンドは、これらの応答値を使用して別のツリーを構築し、 eta
によってスケーリングされます。だから、木2は、7,18,25,40,40のように、一度スケーリングされると、0.7,1.8,2.5,4.0,4.0となると予測します。前述のように、3番目のツリーには、これらの値と前のツリーのレスポンス変数の差が渡されます(8.1,16.4,24.8,32.1,40.6)。再び、すべての木からの予測の合計が最終的な予測を与える。
明らかにeta
= 0.1の場合、base_score
が0の場合は、予測可能な場所に近い場所に予測が必要です。一般に、1/eta
ラウンドの絶対最小値が必要であり、通常はそれ以上の値が必要です。
小さいeta
を使用することの理論的根拠は、ツリー1を作成するのではなく予測に向けて小さなステップを取ることによるメリットがメリットであることです。それは結晶化のようなものです。ゆっくりと冷やすと、より大きく、より良い結晶が得られます。欠点は、nrounds
を増やす必要があるため、アルゴリズムの実行時間を増加させることです。
この質問の回答が大好きです...良い質問! –