アンサンブル学習は、複数の学習モデルを組み合わせて、予測の精度を高めます。データセットが限られていることに起因する問題に対処するために利用されています。
アンサンブル学習は、機械学習の手法で、より精度の高い予測を得るために、2つ以上の学習モデル(例:回帰モデル、ニューラル・ネットワーク)を組み合わせたものです。言い換えれると、アンサンブル・モデルは、複数の個別のモデルを組み合わせて、単一モデルの場合よりも正確な予測を生成することができます。1 この手法は、場合によって、コミッティー・ベースの学習と呼ばれることもあります。アンサンブル学習は、学習モデルの集団性が個別の学習モデルよりも、全体として精度が高いという原則に基づいています。2 実際に、研究でも機械学習モデルと畳み込みニューラル・ネットワーク(CNN)により、その有効性が裏付けられています。
用語に関する注意:ベース学習器、ベース・モデル、および場合によっては、ベース推定器 は、アンサンブル・アルゴリズムで使用される個々のモデルを指します。文献ではさらに、ベース学習器を強い学習器と弱い学習器に分類されています。弱いモデルまたは学習器は、ランダムな推測よりも少し優れたパフォーマンスを達成するモデルとして定義されています。二項分類問題の場合、弱い分類器は、より正式には、約50%の精度を達成する分類器です。対照的に、強いモデルまたは学習器は、優れた予測パフォーマンスを達成し、二項分類では80%以上の精度として定義されています。3
一部のソースでは、アンサンブル法、特に逐次法が弱い学習器を強い学習器に効果的に押し上げるため、弱い学習器とベース学習器を混同していることに注意してください。4
バイアスと分散のトレードオフは、機械学習においてよく知られた問題であり、多くの正規化手法の背景にある原理です。これらは次のように定義できます。
− バイアスは、予測値と実測値の平均の差を測定します。バイアスが大きくなると、トレーニング・データセットにおけるモデルの予測の精度が低下します。バイアスが大きくなると、トレーニングにおける誤差が大きくなります。最適化とは、バイアスを小さくする試みです。
- 分散は、特定のモデルのさまざまな実現値における予測値の差です。分散が大きくなると、目に見えないデータにおけるモデルの予測精度が低くなります。分散が大きくなると、テストおよび検証における誤差が大きくなります。一般化とは、分散を小さくする試みです。
したがって、偏りと分散は、それぞれトレーニング・セットとテストセットに対するモデルの精度と反比例の関係にあります。5 これらは、モデルの誤差率を構成する3つのうちの2つで、3つ目は還元不可能な誤差です。この3つ目の用語は、データセットに固有のランダム性に起因する誤差を表します。モデルの誤差率は、次の式で定義されています。6
1つのモデル・トレーニング・アルゴリズムは、多数の変数(例:トレーニング・データ、ハイパー・パラメーターなど)で構成されており、結果として生じるモデルの誤差に影響を与えます。したがって、単一のトレーニング・アルゴリズムであっても、それぞれに独自のバイアス、分散、還元不可能な誤差率を持つ、さまざまなモデルを生成する可能性があります。アンサンブル・アルゴリズムは、複数の多様なモデルを組み合わせることで、個々のモデルの複雑さと利点(特定のデータ・サブセットのバイアスが特に小さい)を維持しながら、全体的な誤差率を小さくすることができます。7
研究によると、一般に、組み合わせたモデル間の多様性が大きいほど、結果として得られるアンサンブル・モデルの精度は高くなります。したがって、アンサンブル学習は、モデルのバイアスを犠牲にすることなく、過学習などの回帰問題に対処できます。実際に、研究によると、多様な非正則化モデルで構成されたアンサンブル(つまり、トレーニング・データに過剰適合するモデル) は、単一の正則化モデルよりも優れています。8 さらに、アンサンブル学習の手法は、高次元データに起因する問題の解決に役立ち、次元削減の代替手段として効果的に機能します。
文献では、機械学習におけるアンサンブル学習手法は、並列学習と逐次学習の2つのグループに広く分類されています。
- 並列法は、各ベース学習器を他の学習器と個別にトレーニングします。その名前のとおり、並列アンサンブルはベース学習器を並列に、互いに独立にトレーニングします。
- 逐次法は、直前のステップで学習されたモデルの誤差を最小化するように、新しいベース学習器をトレーニングします。つまり、逐次法では、ベース・モデルを段階的に、順次構築します。9
並列法は、さらに同種と異種に分けられます。同種並列アンサンブルは、同じベース学習アルゴリズムを使用して、すべてのコンポーネント・ベース学習器を生成します。異種並列アンサンブルは、異なるアルゴリズムを使用して、ベース学習器を生成します。10
アンサンブル法では、ベース学習器を最終的な学習器にどのように組み合わせるのでしょうか。いくつかの手法(例:スタッキング)では、個別の機械学習アルゴリズムを使用して、ベース学習器からアンサンブル学習器に学習させます。しかし、ベース学習器の予測を統合する一般的な方法の1つは投票、より正確には多数決です。
多数決では、特定のデータ・インスタンスに対する各ベース学習器の予測が考慮され、大多数の学習器の予測によって決定された最終的な予測が出力されます。たとえば、二項分類問題では、多数決は、特定のデータ・インスタンスの各ベース分類器から予測を取得し、多数決の予測を最終予測として使用します。加重多数決は、この手法の拡張であり、特定の学習器の予測に他の学習器よりも大きな重みを与えます。11
おそらく、最も一般的なアンサンブル学習法の3つは、バギング、ブースティング、スタッキングです。実際、これらは、逐次、並列、同種および異種のアンサンブル法の違いの一例です。
この概要は、網羅的ではないことに注意してください。アンサンブル法には、ブレンディングや加重平均アンサンブルなど、他にもいくつかの手法があります。ここで紹介しているものは、文献の中で最も顕著な方法のいくつかを調査することを目的としています。
バギングは、ブートストラップ集約法とも呼ばれる同種の並列法です。特定の学習データセットの変更された反復を使用して、同じ学習アルゴリズムで複数のベース学習器をトレーニングします。12 PythonのScikit-learnのアンサンブル・モジュールには、BaggingClassifierなどのバギングを実装するための関数があります。
具体的には、バギングでは、ブートストラッピングと呼ばれる手法を用いて、1つの初期トレーニング・データセットから複数の新しいデータセットを導き出し、複数のベース学習器をトレーニングします。その仕組みですが、トレーニング・データセットにn個のトレーニング・サンプルが含まれているとします。ブートストラッピングは、そのセットからn個のデータ・インスタンスを新しいサブサンプル・データセットにコピーします。初期インスタンスには複数回出現するものもあれば、完全に除外されるものもあります。これらは、ブートストラップのサンプルです。このプロセスをx回繰り返すと、元のデータセットのx回の反復が生成され、それぞれには初期セットのn個のサンプルが含まれます。その後、初期セットの各反復を使用して、同じ学習アルゴリズムで個別のベース学習器をトレーニングします。13
ランダム・フォレストはバギングを拡張したもので、特にランダムな決定木のアンサンブルを構築するためにバギングを使用することを意味します。これは標準的な決定木とは異なり、後者はすべての特徴をサンプリングして分割に最適なものを特定します。対照的に、ランダム・フォレストは、特徴のランダムな部分集合を繰り返しサンプリングして、決定ノードを生成します。14
スタッキング(もしくは、スタック一般化15)は、メタ学習として知られているものを例示する異種並列法です。メタ学習では、複数のベース学習器の出力でメタ学習器をトレーニングします。スタッキングとは、学習器ごとに異なる学習アルゴリズムを用いて、同じデータセットから複数のベース学習器を学習させることです。各ベース学習器は、未見のデータセットに対して予測を行います。これらの最初のモデル予測はコンパイルされ、メタ・モデルである最終的なモデルのトレーニングに使用されます。16
メタ学習器をトレーニングするためには、ベース学習器のトレーニングに使用したデータセットとは異なるデータセットを使用することが重要であることに注意してください。同じデータセットを使用してベース学習器とメタ学習器をトレーニングすると、過学習になってしまう可能性があります。これには、テスト・セットデータとして機能させるために、ベース学習器のトレーニング・データからデータ・インスタンスを除外する必要がある場合があり、これがメタ学習のトレーニング・データになります。 文献では、これらのデータセットが重複しないようにするためのクロス・バリデーションなどの手法が推奨されていることがよくあります。17
バギングと同様に、Pythonのsklearn.ensembleモジュールでは、スタッキング手法を実装するためのさまざまな関数が提供されています。
ブースティング・アルゴリズムは、逐次アンサンブル法です。ブースティングには多くの種類がありますが、すべて同じ一般的な手順に従います。ブースティングは、ある初期データセット上の学習器dをトレーニングします。結果として得られる学習器は通常弱いものであり、データセット内の多くのサンプルを誤って分類してしまいます。バギングと同様に、ブースティングは初期データセットからインスタンスをサンプリングして新しいデータセット(d2)を作成します。ただし、バギングとは異なり、ブースティングでは、最初のモデルまたは学習器から誤って分類されたデータ・インスタンスが優先されます。新しい学習器は、この新しいデータセット(d2)でトレーニングされます。次に、3番目のデータセット(d3)がd1およびd2からコンパイルされ、d1とd2が一致しない2番目の学習器の誤分類されたサンプルとインスタンスが優先されます。このプロセスをn回繰り返すと、n個の学習器が生成されます。ブースティングは、すべての学習器を結合して重み付けし、最終的な予測を生成します。18
ブースティング・アルゴリズムは、新しいデータセットを作成するときに、誤って予測されたデータ・インスタンスの優先順位付け方法が大きく異なります。最もよく知られている2つのブースティング法がこれを示しているかもしれません。
- 適応ブースティング(AdaBoost)は、モデルの誤差に重みを付けます。つまり、次の学習器をトレーニングするためのデータセットの新しい反復を生成する際に、前の学習者の誤分類サンプルに重みを付けて、次の学習器がこれらの誤分類サンプルを優先するようにします。
- 勾配ブースティング、新しい学習器をトレーニングする際に、残差を利用します。勾配ブースティングは、誤分類されたサンプルに重み付けをするのではなく、次のモデルの目標予測値を設定するために、前のモデルの残差を使用します。このようにして、1つのモデルが残した誤差のギャップを埋めようとします。19
残念ながら、sklearnにはブースティングを実装するための事前定義された関数はありません。しかし、Extreme Gradient Boosting(XGBoost)オープンソース・ライブラリーでは、Pythonで勾配ブースティングを実装するためのコードが提供されています。
学習器をトレーニングするための大規模でフェア・ユースなラベル付きデータセットを取得することの難しさを考えると、アンサンブル学習は、より少ないデータで学習器の能力を向上させる試みとして、多くの応用がなされています。たとえば、最近のいくつかの研究では、データセット20の異なる表現で複数のモデルをトレーニングしたり、いくつかのバイアス・モデルを組み合わせたりするなど、コンピューター・ビジョン・タスクのアンサンブル手法を用いてモデルの一般化能力を向上させるという有望な結果が示されています。21
アンサンブル法は一般化能力を向上させる可能性がある一方で、不公平性を生じさせてしまう可能性があります。機械学習において、公平性とは、通常、機密データを用いてトレーニングされた学習器に起因する自動化システム内の(多くの場合、少数派グループに対する)アルゴリズム・バイアスを軽減しようとする試みを指します。いくつかの研究で、アンサンブル・モデルの公平性を向上させるためのメトリクス、前処理、および後処理の手法が提案されています。22 AIにおける公平性と倫理的慣行を改善するための継続的な努力は、今後の研究において極めて重要なテーマになります。
1 Zhi-Hua Zhou『Ensemble Methods: Foundations and Algorithms』CRC Press、2012年
2 Gavin Brown『Ensemble Learning』Encyclopedia of Machine Learning and Data Mining、Springer、2017年
3 Gautam Kunapuli『Ensemble Methods for Machine Learning』Manning Publications、2023年。Lior Rokach『Pattern Classification Using Ensemble Methods』World Scientific Publishing Company、2010年
4 Zhi-Hua Zhou『Ensemble Methods: Foundations and Algorithms』CRC Press、2012年
5 Gareth James、Daniela Witten、Trevor Hastie、Robert Tibshirani、Jonathan Taylor『An Introduction to Statistical Learning with Applications in Python』Springer、2023年
6 George KyriakidesおよびKonstantinos G. Margaritis『Hands-On Ensemble Learning with Python』Packt Publishing、2019年
7 Zhi-Hua Zhou『Machine Learning』(翻訳者:Shaowu Liu)、Springer、2021年。George KyriakidesおよびKonstantinos G. Margaritis『Hands-On Ensemble Learning with Python』Packt Publishing、2019年
8 Peter SollichおよびAnders Krogh『Learning with ensembles: How overfitting can be useful』Advances in Neural Information Processing Systems、Vol. 8、1995年、https://papers.nips.cc/paper_files/paper/1995/hash/1019c8091693ef5c5f55970346633f92-Abstract.html
9 Gautam Kunapuli『Ensemble Methods for Machine Learning』Manning Publications、2023年
10 Zhi-Hua Zhou『Ensemble Methods: Foundations and Algorithms』CRC Press、2012年
11 Ibomoiye Domor MienyeおよびYanxia Sun『A Survey of Ensemble Learning: Concepts, Algorithms, Applications, and Prospects』IEEE Access、Vol. 10, pp. 99129-99149、2022年、https://ieeexplore.ieee.org/document/9893798。Lior Rokach『Ensemble-based Classifiers』Artificial Intelligence Review、Vol. 33, pp. 1-39、2010年、https://link.springer.com/article/10.1007/s10462-009-9124-7
12 M. Galar, A. Fernandez、E. Barrenechea、H. Bustince、F. Herrera『A Review on Ensembles for the Class Imbalance Problem: Bagging-, Boosting-, and Hybrid-Based Approaches』IEEE Transactions on Systems, Man, and Cybernetics、Vol. 42, No. 4, pp. 463-484、2012年、https://ieeexplore.ieee.org/document/5978225
13 Zhi-Hua Zhou『Ensemble Methods: Foundations and Algorithms』CRC Press、2012年
14 Gautam Kunapuli『Ensemble Methods for Machine Learning』Manning Publications、2023年
15 Robi Palikar『Ensemble Learning』Ensemble Machine Learning: Methods and Applications、Springer、2012年
16 Ibomoiye Domor MienyeおよびYanxia Sun『A Survey of Ensemble Learning: Concepts, Algorithms, Applications, and Prospects』IEEE Access、Vol. 10, pp. 99129-99149、2022年、https://ieeexplore.ieee.org/document/9893798
17 Zhi-Hua Zhou『Ensemble Methods: Foundations and Algorithms』CRC Press、2012年。Gautam Kunapuli『Ensemble Methods for Machine Learning』Manning Publications、2023年
18 Robi Palikar『Ensemble Learning』Ensemble Machine Learning: Methods and Applications、Springer、2012年。Zhi-Hua Zhou『Ensemble Methods: Foundations and Algorithms』CRC Press、2012年
19 Gautam Kunapuli『Ensemble Methods for Machine Learning』Manning Publications、2023年
20 Devesh Walawalkar、Zhiqiang Shen、Marios Savvides『Online Ensemble Model Compression Using Knowledge Distillation』(pp. 18-35)、2020年、https://link.springer.com/chapter/10.1007/978-3-030-58529-7_2
21 Xinzhe Han、Shuhui Wang、Chi Su、Qingming Huang、Qi Tian『Greedy Gradient Ensemble for Robust Visual Question Answering』Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)、pp. 1584-1593、2021年、https://openaccess.thecvf.com/content/ICCV2021/html/Han_Greedy_Gradient_Ensemble_for_Robust_Visual_Question_Answering_ICCV_2021_paper.html
22 Usman Gohar,、Sumon Biswas、Hridesh Rajan『Towards Understanding Fairness and its Composition in Ensemble Machine Learning』2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)、pp. 1533-1545、2023年、https://ieeexplore.ieee.org/abstract/document/10172501。Khaled Badran、Pierre-Olivier Côté、Amanda Kolopanis、Rached Bouchoucha、Antonio Collante、Diego Elias Costa、Emad Shihab、Foutse Khomh『Can Ensembling Preprocessing Algorithms Lead to Better Machine Learning Fairness?』Computer、Vol. 56, No. 4, pp. 71-79、2023年、https://ieeexplore.ieee.org/abstract/document/10098174.。Swanand Kadhe、Anisa Halimi、Ambrish Rawat、Nathalie Baracaldo『FairSISA: Ensemble Post-Processing to Improve Fairness of Unlearning in LLMs』Socially Responsible Language Modelling Research Workshop、2023年、https://neurips.cc/virtual/2023/78908