アンサンブル学習は、複数の異なる機械学習モデルを組み合わせて単一の強力な学習器を生成する手法の総称です。
代表的な手法には、ブートストラップサンプリングによるバギングや、順次学習を行うブースティング、異種モデルの出力を統合するスタッキングなどが知られています。
単一の機械学習モデルでは、過学習や過剰学習、バイアスなどの問題から十分な予測精度を達成することは難しい面があります。一方のアンサンブル学習は、複数のモデルを組み合わせることで、個々のモデルの欠点を補い合い、バイアスとバリアンスのよりよいバランスを実現できます。
そのため、アンサンブル学習は単一モデルを上回る高い予測性能が期待でき、また異種のモデルを組み合わせられる点で柔軟性と汎用性にも優れています。デメリットもありますが、目的と状況に応じて適切な手法を選択することで、機械学習の性能向上に大きく貢献することができるでしょう。
それでは、詳しく解説していきましょう。
2014年 大学在学中にソフトウェア開発企業を設立
2016年 新卒でリクルートに入社 SUUMOの開発担当
2017年 開発会社Jiteraを設立
開発AIエージェント「JITERA」を開発
2024年 「Forbes 30 Under 30 Asia 2024」に選出
アンサンブル学習とは?
アンサンブル学習とは、複数の異なる機械学習モデルの出力を統合することで、単一モデルよりも高い予測精度を実現する手法です。
単一のモデルには、バイアスや過学習などの問題があり、モデルの構造や学習データによっては、性能に限界がありました。これに対し、異なるモデルは異なる誤りを生じるため、それらを組み合わせることで誤りを相殺し、より堅牢な予測が可能になります。
具体的なアンサンブル学習の手法としては、ブートストラップ的なランダムフォレストや、ブースティング的な勾配ブースティングなどが知られています。また、ベイズ的なベイジアンモデル平均なども存在します。状況に応じて適切な手法を選び、モデル間の多様性を確保することが重要視されます。
このように、アンサンブル学習は単一モデルの限界を打破し、堅牢で高性能な予測モデルを実現する有力な手段として、機械学習の発展に大きく貢献してきました。精度向上を目指すデータサイエンティストにとって、欠かせない概念の一つと言えるでしょう。
鍵は「バイアス」と「バリアンス」のバランス
アンサンブル学習で鍵となるのは、「バイアス」と「バリアンス」のバランスをいかに上手に調整できるかにかかっています。「バイアス」と「バリアンス」について解説し、バランス調整のポイントを解説します。
バイアスとは
バイアスとは、機械学習モデルの出力と真の値との間の系統的な誤差のことを指します。単純すぎるモデルでは、データの複雑な構造を捉えきれず、バイアスが大きくなる傾向があります。
バイアスが大きいモデルは、学習データに対する予測精度は高くても、未知のデータに対する一般化性能は低くなります。つまり、過学習が起こり、モデルの実用性が損なわれるのです。
バリアンスとは
バリアンスとは、学習データの微小変化に対するモデル出力の変動の大きさです。
複雑すぎるモデルではバリアンスが大きくなり、ノイズに過剰に追従する恐れがあります。一方で過剰なバリアンスは過学習を引き起こします。
アンサンブル学習では、バイアスが小さく、バリアンスが大きいモデルと、その逆のモデルを組み合わせることが重要です。
異なるバイアス・バリアンストレードオフを持つ複数モデルを組み合わせ、バイアスとバリアンスを適切にバランスさせることで、ノイズ対応力と特徴捉捕力のよいモデルが構築でき、未知データへの高い一般化が得られます。
アンサンブル学習法の種類
アンサンブル学習法には、大きく「逐次アンサンブル法」と「並列アンサンブル法」の2種類があります。まずそれぞれの手法について解説します。
逐次アンサンブル法
逐次アンサンブル法では、モデルを逐次的に構築し、前のモデルの誤差を補正するように次のモデルを作成していきます。代表的な手法が勾配ブースティングです。
初期のモデルは単純なものから始まり、次のモデルでは前のモデルの誤差に着目し、そこを補強するように学習されます。こうして誤差を徐々に減らしながら、堅牢なモデルを構築していきます。
逐次的にモデルを改良していくため、前のモデルの出力を必要とします。モデル間に強い依存関係がある点に特徴があり、並列計算は難しくなる可能性があります。
並列アンサンブル法
並列アンサンブル法は、独立したモデルを複数構築し、その出力を統合するアプローチです。代表例がランダムフォレストやベイジアンモデル平均です。
各モデルはお互いに依存せず、独立して並列に学習できるのが大きな利点です。計算リソースが許す限り、多くのモデルを構築できるため、高い予測性能が期待できます。
ただし、個々のモデルの性能に左右されやすく、モデル間の多様性を確保する工夫が必要不可欠です。多様性を失えば、アンサンブルの効果が薄れてしまいます。
ハイブリッドなアンサンブル学習法
ハイブリッドなアンサンブル学習法は、逐次アンサンブル法と並列アンサンブル法の両方の特性を組み合わせた手法です。
まず、並列アンサンブル法のように複数のモデルを独立に学習させます。次に、逐次アンサンブル法のように、これらのモデルの出力を組み合わせて上位モデルを作成します。
この手法では、逐次アンサンブル法の多様性と並列アンサンブル法の高い精度を同時に実現できるため、単独の手法よりも優れた性能を発揮することが期待できます。代表例としては、スタッキング(stacking)やカスケード(cascade)などがあり、これらの手法は、複雑なデータセットに対して高い精度を達成するために用いられます。
お気軽にご相談ください!
アンサンブル学習のテクニック
アンサンブル学習にはたくさんの手法がありますが、その中でも有用な方法である「バギング」「ブースティング」「スタッキング」について紹介します。
また、これらを組み合わせた異種の学習テクニックについても解説します。
バギング(Bagging)
バギングとは、ブートストラップ・アグリゲーティングの略称で、並列アンサンブル手法の一種です。学習データからランダムにサンプリングしたデータセットで複数のモデルを構築します。
それぞれのモデルは、元のデータセットの一部しか見ていないため、バイアスは大きくなる反面、バリアンスは小さくなります。
こうして構築された複数のモデルの出力を多数決で統合することで、個々のモデルのバイアスを打ち消し、バリアンスを抑えられるのがバギングの利点です。
ランダムフォレスト(Random Forest)とは?
ランダムフォレストは、バギングの考え方を決定木アルゴリズムに応用した代表的な手法です。バギングに加え、決定木構築時に特徴量の一部をランダムに選択する「特徴量ランダム化」を行います。
これにより決定木間の多様性が高まり、アンサンブルの効果が増大します。ランダムフォレストは、データ処理が高速で、ハイパーパラメータの調整も比較的容易なため、広く使われています。
ブースティング (Boosting)
一方のブースティングは、弱い予測モデルを順次重ね合わせる逐次アンサンブル手法の総称であり、代表例が勾配ブースティングです。
初期の単純なモデルから始め、次のモデルでは前のモデルの誤差に着目して学習を行います。
このように徐々にモデルを補強していくことで、最終的に強力な予測モデルを構築できます。ただし計算コストが高く、過学習に陥りやすいというデメリットもあります。
スタッキング (Stacking)
スタッキングは、複数の異なる学習アルゴリズムで構築したモデルの出力を、別の学習器で統合するメタ手法です。つまり、アンサンブル学習のアンサンブルとも言えます。
各ベースモデルの出力と正解ラベルを新しい学習データとして、メタモデルを構築します。異種のモデルを組み合わせられるため、単一モデルの限界を打破できる可能性があります。
一方で、過学習リスクが高いというデメリットもあります。
異種の学習テクニック
アンサンブル学習において、以下のような「異種」の手法を組み合わせることで、予測性能の向上が期待できます。
バギングとブースティング
バギングで構築された決定木群に、ブースティングを適用することで誤差を徐々に減らしていきます。これにより、バギングによる安定性とブースティングの高い表現力が両立できます。
ランダムフォレストにグラデイントブースティングを適用した「GBDTモデル」などがその一例です。
ランダムフォレストとカーネル法
ランダムフォレストは非線形データに適した決定木を用いていますが、カーネル法(高次元の特徴空間に射影してデータを線形分離可能にするアプローチ)を組み合わせることで、さらに高次の非線形性を捉えられます。
ランダムフォレストとカーネル法の組み合わせは、この発想に基づく手法の一つです。
ブースティングとニューラルネット
勾配ブースティングはスタンプ関数を弱学習器として使用しますが、これをニューラルネットに置き換えることで、表現力が飛躍的に向上します。
ニューラルネットとは、脳の神経回路網をヒントにした人工知能モデルで、層を重ねた構造で非線形な関数近似を行います。
XGBoostにニューラルネットを統合した「NeuralXGBoostモデル」などがその具体例です。
スタッキングを活用した様々なモデルの統合
スタッキングでは、決定木、ニューラルネット、線形モデル、ベイズモデルなど様々なベースモデルの出力を、メタモデルで統合できます。
異種モデルの長所を生かし、単一モデルの限界を打破することが可能です。
このように、アンサンブル学習における「異種」のテクニックを組み合わせることで、より柔軟性の高い強力なモデル構築ができるのです。
アンサンブル学習のアルゴリズム
アンサンブル学習に用いられる代表的な手法である「スタッキング」「投票」「エイダブースト」「ランダムフォレスト」「バギング」について、それぞれのアルゴリズムを紹介し解説します。
スタッキング
スタッキングは、異なる複数のベースモデルの出力を、別のメタモデルに入力し、統合する手法です。
具体的には、まずベースモデルを構築し、学習データに適用することで出力を得ます。この出力と正解ラベルの組を新しい学習データとして、メタモデルを学習させます。
つまり、メタモデルはベースモデルの出力から正解を予測するように訓練されます。異種アンサンブルであり、単一モデルの限界を打破できる可能性があります。
投票
投票法では、複数のモデルの出力を単純に集計し、多数決で最終予測を決めます。同じ重みを各モデルに割り当てる単純投票と、モデルの性能に応じて重みを変える加重投票があります。
前者は計算コストが低く実装が容易ですが、性能の悪いモデルの影響を受けやすいデメリットがあります。
後者は性能の良いモデルに高い重みを与えられますが、重みの決定が難しい面があります。
エイダブースト
エイダブースト(AdaBoost)は、ブースティングの代表手法です。最初に単純な予測器を構築し、その出力から重みを更新して次のモデルを作ります。
これを誤分類サンプルに高い重みを付けながら繰り返し行います。このように、徐々に性能を高めていき、最終的に強力なモデルへと変化させていきます。
ただし、ノイズに弱く、過学習に陥りやすい傾向があるため、注意が必要です。
ランダムフォレスト
ランダムフォレストはバギングの考え方を決定木アルゴリズムに応用したアンサンブル手法です。
ブートストラップサンプリングにより複数の異なる学習データを作成し、決定木をそれぞれで構築します。 さらに各決定木を構築する際、特徴量の一部をランダムに選択する「特徴量ランダム化」を行うことで、決定木間の多様性を高めています。
安定した高い予測性能が得られるのが大きな利点です。
バギング
バギング(Bagging)は、ブートストラップ・アグリゲーティングの略称で、並列アンサンブル手法の基本形です。
学習データからブートストラップサンプリングにより複数の異なるデータセットを作成します。そしてそれぞれのデータセットで独立にモデルを構築し、最終的にそれらの出力を統合することでアンサンブルモデルが完成します。
モデル間のバリアンスを減らす効果があり、単一モデルに比べ高い汎化性能が期待できます。
アンサンブル学習のメリット
アンサンブル学習は、複数の異なるモデルを組み合わせることで、単一モデルの限界を超えた高い予測精度と汎化性能を実現する手法です。その大きなメリットとして、「精度が高い」「汎用性向上」が挙げられます。
精度が高い
アンサンブル学習の最大の利点は、モデル間の誤差や限界を相互に補完し合うことで、単一モデルを上回る高い予測精度が得られる点にあります。
異なるモデルには異なるバイアスやバリアンスがあり、それらを組み合わせることでお互いの短所を打ち消し合えるのです。
例えばバギングではバリアンスの減少、ブースティングではバイアスの減少が期待できます。単一モデルの予測力には限界がある中で、アンサンブルは精度向上に大きく寄与します。
汎用性向上
アンサンブル学習のもう一つの大きなメリットは、様々な構造や特性を持つモデルを組み合わせることで柔軟性が高まり、データの性質に左右されにくくなる点です。
単一のモデルには適用範囲の限界がありますが、アンサンブル学習では線形モデル、木構造モデル、ニューラルネットワークなど異種のモデルを自在に組み合わせられます。
このようにアンサンブルすることで、高次の非線形性や複雑な構造を持つデータにも対応可能となり、モデルの適用範囲が格段に広がるのです。
アンサンブル学習のデメリット
アンサンブル学習には高い予測性能や汎用性など大きなメリットがある一方で、デメリットもいくつか存在します。
主なデメリットとしては、「構築に時間がかかる」「過学習の可能性」「解釈性の低下」があげられます。
これらのデメリットを理解した上で、目的に応じてアンサンブル学習を適切に活用することが重要です。
構築に時間がかかる
アンサンブル学習は、複数の異なるモデルを構築し、統合するため、単一モデルに比べて構築に時間がかかるというデメリットがあります。
特に逐次的なブースティング手法では、モデルを徐々に改良していく必要があり、計算コストが高くなる傾向にあります。
並列アンサンブル法でも、多数のモデルを構築する必要があり、計算リソースを多く要します。モデル構築時間の増加は、アンサンブル学習における大きな課題の一つと言えるでしょう。
過学習の可能性
アンサンブル学習は単一モデルよりも高い表現力を持つため、過学習のリスクが高まる可能性があります。特に強力すぎるモデルを組み合わせた場合、訓練データにきつく適合してしまい、未知のデータへの汎化性能が低下する恐れがあります。
この問題を回避するには、モデル間の多様性を確保し、バイアスとバリアンスのバランスを保つことが重要になってきます。
単に強力なモデルを組み合わせただけでは、過学習に陥りかねません。
解釈性の低下
解釈性とは、機械学習モデルの出力結果や内部の動作プロセスを人間が理解し説明できる度合いのことを指します。
単一の解釈可能なモデルであれば、ある入力に対してどのような計算プロセスを経て出力が導かれたのかを追跡し、予測根拠を明確に説明することができます。モデルの挙動を人間が理解しやすいほど、解釈性は高いと言えます。
アンサンブル学習では、複数のモデルの出力が複雑に統合されるため、最終的な予測結果への貢献度を個々のモデルごとに分離して説明することが困難になります。特に異種のモデルを組み合わせた場合、出力はブラックボックス化し、人間にはその内部プロセスを理解しにくくなってしまうのです。
つまり、高い予測性能は獲得できても、なぜその予測をしたのかという理由付けが難しくなり、モデルの透明性が損なわれてしまいます。
このように、アンサンブル学習では単一モデルに比べ解釈性が低下するというデメリットがあるのです。
アンサンブル学習まとめ
アンサンブル学習とは複数の機械学習モデルを組み合わせることで単一モデルの限界を超え、高い予測精度と汎化性能を実現する手法であることをここまで説明してきました。
根底にあるのが、バイアスとバリアンスのトレードオフの問題です。
単一モデルではどちらかに偏りがちですが、異なるバイアス・バリアンスを持つ複数のモデルを組み合わせることで、お互いの短所を相殺し合うことができます。このようにバイアスとバリアンスを適切にバランスさせることが、アンサンブル学習の鍵となります。
具体的なアンサンブル手法には、バギングやランダムフォレスト、ブースティングなどの代表的な並列手法と逐次手法があります。また、スタッキングのようにメタ手法でさらに統合するアプローチもあります。
さらに、同種か異種かでも分類できます。異種アンサンブルは単一アルゴリズムの限界を打破できる可能性を秘めています。
このようにアンサンブル学習には、単一モデルを上回る高い予測精度と柔軟性・汎用性が期待できるメリットがあります。
一方で、構築に時間がかかる、過学習リスク、解釈性の低下といったデメリットも存在します。目的に応じて適切な手法を選び、長所を最大限に活かすことが重要になってきます。
データサイエンティストにとって、アンサンブル学習はモデリングの精度と性能を左右する重要な概念であり、十分に理解しておく必要があるでしょう。
AIに関する質問やAIを使ったシステム開発に関する質問や案件のご相談などがある場合、ぜひ弊社Jiteraにお手伝いさせてください。
Jiteraでは、要件定義を書くだけでAIがアプリ・システムを開発する「プラットフォームJitera」を軸としてアプリ・システム開発を行っています。
きっとあなたのお力になれると確信しております。