私はアンサンブル学習について少し混乱しています。簡単に言うと、k個のモデルを実行し、これらのk個のモデルの平均を取得します。k個のモデルの平均がどのモデルよりも優れていることをどのように保証できますか?バイアスが「広がる」または「平均化される」ことを理解しています。しかし、アンサンブルに2つのモデルがあり(つまりk = 2)、一方が他方よりも悪い場合、アンサンブルはより良いモデルよりも悪くないでしょうか?
私はアンサンブル学習について少し混乱しています。簡単に言うと、k個のモデルを実行し、これらのk個のモデルの平均を取得します。k個のモデルの平均がどのモデルよりも優れていることをどのように保証できますか?バイアスが「広がる」または「平均化される」ことを理解しています。しかし、アンサンブルに2つのモデルがあり(つまりk = 2)、一方が他方よりも悪い場合、アンサンブルはより良いモデルよりも悪くないでしょうか?
回答:
保証されていません。あなたが言うように、アンサンブルは個々のモデルよりも悪い可能性があります。たとえば、真のモデルと悪いモデルの平均を取ると、かなり悪いモデルになります。
モデルが相互に(ある程度)独立している場合にのみ、モデルの平均は改善されます。たとえば、バギングでは、各モデルはデータのランダムサブセットから構築されるため、ある程度の独立性が組み込まれます。または、機能のさまざまな組み合わせを使用してモデルを構築し、平均化によって組み合わせることもできます。
また、モデルの平均化は、個々のモデルの分散が大きい場合にのみ機能します。そのため、非常に大きな木を使用してランダムフォレストが構築されます。一方、一連の線形回帰モデルを平均すると、まだ線形モデルが得られます。これは、最初に使用したモデルよりも優れているとは思われません(試してみてください!)
ブースティングやブレンディングなどの他のアンサンブル手法は、個々のモデルからの出力をトレーニングデータとともに大きなモデルへの入力として取得することで機能します。この場合、実際にはより複雑であり、トレーニングデータを使用しているため、個々のモデルよりもうまく機能することがよくあります。
この例では、2つのモデルのアンサンブルは、単一のモデル自体よりも悪化する可能性があります。しかし、あなたの例は人為的なものであり、通常、アンサンブルで2つ以上を構築します。
アンサンブルモデルが個々のモデルよりも優れたパフォーマンスを発揮するという絶対的な保証はありませんが、それらの多くを構築し、個々の分類器が弱い場合です。全体的なパフォーマンスは、個々のモデルよりも優れている必要があります。
機械学習では、複数のモデルのトレーニングは通常、単一のモデルのトレーニングよりも優れています。これは、調整するパラメーターが多いためです。
この文脈ではめったに議論されない何かを投げたいだけで、それはあなたに思考の糧を与えるはずです。
Ensembleは人間にも使用できます!
人間の予測を平均すると、個々の予測よりも優れた予測が得られることが観察されています。これは群衆の知恵として知られています。
さて、あなたはそれは一部の人々が異なる情報を持っているからだと主張することができます。したがって、あなたは事実上情報を平均化しています。ただし、これは、jarファイル内のBeanの数を推測するなどのタスクにも当てはまります。
これについて書かれた本や実験がたくさんありますが、この現象は依然として研究者を困惑させます。
@Floundererが指摘したように、これは、各観測が通常決定境界に影響を与える決定ツリーなどのいわゆる不安定なモデルから得られる本当の利益です。通常、リサンプリングはサポートベクターに大きな影響を与えないため、SVMのようなより安定したものはそれほど得られません。
はい、そうかもしれませんが、アンサンブルのアイデアは、異なるアンサンブルからデータの異なる特性をキャプチャしながら、オーバーフィットを避けるために、より単純なモデルをトレーニングすることです。もちろん、同じトレーニングデータでトレーニングされている間に、アンサンブルモデルが単一のモデルよりも優れているという保証はありません。アンパフォーマンスモデルは、アンサンブルモデルとブースト(AdaBoostなど)を組み合わせることで得られます。ブーストすると、各データポイントに重みを割り当て、エラーに応じてそれらを更新することにより、次の各アンサンブルモデルをトレーニングします。したがって、これを座標降下アルゴリズムと考えると、一定の平均モデルの複雑さを維持しながら、反復ごとにトレーニングエラーを減らすことができます。全体として、これはパフォーマンスに影響を与えます。沢山あります