ランダム フォレストとアーキテクチャの選択

完了

アーキテクチャに関する実験は、多くの場合、効果的な最新モデルを構築するうえで重要です。 デシジョン ツリーを使用した基本レベルに対してこれを行いましたが、これに対する唯一の限界は、私たちの想像力と、おそらくコンピューターのメモリです。 実際に、デシジョン ツリーについて幅広く検討していくと、データをオーバーフィットさせてしまうデシジョン ツリーの傾向を軽減させ、高度に一般化されたモデル アーキテクチャが得られます。

ランダム フォレストとは

ランダム フォレストとは、デシジョン ツリーのコレクションであり、サンプルを割り当てるラベルを評価するために一緒に使用されます。 たとえば、メダル獲得選手を予測するためにランダム フォレストをトレーニングする場合に、100 の異なるデシジョン ツリーをトレーニングすることができます。 予測を行うために、すべてのツリーを独立して使用します。 これらは、選手がメダルを獲得するかどうかを有効な仕方で "投票" し、最終的な決定を下します。

ランダム フォレストのトレーニング方法

ランダム フォレストは、1 つのデシジョン ツリーでは高いバイアスがかかる (オーバーフィットする) が、複数のデシジョン ツリーをトレーニングすれば、異なる方法でバイアスがかかるという考え方に基づいて構築されます。 これを行うには、各ツリーを個別に、またそれぞれがわずかに異なるトレーニング セットで、トレーニングする必要があります。

1 つのデシジョン ツリーをトレーニングするために、一定数のサンプル (このシナリオでは選手) が全体のトレーニング セットから抽出されます。 各サンプルを複数回選択することができますが、ランダムに行われるようにします。 その後、ツリーは標準的な方法でトレーニングされます。 このプロセスは、各ツリーに対して繰り返されます。 それぞれツリーでは、異なる組み合わせのトレーニング サンプルが使用されるため、最終的に各ツリーは、他のツリーとは異なる方法でトレーニングされ、異なるバイアスが構築されます。

ランダム フォレストの長所

多くの場合、ランダム フォレストは、すばらしいパフォーマンスをもたらし、もう 1 つの人気があり、高いパフォーマンスを誇るモデル タイプであるニューラル ネットワークと比較しても、引けを取らない結果が得られます。 ニューラル ネットワークとは異なり、ランダム フォレスト モデルは簡単にトレーニングできます。最新のフレームワークには、数行のコードのみで実行できる、便利なメソッドが用意されています。 ランダム フォレストでは、大規模なデータセットを実行する必要もなく、トレーニングにかかる時間も短くて済みます。 これが、大抵トレーニングのために数分から数日かかり、かなりの経験を必要とし、非常に大規模なデータセットを必要とすることが多いニューラル ネットワークと異なる点です。 ランダム フォレストのアーキテクチャ上の決定は、線形回帰などのモデルよりは複雑ですが、ニューラル ネットワークよりはるかに簡単です。

ランダム フォレストの短所

ランダム フォレストの主な短所は、理解しづらいことです。 具体的には、これらのモデルは完全に透過的ですが (各ツリーを検査して理解することはできます)、多くの場合、非常にたくさんのツリーが含まれており、事実上、すべてを調べ、理解することは不可能です。

これらのアーキテクチャをカスタマイズするにはどうすれば良いですか?

複数のモデルと同様に、ランダム フォレストには、さまざまなアーキテクチャ オプションがあります。 最も簡単に検討できるのは、フォレストのサイズです。つまり、含めるツリーの数と、それらのツリーの大きさです。 たとえば、メダル獲得選手を予測するフォレストに、それぞれのノードの最大の深さが 6 ノードの 100 個のツリーを含めるように求めることができます。 つまり、選手がメダルを獲得するかどうかを最終的に判断するのに、"if" ステートメントが 6 つ以下でなければなりません。

既に学習したように、ツリーのサイズを大きくする (深さまたはリーフの数を増やす) と、トレーニングしているデータにオーバーフィットする可能性が高くなります。 この制限は、ランダム フォレストにも適用されます。 ただし、ランダム フォレストでは、ツリーの数を増やすことで、これに対処できます。各ツリーでは、異なる方法でバイアスがかかることを想定できます。 また、各ツリーを特定数の特徴のみに制限することも、トレーニングのパフォーマンスにわずかな差しかもたらさない場合にはリーフの作成を認めないようにすることもできます。 ランダム フォレストが適切な予測を行う可能性は、無限ではありません。 ある時点で、ツリーのサイズや数を増やしても、持っているトレーニング データの種類に限度があるため、それ以上の改善が見込めなくなります。