1. イントロ

このチュートリアルでは、ランダムフォレストと呼ばれる最も一般的な機械学習アルゴリズムの1つと、アウトオブバッグエラーの意味について説明します。

それ以外に、決定木、バギング、ブートストラップなど、ランダムフォレストに関連するいくつかの用語について簡単に説明します。

2. ランダムフォレスト

ランダムフォレストは、分類と回帰に使用されるアンサンブル学習方法です。 一連の決定木に依存して、多様な予測モデルを作成します。 このアルゴリズムは、堅牢な精度、高速なトレーニング時間、および解釈の容易さを提供するため、今日最も人気のある機械学習アルゴリズムの1つです。

そもそも、ランダムフォレストは、バギングと呼ばれるアンサンブル手法を使用します。バギングは、ノイズの多いデータセットでモデルをトレーニングするときに、それぞれが他のエラーを補正するように複数のモデルを作成することにより、分散を減らす手法です。 基本的に、これはランダムフォレストが多くの決定木で構成され、最終的な予測が木の多数決または平均予測として計算されることを意味します。

ランダムフォレストは、ブートストラップと呼ばれる別の説得力のある手法を利用しています。 これは、機械学習アルゴリズムの分散を減らすために使用できる統計的手法です。 つまり、元のデータセットを取得し、各決定木のサブセットを作成します。 また、このメソッドはサブセットをランダムにサンプリングし、置換の可能性があります。 これは、1つのサンプルまたは値を複数回選択できることを意味します。

最後に、手順を一般化するために、ランダムフォレストは決定木の構築に使用される変数の数を制限します。 デシジョンツリーのノードを分割する場合、ランダムに選択された変数(機能)のサブセットのみが考慮されます。 sci-kit-learnと呼ばれる人気のある機械学習ライブラリでは、このランダムフォレストのハイパーパラメータは「max_features」として知られています。 通常、ベストプラクティスは次のように設定することです

  • 分類用
  • 回帰の場合

ここで、は変数の総数であり、は特定のノード分割に対してランダムに選択された変数の数です。

3. ランダムフォレストでのアウトオブバッグエラー

一般に、機械学習とデータサイエンスでは、新しい目に見えないデータでうまく機能する信頼できるシステムを作成することが重要です。 全体として、この一般化を実現するためのさまざまなアプローチと方法があります。 アウトオブバッグエラーは、機械学習モデルを検証するためのこれらの方法の1つです。

3.1. 意味

このアプローチは、ランダムフォレストでのブートストラップの使用を利用します。 ブートストラップはデータをサンプリングし、1つのサンプルを複数回選択する可能性があるため、元のデータセットからすべてのサンプルを選択しない可能性が非常に高くなります。 したがって、1つの賢明な決定は、アウトオブバッグサンプルと呼ばれるこれらの選択されていないサンプルを何らかの形で利用することです。

同様に、これらのサンプルで達成されたエラーは、アウトオブバッグエラーと呼ばれます。 私たちにできることは、各デシジョンツリーにアウトオブバッグサンプルを使用して、そのパフォーマンスを測定することです。 この戦略は、トレインテスト分割や交差検定などの他の検証手法と比較して信頼できる結果を提供します。

3.2. アウトオブバッグサンプルの確率

理論的には、非常に大きなデータセットとサンプリング数を使用すると、トレーニングセットの36% ofでアウトオブバッグエラーが計算されると予想されます。 これを証明するために、トレーニングセットにサンプルがあると考えてください。 次に、トレーニングセットから特定のサンプルを1つ選択する確率はです。

同様に、特定のサンプルを1つ選択しない確率はです。 置換してブートストラップサンプルを選択するため、特定の1つのサンプルが選択されない確率はに等しくなります。 さて、数がかなり大きい場合、またはそれが無限大になる傾向がある場合は、以下の制限があります。

(1)  

3.3. 擬似コード

したがって、以下の擬似コードを使用して手順全体を説明できます。

結局のところ、より直感的に、以下の画像を使用してプロセス全体を提示できます。

4. 結論

この記事では、ランダムフォレストモデルの誤差を測定する1つの効率的な方法について説明しました。 アウトオブバッグ法は、多くの論文で経験的にテストされており、テストセットとほぼ同じモデルパフォーマンス測定値を提供します。 さらに、この方法は、データをトレーニングとテストに分割する必要がないため、単純なトレーニングテストの検証よりもさらに便利な場合があります。

このように、データセットが小さい場合、機械学習アルゴリズムにはトレーニング用のデータが多くなります。