なぜXGBoostとランダムフォレストが必要なのですか?


25

いくつかの概念については明確ではありませんでした。

  1. XGBoostは、弱い学習者を強い学習者に変換します。これを行う利点は何ですか?多くの弱学習器を組み合わせるだけではなく単一のツリーを使用していますか?

  2. ランダムフォレストはツリーを作成するために、木から様々なサンプルを使用しています。だけではなく、単数形の木を使用して、この方法の利点は何ですか?

回答:


35

それはあなたの2番目の質問で始まり、その後、最初に行くために簡単です。

バギング

ランダムフォレストは、バギングアルゴリズムです。分散を減らします。

あなたは、このような決定木のような非常に信頼性の低いモデルを持っていると言います。(なぜ信頼性が低いのですか?データを少し変更すると、作成される決定ツリーが大きく異なる可能性があるためです。)そのような場合、バギングを通じて堅牢なモデルを構築できます(分散を削減)-バギングは異なるモデルを作成するときですあなたのデータをリサンプリングすることにより、結果として得られるモデルをより堅牢にします。

ランダムフォレストは、決定木に適用されるバギングと呼ばれるものですが、他のバギングアルゴリズムと違いはありません。

なぜあなたはこれをしたいのですか?それは問題次第です。モデルが安定であるために。しかし、通常は、それは非常に望ましいです。

ブースティング

ブースティングは分散を減らし、バイアスも減らします。複数のモデルを使用しているため、差異が減少します(バグ)。前のモデルで発生したエラー(ブースト部分)を伝えることにより、後続のモデルをトレーニングすることにより、バイアスを軽減します。

2つの主要なアルゴリズムがあります。

  • Adaboost:これは元のアルゴリズムです。次のモデルに、前のモデルと間違われたより重度の観測を罰するように指示します。
  • 勾配ブースティング:残差(予測値と真の値の差)を使用して、後続の各モデルをトレーニングします

これらのアンサンブルでは、基本学習者弱くなければなりません。データが過剰に適合している場合、後続のモデルを構築するための残差やエラーはありません。これらの良いモデルはなぜですか?さて、KaggleのようなWebサイトでのほとんどのコンテストは、勾配ブースティングツリーを使用して勝ちました。データサイエンスは経験的な科学であり、「機能するから」で十分です。とにかく、ブースティングモデルが過剰適合する可能性があることに注意してください(経験的にはあまり一般的ではありませんが)。

特に、勾配ブースティングが優れているもう1つの理由は、導関数が凸でない場合でも、さまざまな損失関数を非常に簡単に使用できるためです。確率的予測を使用している場合たとえば、次のようなものを使用することができますピンボール機能、あなたの損失関数として、(誘導体が常に一定であるため)ニューラルネットワークをはるかに困難である何か。

[興味深い歴史的注記:ブースティングは、もともと「弱いモデルを使用してより強いモデルを構築できるか」という質問に動機付けられた理論的な発明でした]


注:両方とも決定木を使用しているという理由だけで、ランダムフォレストと勾配ブースティングツリーを混同する場合がありますが、それらは2つの非常に異なるアンサンブルのファミリです。


1
ブースティング、加重平均を取ることで残差と分散を繰り返しモデリングすることでバイアスを減らします。cf. §5.5バイアス、分散、および安定性pp。118ブースティング:基礎とアルゴリズム、ロバートE.シャピレ、ヨアブフロイント。
エムレ

@Emre、あなたはもちろん正しいです。誰かが私の投稿を編集し、reduce by incrementを変更しました。元に戻しました。
リカルドクルス

8

あなたがツリーを構築するときは、分割ノードのためのいくつかの基準を定義する必要があります。これらは、情報ゲインとジニ指数などの指標を含んでいます。これらは、ヒューリスティックそれらが与えることを保証するものではありません、アプローチ最高の可能な分割。

いくつかの属性は関連性が低く、ノイズが多いという事実、および実際のデータで発生する他の多くの問題の重み。要するに、まともな計算時間で完璧なツリー構築することはできません(もちろん、可能な限りすべてのツリーを構築し、最高のテストを行うことはできますが、中規模のデータセットでもトレーニングには数年待たなければなりません)。

最適なツリーを取得できないため、近似があります。1つの近似は、多くのツリーがある程度正しいと予想し、投票システムでの分類を考慮するため、多くのツリーを構築することです(異なるデータパーティションまたは属性パーティションを使用)。これはほとんどのノイズを処理する必要があり、垂直パーティションは無関係な属性を処理でき、ヒューリスティックの重要性は低く、その他の利点もあります。


1

良い答えに少し追加します。主な問題は過剰適合です。複数のパラメーターがあり、非線形関数も追加すると、すべてのアルゴリズムがオーバーフィットし始めます。データに存在しないものが表示されます。暗いときや霧が強いときなど、人々は暗闇/霧の中に存在しないものを見る傾向があります。ほとんどすべての計算アルゴリズムは、より多くの人間が行うよりも過剰適合します。でも、線形回帰は、変数が非常に相関しているときに奇妙な係数を示し始めます。過剰適合がなければ、これらのアルゴリズムのベースとなる通常の決定木は、ランダムフォレストやXGBoostよりも優れていたでしょう。

そして、なぜオーバーフィッティングが起こるのか、なぜいくつかのアルゴリズムが他のアルゴリズムより優れているのか、正確な科学はありません。理論的には、ARIMAモデルは非常に健全ですが、実際には指数平滑法を使用する方が適切であり、ARIMAは異なるパラメーターを使用してARIMAに従って動作する変数を区別することさえできないことを示しています。

一部のニューラルネットワーク、特に畳み込みニューラルネットワークは、過剰適合が少ないようです。同時に、完全に接続されたニューラルネットワークの元のアイデアは、過剰適合のために多数のニューロンで失敗します。

オーバーフィットと戦う主な可能性は次のとおりです。

  1. 無作為抽出
  2. 複数のモデルにわたる平均化
  3. モデルのランダム化(ニューラルネットワークのトレーニング中のニューロンのランダムドロップ)

アルゴリズムを正しく理解していれば、ランダムフォレストとXGBoostの両方が複数のモデルでランダムサンプリングと平均化を行い、オーバーフィットを減らすことができます。

ImageNet画像認識コンテストでは、2016年の最高のモデル(Shao et al)は、いくつかの非常に優れたモデルの組み合わせでした。それらの何人かは前の年の競争に勝った。このモデルは、ベースとなっているどのモデルよりもエラーが20%少なくなりました。これは、過剰適合との戦いにおいて、複数のモデルにわたる平均化が強い方法です。

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