勾配ブースティングツリーとランダムフォレスト
1. 序章
このチュートリアルでは、勾配ブースティングツリーとランダムフォレストの違いについて説明します。どちらのモデルも決定木のアンサンブルを表しますが、トレーニングプロセスと、個々のツリーを組み合わせる方法が異なります。出力。
それでは、決定木の簡単な説明から始めましょう。
2. デシジョンツリー
決定木は、予測を行う前にオブジェクトの特徴に対して実行するチェックのツリー型の計画です。 たとえば、その日が外で遊ぶのに適しているかどうかを予測するためのツリーは次のとおりです。
各内部ノードは機能を検査し、機能の値に応じてそのサブツリーの1つに誘導し、出力の決定を残します。 すべてのリーフには、ルートからリーフへのパスのチェックに合格するトレーニングオブジェクトのサブセットが含まれています。 訪問すると、多数派クラスまたはリーフのセットの平均値を出力します。
ただし、ツリーは不安定です。 少数のインスタンスの省略など、トレーニングセットにわずかな変更を加えると、フィッティング後にまったく異なるツリーが生成される可能性があります。 さらに、ツリーは不正確であり、多くのデータセットで他の機械学習モデルよりもパフォーマンスが低下する可能性があります。
木のアンサンブルは両方の問題に対処します。
3. ランダムフォレスト
ランダムフォレストはツリーのコレクションであり、そのすべてが独立して、インスタンスと機能のさまざまなサブセットでトレーニングされます。理論的根拠は、単一のツリーは不正確である可能性がありますが、たくさんの木がほとんどの場合正しいでしょう。
たとえば、トレーニングセットが、、、、、の4つの機能を持つインスタンスで構成されていると想像してみてください。 ツリーをトレーニングするために、からインスタンスのサンプルをランダムに描画します。 次に、特徴のサンプルをランダムに描画します。 たとえば、および。 それを実行したら、これら2つの機能のみを使用するようにツリーを適合させます。 その後、必要な数のツリーをトレーニングするまで、毎回異なるデータと特徴のサンプルを選択するプロセスを繰り返します。
3.1. 長所と短所
フォレストは、単一のツリーよりも堅牢で、通常はより正確です。 ただし、各分類決定または回帰出力には1つではなく複数の決定パスがあるため、解釈が難しくなります。 また、ツリーのグループをトレーニングするには、1つだけをフィッティングするよりも時間がかかります。 ただし、ツリーは相互に独立しているため、並列でトレーニングできます。
4. 勾配ブースティングツリー
勾配ブースティングは、機械学習で広く使用されている手法です。 デシジョンツリーに適用され、アンサンブルも作成します。 ただし、古典的なフォレストの主な違いは、勾配ブースティングツリーのトレーニングプロセスにあります。回帰の例で説明しましょう(トレーニングインスタンスは、簡潔にするために機能を省略しています)。
目標は、一度に1つのステージで複数のツリーをトレーニングすることです。 それぞれで、以前に適合したもののエラーを修正するために単一のツリーを構築します。
4.1. 勾配ブースティングツリーのトレーニング:最初のツリー
まず、すべてのデータと機能を使用して決定木()をトレーニングします。 次に、その予測を計算し、それらをグラウンドトゥルースと比較します。
4.2. 2番目のツリー
満足したら、ここで停止し、一連のツリーをモデルとして使用します。 ただし、残差がシーケンスのエラーが高すぎることを示している場合は、別のツリーを適合させて、シーケンスを予測してモデルとして使用します。
エラーを許容レベルまで減らすか、ツリーの最大数に合わせるまで、このプロセスを繰り返します。
4.3. 長所と短所
勾配ブースティングツリーは、ランダムフォレストよりも正確です。互いのエラーを修正するようにトレーニングしているため、データ内の複雑なパターンをキャプチャできます。 ただし、データにノイズが多い場合、ブーストされたツリーが過剰適合し、ノイズのモデリングを開始する可能性があります。
4.4. ランダムフォレストとの主な違い
勾配ブースティングツリーとランダムフォレストの間には、主に2つの違いがあります。 前者を順番に、一度に1つのツリーでトレーニングして、前のツリーのエラーを修正します。 対照的に、 ランダムフォレストに独立して木を構築します。 このため、森林を並行して訓練することはできますが、勾配を高める木を訓練することはできません。
他の主な違いは、決定を出力する方法にあります。 ランダムフォレスト内のツリーは独立しているため、出力を任意の順序で決定できます。 次に、個々の予測を集合的な予測に集約します:分類問題の多数派クラスまたは回帰の平均値。 一方で、 勾配ブースティングツリーは一定の順序で実行され、その順序は変更できません。 そのため、彼らは順次評価のみを認めています。
4.5. しかし、このすべての勾配はどこにありますか?
これまで勾配について言及していませんでしたが、なぜこれらの木を勾配ブースティングツリーと呼ぶのでしょうか。
正方形のlossを使用してデータの回帰モデルの誤差を測定するとします。 次に、私たちの目標は以下を最小化することです。
偏導関数は次のとおりです。
これは負の残差に等しく、最小化するためにそれぞれを変更する方法を示しています。 しかし、それが最急降下法の仕組みです。 に関して最小化するために、加重導関数を減算することによってそれぞれを更新します。
の負の残差を近似するようにツリーをトレーニングし、それをに置き換えて修正することにより、勾配降下アルゴリズムで勾配更新ステップを実行します。 新しいツリーはそれぞれ、最急降下法の別のステップに対応します。
の負の残差のベクトルは、必ずしもの勾配に等しいとは限りません。 他の損失関数を使用すると、それらは異なります。 したがって、残差ではなく、
5. 結論
この記事では、勾配を高める木を紹介し、ランダムフォレストと比較しました。 どちらもアンサンブルモデルですが、異なるアイデアに基づいています。 前者を順番に適合させて実行することはできますが、ランダムフォレスト内のツリーでは、トレーニングと実行を並行して実行できます。