バギングを使用した堅牢な AI モデルの構築: テクニック、利点、およびアプリケーション

公開: 2025-01-09

バギングは、予測モデルの一貫性を向上させるアンサンブル機械学習 (ML) 手法です。このガイドでは、バギングの仕組みについて説明し、その利点、課題、用途について説明し、ブースティングなどの関連技術と比較します。

目次

  • 袋詰めとは何ですか?
  • 分散とバイアス
  • バギングとブースティング
  • 袋詰めの仕組み
  • バギングアルゴリズムの種類
  • 袋詰めの用途
  • 袋詰めのメリット
  • 袋詰めの課題と限界

袋詰めとは何ですか?

バギング (より正式には、ブートストラップ集約)、複数の同様の ML モデルを使用して出力の精度を向上させるアンサンブル学習手法です。アンサンブル学習の核心は、複数のモデルを組み合わせて、個々のモデルよりも優れたパフォーマンスを実現することです。

このアプローチには、トレーニング データをランダムなサブセットに分割し、それぞれで異なるモデルをトレーニングすることが含まれます。新しい入力の場合、すべてのモデルからの予測が集約されて、最終出力が生成されます。この手法では、ランダム化されたサブセットを利用することでモデル間の不一致が減少し、より一貫性のある予測が得られます。

バギングは、ML システムの変動を最小限に抑えて一貫性を向上させるのに特に効果的です。

Grammarly で賢く仕事をする
仕事を持つすべての人のための AI ライティング パートナー

分散とバイアス

バイアスと分散を削減することは、ML モデルまたはシステムの基本的な目標です。

バイアスは、ML システムが表示するデータに関する仮定によって生じるエラーを表します。通常、モデルが平均してどの程度間違っているかを計算することによって決定されます。分散はモデルの一貫性を測定します。これは、同様の入力に対してモデルの出力がどの程度異なるかを確認することで推定されます。

高バイアス

例として、住宅の特徴 (平方フィートや寝室の数など) から住宅の販売価格を予測する問題を考えてみましょう。単純なモデルでは、単純化するための多くの仮定が行われ、平方フィートのみが考慮されるため、偏りが大きくなる可能性があります。現実はその仮定よりも複雑であるため、トレーニング データであっても常に間違った結果が得られます。そのため、実際の価格予測要因(場所、学校の質、寝室の数など)を把握することができません。

高い分散

より複雑なモデルでは、トレーニング データのあらゆる傾向が検出され、分散が大きくなる場合があります。たとえば、このモデルは、実際の予測子ではない場合でも、トレーニング データ内の家番号 (基本的に番地の数値部分) と価格の間のわずかな相関関係を見つけて、それを使用する可能性があります。トレーニング データではうまく機能しますが、現実世界のデータではうまく機能しません。

分散とバイアスのトレードオフ

理想的なモデルは、バイアスと分散が低く、同様の入力に対して一貫して正しい出力を生成します。高いバイアスは、通常、モデルが単純すぎてトレーニング データのパターンを捉えることができない、つまり適合が不十分であることが原因で発生します。高い分散は、通常、モデルがトレーニング データ内の偽のパターンを捕捉していること、つまり過学習によって生じます。

モデルの洗練度を高めると、より多くのパターンをキャプチャできるようになり、バイアスが低くなります。ただし、このより洗練されたモデルはトレーニング データを過剰適合する傾向があり、分散が大きくなり、その逆も同様です。実際には、バランスのとれたバイアスと分散のトレードオフを達成するのは困難です。

バギングは差異を減らすことに重点を置いています。アンサンブル内の各モデルは、データセットを過剰適合させるため、分散が大きくなる可能性があります。ただし、各モデルはランダム化されたデータセットを取得するため、さまざまな偽のパターンが発見されることになります。住宅価格の例では、あるモデルは偶数番号の家を過大評価し、別のモデルは過小評価し、ほとんどのモデルは家番号を完全に無視する可能性があります。

これらの任意のパターンは、予測を平均化すると平均化される傾向があり、真の根底にある関係が残ります。したがって、アンサンブルは、個々のモデルと比較して、分散が小さくなり、過剰適合が減少します。

バギングとブースティング

バギングがブースティングと同じ文脈で話されているのを耳にするかもしれません。これらは最も一般的なアンサンブル学習手法であり、多くの人気のある ML モデルを支えています。ブースティングは、以前のモデルのエラーに基づいてモデルをトレーニングする手法です。次に、このモデルのグループは、あらゆる入力に応答するために使用されます。 2 つの手法の違いについてさらに詳しく説明します。

袋詰めブースティング
モデルのトレーニングモデルはデータの異なるサブセットで並行してトレーニングされますモデルは順番にトレーニングされ、各モデルは前のモデルのエラーに焦点を当てます。
エラー削減に重点を置く差異を減らすバイアスを軽減します
一般的なアルゴリズムランダムフォレスト、袋詰めされたデシジョンツリーAdaBoost、勾配ブースティング、XGBoost
過剰適合のリスクランダムサンプリングによる過剰適合のリスクの低減過剰適合のリスクが高い
計算の複雑さより低いより高い

どちらの手法も一般的ですが、ブーストの方が一般的です。ブースティングはバイアス分散の両方を減らすことができますが、バギングは通常、分散にのみ影響します。

袋詰めの仕組み

袋詰めが実際にどのように機能するかを考えてみましょう。要点は、トレーニング データをランダムに分割し、分割されたデータ上でモデルを並行してトレーニングし、入力に応答するためにすべてのモデルを使用することです。それぞれに順番に取り組んでいきます。

データ分割

n 個のデータポイントを含むトレーニング データセットがあり、 m 個のモデルのバッグ化されたアンサンブルを作成したいとします。次に、それぞれがn 個のポイントを持つm 個のデータセット (モデルごとに 1 つ) を作成する必要があります。各データセット内のポイントの数がnより多いか少ない場合、一部のモデルは過剰トレーニングまたは不足トレーニングになります。

単一の新しいランダム データセットを作成するには、元のトレーニング データセットからn点をランダムに選択します。重要なのは、選択するたびにポイントを元のデータセットに戻すことです。結果として、新しいランダム データセットには、元のデータ ポイントの一部のコピーが複数ある一方で、他のデータ ポイントのコピーは存在しません。平均して、このデータセットは 63% の一意のデータ ポイントと 37% の重複したデータ ポイントで構成されます。

次に、このプロセスを繰り返して、 m 個のデータセットすべてを作成します。データ ポイントの表現のバリエーションは、アンサンブル モデル間に多様性を生み出すのに役立ち、これが全体の分散を減らす 1 つの鍵となります。

モデルのトレーニング

m 個のランダム化されたデータセットを使用して、 m 個のモデル (各データセットに 1 つのモデル) を単純にトレーニングします。同様のバイアスを確保するには、全体を通して同じ種類のモデルを使用する必要があります。モデルを並行してトレーニングできるため、反復をより迅速に行うことができます。

モデルの集約

m 個のトレーニング済みモデルができたので、それらをアンサンブルとして使用して、あらゆる入力に応答できるようになります。各入力データ ポイントは各モデルに並行して供給され、各モデルは出力で応答します。次に、モデルの出力を集約して、最終的な答えを導き出します。分類問題の場合は、出力のモード (最も一般的な出力) を採用します。回帰問題の場合は、出力の平均を取ります。

ここで分散を減らすための鍵は、トレーニング データの違いにより、各モデルがある種類の入力では優れている一方、他の種類では劣っているということです。ただし、全体としては、1 つのモデルの誤差は他のモデルによって相殺され、分散が小さくなるはずです。

バギングアルゴリズムの種類

アルゴリズムとしてのバギングは、あらゆるタイプのモデルに適用できます。実際には、ランダム フォレストとバギング デシジョン ツリーという 2 つの非常に一般的なバギング モデルがあります。両方について簡単に見てみましょう。

ランダムフォレスト

ランダム フォレストは、それぞれがランダム化されたデータセットでトレーニングされたデシジョン ツリーのアンサンブルです。デシジョン ツリーは、適切なラベルが見つかるまで、入力データについて「はい/いいえ」の質問に答えることで予測を行うモデルです。

ランダム フォレストでは、各デシジョン ツリーには同じハイパーパラメータ (ツリーの最大深さや分割ごとの最小サンプルなどの事前設定された構成) がありますが、トレーニング データセットとは異なる (ランダムに選択された) 特徴が使用されます。特徴のランダム化がなければ、トレーニング データの違いにもかかわらず、各決定木は同様の答えに収束する可能性があります。ランダム フォレストは ML で非常に人気のある選択肢であり、多くの場合、ML タスクを解決するための良い出発点となります。

袋詰めされた決定木

バギングされたデシジョン ツリーは、すべてのツリーがトレーニング データセットからの同じ特徴を使用することを除いて、ランダム フォレストに非常に似ています。これにより、ツリーからの出力の多様性が減少しますが、これには長所と短所があります。プラスの面としては、ツリーはより安定しており、同様の答えが得られる可能性が高くなります。これは、どの機能が重要であるかを判断するために使用できます。欠点は、分散がそれほど減少しないことです。このため、ランダム フォレストは、袋詰めされたデシジョン ツリーよりもはるかに多く使用されます。

袋詰めの用途

バギングは、分散が必要以上に大きい ML 問題で使用できます。 MLモデルがあれば袋詰め可能です。これをより具体的にするために、いくつかの例を見てみましょう。

分類と回帰

分類と回帰は、ML の中核的な問題の 2 つです。ユーザーは、画像の主題を猫または犬として分類したい場合があります。あるいは、ユーザーは住宅の特徴 (回帰) から住宅の販売価格を予測したい場合もあります。これまで見てきたように、バギングは両方の差異を減らすのに役立ちます。

分類にはアンサンブル モデルのモードが使用されます。回帰では平均が使用されます。

機能の選択

特徴の選択とは、データセット内で最も重要な特徴、つまり正しい出力を最もよく予測する特徴を見つけることです。無関係な特徴データを削除することで、モデル開発者は過剰適合の可能性を減らすことができます。

最も重要な特徴を知ることで、モデルをより解釈しやすくすることもできます。さらに、モデル開発者はこの知識を使用してトレーニング データ内の特徴の数を減らすことができ、トレーニングの高速化につながります。バッグ化されたデシジョン ツリーは、重要な特徴を明らかにするのに適しています。その中で大きな比重を占めている機能が重要な機能となる可能性があります。

電子商取引における袋詰め

電子商取引におけるバギングは、顧客離れを予測するのに特に価値があります。チャーン データに基づいてトレーニングされた ML モデルは、複雑でノイズの多い顧客の行動パターンにより、多くの場合、高い分散を持ちます。トレーニング データセットを過剰適合させる可能性があります。また、顧客の名前に含まれる母音の数が顧客の離脱の可能性に影響を与えると仮定するなど、偽の関係を推測する可能性もあります。

トレーニング データセットには、この過学習を引き起こす例がいくつかしか含まれていない可能性があります。バギングされたモデルを使用すると、アンサンブルは偽の相関を無視しながら本物のチャーン指標をより適切に識別できるため、より信頼性の高いチャーン予測が可能になります。

袋詰めのメリット

バギングはモデルの分散と過剰適合を軽減し、データの問題の解決に役立ちます。これは、最も並列化可能で効率的なバギング手法の 1 つでもあります。

分散の減少

モデルの分散は、モデルがデータ内の真の意味のあるパターンを学習していないことを示します。代わりに、あまり意味がなく、不完全なトレーニング データの症状であるランダムな相関関係が検出されます。

バギングによりモデルの分散が減少します。アンサンブルは全体として、入力と出力の間の意味のある関係に焦点を当てています。

新しいデータに対して適切に一般化する

バッグ化されたモデルは意味のある関係を認識する可能性が高いため、新しいデータやまだ見たことのないデータに一般化できます。適切な一般化は機械学習の最終目標であるため、バギングは多くのモデルにとって有用な手法です。

ほぼすべての ML 問題において、トレーニング データセットは実際のデータを完全には表していないため、適切な一般化が鍵となります。他のケースでは、実際のデータ分布は時間の経過とともに変化する可能性があるため、適応可能なモデルが必要です。袋詰めはどちらの場合にも役立ちます。

高度に並列化可能

ブーストとは対照的に、バッグ化されたモデルの作成は高度に並列化できます。各モデルは独立して同時にトレーニングできるため、迅速な実験とより簡単なハイパーパラメーターの調整が可能になります (もちろん、並行してトレーニングするのに十分なコンピューティング リソースがある場合に限ります)。

さらに、各モデルは他のモデルから独立しているため、入れ替えたり入れ替えたりすることができます。たとえば、他のモデルに影響を与えることなく、弱いモデルを別のランダムなサブセットで再トレーニングしてパフォーマンスを向上させることができます。

袋詰めの課題と限界

残念ながら、モデルを追加するとさらに複雑になります。非常に複雑になるという課題は、バッグ化されたモデルがより多くのコンピューティング リソースを必要とし、解釈と理解が難しくなり、より多くのハイパーパラメータ調整が必要になることを意味します。

より多くの計算リソースが必要

モデルが増えると、実行するためにより多くのリソースが必要になり、多くの場合、袋詰めされたアンサンブルには 50 以上のモデルが含まれます。これは、小型のモデルではうまく機能するかもしれませんが、大型のモデルでは扱いにくくなる可能性があります。

アンサンブルが成長するにつれて、応答時間も遅くなる可能性があります。リソースには機会費用もあります。リソースは、より大規模でより優れたモデルをトレーニングするために使用した方がよい場合があります。

解釈が難しくなる

ML モデルは全体として解釈が困難です。個々のデシジョン ツリーは、どの機能に基づいて決定を行うかを示すため、少し簡単になります。しかし、ランダムな森のように多数のツリーをグループ化すると、各ツリーからの矛盾した答えが混乱を招く可能性があります。

予測の最頻値や平均を取ること自体は、それが正しい予測である理由を説明するものではありません。群衆の知恵は正しいことも多いですが、理解するのは困難です。

さらなるハイパーパラメータ調整

モデルが増えると、ハイパーパラメータの効果が大きくなります。ハイパーパラメータの 1 つのわずかなエラーが、数十、数百のモデルに影響を与える可能性があります。同じハイパーパラメータのセットを調整するにはさらに時間がかかり、限られたリソースにさらに大きな負担がかかる可能性があります。