読み方:アンサンブルがくしゅう

アンサンブル学習 【ensemble learning】

概要

アンサンブル学習(ensemble learning)とは、機械学習システムの精度を向上させる工夫の一つで、方式や学習データの異なる複数のモデルを作り、それぞれの出力を組み合わせて最終的な出力とするもの。

例えば、分類を行う機械学習システム(学習器)を3つ用意し、それぞれ異なるデータで学習させる。これに同じデータを入力し、3つの出力の多数決を最終的な結果とする。回帰の場合は3つの出力値の平均値を最終的な結果とする。

それぞれの単体の予測精度があまり高くなくても、結果を合成することで高い精度を得ることができる。特に、教師データの特徴に過剰に適合してしまう過学習を防ぎ、未学習のデータに対する精度を向上させることができるとされる。

学習器の組み合わせ方は大きく分けて3つある。「バギング」(bagging:bootstrap aggregating)は複数のモデルに対して、同じ教師データからランダムに抽出した部分集合教師データとして与えて学習させる。この方法で複数の決定木を訓練する「ランダムフォレスト」がよく知られる。

「ブースティング」(boosting)は、最初にあるモデルを作成し、その予測結果の中から誤答だったデータの重み付けを増して、同じ手法で2回目のモデルを作成する。同様に3回目も2回目が間違えたデータの重みを増して学習させる。このサイクルを何度か繰り返して次第に精度を向上させる。

スタッキング」(stacking)は、手法の異なるモデルを多数作成し、それぞれに予測を行わせる。予測の結果を集約して、これを特徴量として学習させたメタモデルを作成する。メタモデルに予測させた結果を最終的な出力とする。複数の異なるモデルの強みを活かすことができる。

(2025.9.16更新)