線形回帰の勾配ブースティング-なぜ機能しないのですか?


35

勾配ブースティングについて学習している間、このメソッドがモデルの構築とアンサンブルに使用する「弱い分類器」のプロパティに関する制約について聞いたことがありません。しかし、線形回帰を使用するGBのアプリケーションを想像することはできませんでした。実際、いくつかのテストを実行したとき、それは機能しません。私は、残差の平方和の勾配で最も標準的なアプローチをテストし、後続のモデルを一緒に追加していました。

明らかな問題は、最初のモデルからの残差が、もはや適合する回帰線が実際に存在しないような方法で取り込まれることです。私の別の観察では、後続の線形回帰モデルの合計も単一の回帰モデルとして表現できるため(すべての切片と対応する係数を追加)、モデルをどのように改善できるか想像できません。最後の観察結果は、線形回帰(最も一般的なアプローチ)は損失関数として二乗残差の合計を使用していることです-GBが使用しているものと同じです。

また、学習率を下げるか、各反復で予測子のサブセットのみを使用することも考えましたが、それでも最終的には単一のモデル表現にまとめることができるため、改善はないと思います。

ここで何が欠けていますか?Gradient Boostingで使用するのに線形回帰は何らかの形で不適切ですか?それは、線形回帰が損失関数として残差の二乗和を使用しているからでしょうか?グラディエントブースティングに適用できるように、弱い予測子には特定の制約がありますか?


直観的には、分類器を使用すべきではないと考えがちです。分類器の合計は同じタイプの分類器です。たとえば、線形関数の合計は線形関数です。
user18764

私はこれが古いことを知っていますが、私の理解では、ブースティングステップは現在の残差とベース学習器(あなたの場合は線形回帰)との間の損失関数に学習率を乗じて最小化することです。ベース学習器がmseを最小化する一方で、ブースターで使用される損失関数は同じMAPEになる可能性がありますか?
デビッドウォーターワース

回答:


35

ここで何が欠けていますか?

あなたが本当に何も欠けているとは思わない!

別の観察では、後続の線形回帰モデルの合計も単一の回帰モデルとして表現できるため(すべての切片と対応する係数を追加)、モデルをどのように改善できるか想像できません。最後の観察結果は、線形回帰(最も一般的なアプローチ)は損失関数として二乗残差の合計を使用していることです-GBが使用しているものと同じです。

あなたはすぐそこにそれを打ち込んだようで、この設定で線形回帰がブースティング線形回帰を打ち負かすことの証拠の短いスケッチをしました。

独創的であるために、両方の方法は次の最適化問題を解決しようとしています

β^=argminβ(yXβ)t(yXβ)

線形回帰は、線形方程式の解を見つけることで直接解くことができることを観察するだけです。

XtXβ=Xty

β

β1,β2,

Xβ1+Xβ2++Xβn=X(β1+β2++βn)

これらの各ステップは、平方誤差の合計をさらに減らすために選択されます。しかし、最初に完全な線形回帰を実行するだけで、この関数形式内で可能な限り最小の二乗和を見つけることができました。

この状況でのブーストの可能な防御は、それが提供する暗黙の正則化である可能性があります。おそらく(これで遊んだことはありませんが)グラディエントブースターの早期停止機能とクロス検証を使用して、完全な線形回帰の手前で停止することができます。これにより、回帰に正則化が提供され、おそらくオーバーフィットに役立ちます。この設定では、リッジ回帰やエラスティックネットなど、非常に効率的で十分に理解されているオプションがあるため、これは特に実用的ではありません。

簡潔な機能的なフォームが存在しない場合、ブースティングが光ります。決定木をブーストすると、リグレッサー/分類子の関数形式がゆっくりと進化してデータに適合し、多くの場合、手と目では考えられなかった複雑な形状になります。単純な機能フォーム必要な場合、ブーストはそれを見つけるのに役立ちません(または、少なくともそれを見つけるには少なくとも非効率的な方法です)。


2
β

それは非常に良い明確な答えです。確認/説明ありがとう、マシュー!
マテック

「ブーストは、周囲に簡潔な機能的なフォームがないときに輝きます。」これが私が探している答えです。だから、確認したいのですが、私の質問の答えはイエスですが、誰も基本学習者として線形モデルを使用していませんか?、stats.stackexchange.com
questions / 231286 /

5

最小二乗射影行列は次で与えられます

バツバツTバツ1バツT

y^例えば、

y^=バツバツTバツ1バツTy

回帰に適合し、その後、残差を計算するとします

e=yy^=yバツバツTバツ1バツTy

y^2

y^2=バツバツTバツ1バツTe=バツバツTバツ1バツTyバツバツTバツ1バツTy=バツバツTバツ1バツTyバツバツTバツ1バツTバツバツTバツ1バツTy=バツバツTバツ1バツTyバツバツTバツ1バツTy=0

この理由は、構築により、初期回帰からの残差ベクトルeがX空間に直交するためです。 y^ yからX空間への正射影です(これを視覚化した素敵な写真が文献にあります)。

これは、Xがeと完全に無相関であるため、回帰を近似し、最初の回帰からの残差に新しい回帰を近似するという単純なアプローチでは意味のある結果が得られないことを意味します。

上記の派生に対応する新しい行は実際にはない、と言ったのでこれを書きます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.