機械学習の技術を強化: 精度の向上とエラーの削減
公開: 2025-01-16ブースティングは、エラーを削減することでモデルの精度を向上させる、機械学習 (ML) における強力なアンサンブル学習手法です。以前の欠点に対処するために逐次モデルをトレーニングすることにより、ブースティングは堅牢な予測システムを作成します。このガイドでは、ブーストの仕組みについて説明します。その利点、課題、および用途。袋詰めとの比較も。
目次
- ブーストとは何ですか?
- バイアスと分散
- ブースティングとバギングの比較
- ブーストの仕組み
- ブースティングアルゴリズムの種類
- ブースティングの応用例
- ブーストのメリット
- ブーストの課題と限界
ブーストとは何ですか?
ブースティングは、新しい連続モデルをトレーニングしてアンサンブル内の以前のモデルのエラーを修正するアンサンブル学習手法です。アンサンブル学習手法は、複数の同様のモデルを使用してパフォーマンスと精度を向上させる方法です。ブースティングでは、新しいモデルはアンサンブルの前のエラーのみに基づいてトレーニングされます。その後、新しいモデルがアンサンブルに加わり、より正確な予測を提供できるようになります。新しい入力はすべてモデルに渡され、すべてのモデルにわたる誤差を減らすために集約されます。
精度は広い概念です。ブースティングは、モデルのバイアス (および程度は低いですが分散) を削減することにより、モデルのパフォーマンスを特に向上させます。分散とバイアスは 2 つの重要な ML 概念であり、次のセクションで説明します。
バイアスと分散
バイアスと分散は、機械学習全体の 2 つの基本的な特性です。 ML アルゴリズムの目標は、モデルの分散と偏りを減らすことです。それらの重要性を考慮して、それぞれについて詳しく説明し、なぜそれらが通常互いに対立するのかを説明します。
それぞれの概念を説明するために、住宅の特徴に関するデータ (平方フィート、寝室の数など) をもとに住宅の販売価格を予測する例を考えてみましょう。
バイアス
バイアスは、モデルが平均してどの程度間違っているかを示す尺度です。住宅が実際に 400,000 ドルで販売され、モデルが 300,000 ドルと予測した場合、そのデータ ポイントのバイアスは -100,000 ドルになります。トレーニング データセット全体のバイアスを平均すると、モデルのバイアスが得られます。
バイアスは通常、モデルが単純すぎて特徴と出力の間の複雑な関係を把握できないことが原因で発生します。単純すぎるモデルは、平方フィートだけを見ることを学習する可能性があり、トレーニング データであっても一貫して間違ってしまいます。 ML 用語では、これをアンダーフィッティングと呼びます。
分散
分散は、同様の入力が与えられた場合に、モデルの出力がどの程度異なるかを測定します。ほとんどの場合、同様の地域にあり、同様の平方フィート、寝室の数、バスルームの数を持つ家は、同様の価格になるはずです。ただし、分散が大きいモデルでは、価格が大幅に異なる場合があります。なぜ?
モデルはトレーニング データから偽の関係を学習した可能性があります (たとえば、家番号が価格に影響すると考えるなど)。これらの偽の関係により、データ内の有用な関係がかき消される可能性があります。一般に、複雑なモデルでは、このような無関係な関係が検出されます。これは過剰適合と呼ばれます。
バイアスと分散のトレードオフ
理想的には、データ内の真の関係は認識するが、それ以上は認識しない、低バイアス、低分散の ML モデルが必要です。ただし、これを実際に行うのは困難です。
モデルの洗練度や複雑性を高めると、データ内のより深いパターンを発見できるようになり、モデルの偏りを軽減できます。ただし、この同じ能力は無関係なパターンを見つけるのにも役立ち、その逆も同様であり、このバイアスと分散のトレードオフを解決するのが困難になります。
ブースティングによりバイアスと分散が改善される
ブースティングは、バイアスと分散の両方を削減できるため、非常に人気のあるアンサンブル学習手法です (ただし、分散の削減はそれほど一般的ではありません)。
以前のエラーを修正することで、ブースティングにより平均エラー率とモデルのアンサンブルのサイズが減少し、バイアスが低下します。
複数のモデルを使用すると、個々のモデルの誤差が相殺され、分散が小さくなる可能性があります。
ブースティングとバギングの比較
アンサンブル学習では、ブースティングとバギングの 2 つの最も一般的な手法が使用されます。バギングでは、トレーニング データセットを取得し、そのランダム化されたサブセットを作成し、サブセットごとに異なるモデルをトレーニングします。次に、モデルを組み合わせて使用して予測を行います。これにより、バギングとブースティングの間にかなりの違いが生じます。これについては、以下で詳しく説明します。
袋詰め | ブースト | |
モデルのトレーニング | モデルは、データのさまざまなサブセットに対して並行してトレーニングされます。 | モデルは順番にトレーニングされ、各モデルは前のモデルのエラーに焦点を当てます。 |
エラー削減に重点を置く | 差異を減らす | バイアスを軽減します |
一般的なアルゴリズム | ランダムフォレスト、袋詰めされたデシジョンツリー | AdaBoost、勾配ブースティング、XGBoost |
過剰適合のリスク | ランダムサンプリングによる過剰適合のリスクの低減 | 過剰適合のリスクが高い |
計算の複雑さ | より低い | より高い |
どちらの手法も一般的ですが、ブースティングはバイアスと分散を軽減できるため、より一般的な選択肢です。
ブーストの仕組み
ブーストの仕組みを見てみましょう。基本的に、ブースティングは、以前のモデルが間違っていたデータ ポイントで新しいモデルをトレーニングすることで構成されます。次の 3 つの部分があります。
- エラーによるトレーニング データの重み付け
- この重み付き誤差データセットで新しいモデルをトレーニングする
- 新しいモデルをアンサンブルに追加する
まず、初期モデル (1 つのアンサンブル) をトレーニングしたと仮定しましょう。
エラーによるトレーニング データの重み付け
既存のアンサンブルを通じてトレーニング データを実行し、アンサンブルが誤った予測を与えた入力を記録します。次に、それらの面倒な入力がより表現され、より重要になる、トレーニング データセットの修正バージョンを作成します。
新しいモデルのトレーニング
作成した変更されたデータセットを使用して、アンサンブル内の他のモデルと同じタイプの新しいモデルをトレーニングします。ただし、この新しいモデルはトレーニング データからの具体的な例により重点を置いているため、それらのサンプルではパフォーマンスが向上する可能性があります。このエラー パフォーマンスの向上は、バイアスを軽減する上で重要な部分です。
新型モデルの導入
新しくトレーニングされたモデルがアンサンブルに追加され、その予測は精度に応じて重み付けされます。並行して、新しい入力がアンサンブル内の各モデルに渡され、各モデルの最終出力が重み付けされてアンサンブルの出力が得られます。

分類タスク (通常、ブースティング問題で 2 つのラベルから選択) の場合、重み付き投票の合計が最も高いクラスがアンサンブルの予測として選択されます。
回帰タスクの場合、アンサンブルの予測は各モデルの予測の加重平均です。
この時点で、バイアスがまだ高すぎる場合は、このプロセスを繰り返すことができます。
ブースティングアルゴリズムの種類
ブースティング アルゴリズムにはいくつかのバリエーションがあり、それらの間にはいくつかの大きな違いがあります。最も人気のあるのは、アダプティブ ブースティング (AdaBoost)、勾配ブースティング、極端な勾配ブースティング (XGBoost)、および Cat ブースティングです。それぞれについて順番に説明します。
エイダブースト
AdaBoost は、以前に説明したブースティング アルゴリズムと非常に似ています。つまり、以前のアンサンブルに問題を引き起こすトレーニング データは、次のモデルをトレーニングするときにより重み付けされます。 AdaBoost はオリジナルのブースティング アルゴリズムの 1 つであり、そのシンプルさで知られています。
AdaBoost は、新しいモデルではトレーニング データセットのさまざまなバリエーション (ハード データ ポイントがより一般的) が認識されるため、他のブースティング アルゴリズムよりも過学習の傾向が低くなります。ただし、他のブースティング手法と比較すると、外れ値データの影響を受けやすく、バイアスはそれほど軽減されません。
勾配ブースティング
勾配ブースティングはブースティングに対する独特のアプローチです。適応ブースティングとは対照的に、新しいモデルはトレーニング データセットの誤差重み付けバージョンを取得しません。元のデータセットを取得します。ただし、データセット内の入力に対する出力を予測しようとするのではなく、各入力に対する前のアンサンブルの負の勾配を予測しようとします。
負の勾配は基本的に、誤差を減らすために、つまり正しい答えに近づくために、アンサンブルのモデルの重みと予測が移動する必要がある方向です。負の勾配は、前のアンサンブルの出力予測に (重み付け係数が適用されて) 追加され、予測が正確に近づくように調整されます。
勾配ブースティングは、特に複雑なデータの場合、AdaBoosting よりもはるかにパフォーマンスが優れています。調整するハイパーパラメータも増えるため、より詳細に制御できるようになりますが、実験の必要性も高まります。
XGブースト
XGBoost (または極度の勾配ブースティング) は、勾配ブースティングの高度に最適化されたバージョンです。 XGBoost により、勾配ブースティングのトレーニングと推論がより並列化されます。また、XGBoost は、過剰適合を防止するために正則化 (つまり、複雑さに対するペナルティ) を追加し、欠損データをより適切に処理します。最後に、XGBoost は大規模なデータセットやワークロードに対するスケーラビリティがはるかに優れています。
XGBoost は勾配ブースティングよりもさらにパフォーマンスが高く、2010 年代に最も人気のある ML アルゴリズムの 1 つでした。しかし、解釈するのが難しく、実行時の計算コストもはるかに高くなります。
キャットブースト
CatBoost は、カテゴリデータを処理するように設計された勾配ブースティングの形式です。カテゴリ データは、値が少数の限られたグループに収まるデータです。以下にいくつかの例を示します。
- はい – いいえデータ (例: 家にはガレージがありますか?)
- 色のカテゴリ (例: 赤、青、緑)
- 製品カテゴリ (例: 電化製品、衣類、家具)
勾配ブースティング モデルは一般にカテゴリカル データではうまく機能しませんが、CatBoost はうまく機能します。 CatBoost は連続データも処理できるため、ブーストのもう 1 つの人気の選択肢となっています。他の勾配ブースティング モデルと同様に、CatBoost には計算の複雑さと過学習の問題があります。
ブースティングの応用例
ブースティングは、誤差やバイアスが予想よりも大きいことが多いため、ほぼすべての ML 問題に適用できます。分類と回帰は ML の 2 つの大きな区分であり、ブースティングは両方に適用されます。コンテンツの推奨と不正行為の検出は、企業が直面する ML の問題の 2 つの例ですが、ブーストによって解決することもできます。
分類と回帰
分類と回帰は、ML タスクの中核となる 2 つです。ユーザーは、画像に犬が含まれるか猫が含まれるかを予測したい場合 (分類)、または家の販売価格を予測したい場合があります (回帰)。ブースティングは、特に基礎となるモデルが弱いか複雑でない場合に、両方のタスクにうまく機能します。
コンテンツの推奨事項
ブースティングは、ユーザーの好みに対する予測精度を反復的に向上させることにより、コンテンツの推奨 (例: Netflix がおすすめする映画) を強化します。レコメンダー モデルが特定の視聴パターン (季節の好みやコンテキスト依存の選択など) をキャプチャできない場合、ブースティングによって、これらの見逃したパターンに特に焦点を当てた追加のモデルが作成されます。シーケンス内の各新しいモデルは、以前に予測が不十分だったユーザーの好みに追加の重みを与え、結果として誤差が少なくなります。
不正行為の検出
金融会社の一般的な使用例である不正検出では、誤って分類されたトランザクションから徐々に学習することで優れたパフォーマンスを向上させます。初期モデルが高度な詐欺パターンを見逃した場合、新しい強化されたモデルは、これらの問題のあるケースを特にターゲットにします。この技術は、最近の誤分類に高い重みを与えることにより、変化する詐欺戦術に特によく適応し、システムが高い検出率を維持できるようにします。
ブーストのメリット
ブースティングは、モデルのバイアスを削減し、程度は低いですが分散を削減するのに優れています。他のアンサンブル手法と比較して、必要なデータが少なく、過剰適合をより詳細に制御できます。
バイアスと分散の低減
バイアスが高いということは、モデルが間違っていることが多いことを意味します。ブースティングは、モデルのバイアスを軽減するための優れた手法です。各モデルは前のモデルのエラーを修正することに重点を置いているため、アンサンブル全体としてエラー率が減少します。
分散の減少には副作用もあります。新しいモデルには異なるトレーニング データが混在している可能性があり、異なるモデルの誤差が互いに打ち消し合う可能性があります。
必要なデータ量が少なくなる
他のアンサンブル手法とは異なり、ブースティングは適切に機能するために巨大なデータセットを必要としません。新しいモデルは主に古いモデルのエラーに焦点を当てているため、目標は狭く、大量のデータは必要ありません。新しいモデルは既存のトレーニング データを使用して、エラーに対して繰り返しトレーニングできます。
過学習をより細かく制御
ブースティングには、各新しいモデルがアンサンブル予測にどの程度寄与するかを制御するいくつかのハイパーパラメーターがあります。これらのハイパーパラメータを変更することで、ユーザーは新しいモデルの影響を軽減できます。これにより、バイアスは増加しますが、分散は低下する可能性があり、ユーザーはバイアスと分散のトレードオフのどこに着地したいかを制御できるようになります。
ブーストの課題と限界
ただし、ブーストには注意点があります。トレーニングと使用にはより多くの時間が必要であり、外れ値データの影響を受けやすく、より多くのハイパーパラメーター調整が必要です。
トレーニング時間が長くなる
ブースティングでは、新しいモデルはそれぞれ前のアンサンブルのエラーに依存します。これは、モデルを一度に 1 つずつトレーニングする必要があることを意味し、トレーニング時間が長くなります。もう 1 つの欠点は、トレーニングが逐次行われるため、ブースティングが効果的かどうかは 12 個のモデルをトレーニングするまで分からない可能性があることです。
外れ値の感度
ブーストでは、新しいモデルは以前のモデルのエラーのみに焦点を当てます。トレーニング セット内の無視すべき外れ値データの一部が、代わりに後のモデルの唯一の焦点となる可能性があります。これにより、アンサンブルの全体的なパフォーマンスが低下し、トレーニング時間が無駄になる可能性があります。外れ値の影響を打ち消すには、慎重なデータ処理が必要な場合があります。
さらなるハイパーパラメータ調整
ユーザーが過学習をより詳細に制御できるという利点は、バイアスと分散の間の適切なバランスを見つけるためにユーザーがより多くのハイパーパラメータを調整する必要があることも意味します。多くの場合、複数のブースティング実験が必要になるため、連続したトレーニングがさらに面倒になります。ブーストには大量の計算リソースが必要です。