あなたの質問への短い答え:
アルゴリズムが残差(または負の勾配)に適合する場合、各ステップで1つの特徴(つまり、単変量モデル)を使用するか、すべての特徴(多変量モデル)を使用するか?
アルゴリズムは1つの機能を使用しているか、すべての機能が設定によって異なります。以下にリストする私の長い答えでは、意思決定の切り株と線形学習者の両方の例で、すべての機能を使用していますが、必要に応じて、機能のサブセットを適合させることもできます。サンプリング列(フィーチャー)は、特にフィーチャーの数が多い場合、モデルの分散を減らすか、モデルの「ロバスト性」を高めると見なされます。
ではxgboost
、ツリーベース学習器の場合colsample_bytree
、各反復に適合するようにサンプルフィーチャを設定できます。線形ベース学習者の場合、そのようなオプションはないため、すべての機能に適合するはずです。さらに、一般的にxgboostまたは勾配ブースティングで線形学習を使用する人はあまり多くありません。
ブースティングの弱学習器としての線形の長い答え:
ほとんどの場合、線形学習者を基本学習者として使用しない場合があります。その理由は単純です。複数の線形モデルを一緒に追加しても、線形モデルのままです。
モデルを後押しするのは、基本学習者の合計です。
f(x)=∑m=1Mbm(x)
ここで、はブースティングの反復回数、は回反復のモデルです。b m m t hMbmmth
たとえば、基本学習者が線形の場合、回の反復を実行し、 およびとします。、B 1 = β 0 + β 1 X B 2 = θ 0 + θ 1 X2b1=β0+β1xb2=θ0+θ1x
f(x)=∑m=12bm(x)=β0+β1x+θ0+θ1x=(β0+θ0)+(β1+θ1)x
これは単純な線形モデルです!つまり、アンサンブルモデルは、基本学習者と「同じパワー」を持っています。
さらに重要なことは、線形モデルを基本学習器として使用する場合、ブースティングで複数の反復を行う代わりに、線形システム解くことにより、1つのステップでそれを実行できます。XTXβ=XTy
したがって、線形学習者以外のモデルを基本学習者として使用したいと考えています。2つのツリーを追加することは1つのツリーと同じではないため、ツリーは適切なオプションです。私はそれを簡単なケースでデモします:意思決定の切り株は、1つの分割のみを持つツリーです。
私は関数フィッティングを行っています。ここで、データは単純な2次関数によって生成されます。これは、塗りつぶされた等高線グラウンドトゥルース(左)と最終決定株のブースティングフィッティング(右)です。f(x,y)=x2+y2
ここで、最初の4つの反復を確認します。
線形学習器とは異なり、4番目の反復のモデルは、他のパラメーターを使用した1回の反復(1つの単一の断端)では達成できません。
これまでのところ、なぜ人々が線形学習者を基本学習者として使用していないのかを説明しました。しかし、人々がそうすることを妨げるものは何もありません。線形モデルを基本学習器として使用し、反復数を制限する場合、線形システムを解くことと同じですが、解法プロセス中の反復数を制限します。
同じ例ですが、3Dプロットでは、赤い曲線がデータで、緑の平面が最終的な適合です。ご覧のとおり、最終的なモデルは線形モデルでありz=mean(data$label)
、x、y平面に平行です。(なぜだと思いますか?これは、データが「対称」であるため、平面を傾けると損失が増えるためです)。ここで、最初の4回の反復で何が起こったかを確認します。フィットされたモデルは、最適値(平均)までゆっくりと上昇しています。
最終的な結論として、線形学習者は広く使用されていませんが、人々がそれを使用したり、Rライブラリに実装したりすることを妨げるものはありません。さらに、これを使用して反復数を制限し、モデルを正規化できます。
関連記事:
線形回帰の勾配ブースティング-なぜ機能しないのですか?
決定は線形モデルですか?