ランダムフォレストはさまざまなタスクでかなりよく動作することが知られており、学習方法の革細工人と呼ばれてきました。ランダムフォレストの使用を避けるべき問題や特定の条件はありますか?
ランダムフォレストはさまざまなタスクでかなりよく動作することが知られており、学習方法の革細工人と呼ばれてきました。ランダムフォレストの使用を避けるべき問題や特定の条件はありますか?
回答:
引用の特定の言語について考えると、革職人はマルチツールです。小さなギズモがたくさん入れられた単一のハードウェアです。ペンチ、ナイフ、ドライバーなどです!これらの各ツールを個別に持ち歩く必要はなく、レザーマンはズボンに留めておくことができる単一のアイテムなので、いつでも手元に置いておくことができます。これは便利ですが、トレードオフは、各コンポーネントツールがその仕事で最高ではないということです。缶切りは使いづらく、ドライバービットのサイズは通常間違っており、ナイフは口whiを吹く以上のことはできません。これらのタスクのいずれかを実行することが重要な場合は、実際のナイフ、実際のドライバー、または実際のペンチのペアなど、専用のツールを使用するとよいでしょう。
ランダムフォレストは、同じ用語で考えることができます。ランダムフォレストは、さまざまなデータセットで強力な結果を生成し、チューニングパラメーターにあまり影響を受けません。しかし、それは完璧ではありません。問題についてよく知れば知るほど、特定の問題に対応するための特別なモデルを簡単に構築できます。
ランダムフォレストが悪戦苦闘する明らかなケースがいくつかあります。
スパース性 -データが非常にまばらな場合、それはいくつかのノードのために、ブートストラップサンプルと機能のランダムなサブセットを不変特徴空間を生成するために協力することが非常にもっともらしいです。生産的な分割を行う必要はないため、このノードの子が役立つことはほとんどありません。このコンテキストでは、XGBoostのパフォーマンスが向上します。
データは軸に沿って整列されていません-2つの特徴との空間に斜めの決定境界があると仮定します。これがデータに関連する唯一のディメンションである場合でも、通常のランダムフォレストモデルは、その斜めの境界を記述するために多くの分割を必要とします。これは、各スプリットがいずれかの軸に垂直に向けられているためですまたはです。(通常のランダムフォレストモデルは x 1 > 4の形式の分割を行うため、これは直感的である必要があります。)各分割に対して選択されたフィーチャのサブセットに対してPCA投影を実行する回転フォレストを使用して、これを克服できます。直交基底への投影は、原則として、分割が元の基準で軸に合わせられなくなります。
この画像は、軸に沿った分割がランダムフォレストの決定にどのように影響するかの別の例を示しています。決定境界は原点にある円ですが、この特定のランダムフォレストモデルは円を近似するボックスを描画することに注意してください。この境界を改善するためにできることはたくさんあります。最も簡単なのは、より多くのデータを収集し、より多くの木を構築することです。
鋭い角。正確。
拡散法を使用します。ゴツゴツしたものによく合います。サンプルサイズが小さい場合、精巧で非常に詳細なものにはうまく適合しません。多変量時系列データではうまくいかないと思います-ここにある何かが遠くにある1つのものに依存しているとき。
勾配ブーストフォレストは適合または過剰適合の可能性がありますが、同じデータに対して大幅に低いエラーを取得できます。
「レザーマン」は存在しません。「銀の弾丸」はありません。ツールボックスがあります。あなたのツールを知り、彼らがあなたの世話をすることができるようにそれらの世話をしてください。ツールボックスに密集したライブラリがない場合は特に、「ハンマーのときはすべての問題が釘のように見える」ことに注意してください。
問題をよく理解するまで、何かが解決するか、お気に入りのツールが解決するかを想像するのは簡単です。知恵は、問題を深く理解し、ツールに精通していることをお勧めします。
追加:他の何かを使用するのに十分な計算リソースまたは時間マージンがある場合。RFはトレーニングが高速であるだけでなく、実行も高速です。非常に深いブーストされた構造は、それほど重要ではありません。それをサポートするにはオーバーヘッドが必要です。
私が実際に質問に答えるのはこれが初めてなので、私にそれを固定しないでください..しかし、私はあなたの質問に答えることができると思います:
実際にモデルのパフォーマンスのみに興味があり、解釈可能性のようなものに興味がない場合、ランダムフォレストは実際には非常に優れた学習アルゴリズムであることが多いですが、以下の場合はパフォーマンスがわずかに低下します。
1.)トレーニングサンプルの数に対して次元(特徴の数)が非常に大きい場合、これらの場合、正規化された線形回帰またはSVMの方が適しています。
2.)コンピュータビジョンの問題のように、データに高次の表現/畳み込み構造がある場合。これらのコンピュータービジョンの場合、畳み込みニューラルネットワークはランダムフォレストよりも優れています(一般に、学習に組み込むことができる知識がある場合、それはより良いことです)。
ランダムフォレストと言われていることは、非常に良い出発点です。私が機械学習スキルで賞賛する人物の1人は、常にランダムフォレストと正規化された線形リグレッサーの学習から始まります。
ただし、可能な限り最高のパフォーマンスが必要な場合は、最近のニューラルネットワークとも呼ばれます。ディープラーニングは非常に魅力的なアプローチのようです。KaggleなどのデータチャレンジWebサイトでの受賞者は、競争にディープラーニングモデルを使用しています。ニューラルネットワークのもう1つの長所は、非常に多数のサンプルを処理できることです(10 ^ 6を超えると、確率的勾配下降を使用して、一度にデータのビットを供給してトレーニングできます)。個人的には、これはディープラーニングにとって非常に魅力的なプロだと思います。
まず、ランダムフォレストは次のデータタイプには適用できません。
表形式のデータ型の場合、ランダムフォレストをチェックすることは常に適切です: