アンサンブル学習(Ensemble learning)解説と実験
前回はアンサンブル学習のアルゴリズムを開設しました。アンサンブル学習のアルゴリズムは、同じ学習アルゴリズムの多数のEstimatorからの予測結果を組み合わせた技術である。今回は様々なアンサンブル学習手法を解説と実験したいと思います。 目次 1. アンサンブル学習の概要 ___1.1 アンサンブル学習(Ensemble learning)とは ___1.2 バイアス(Bias)とバリアンス(Variance) 2. 基本的なアンサンブル学習 ___2.1 Max Voting ___2.2 Weighted Average Voting 3. 高度なアンサンブル学習 ___3.1 Bagging ___3.2 Boosting ___3.3 Stacking 4. まとめ 1. アンサンブル学習の概要 1.1 アンサンブル学習(Ensemble learning)とは アンサンブル学習とは、(英:ensemble learning)とは日本語で合奏を意味します。その名の通り、簡単に言えば多数決をとる方法です。個々に別々の学習器として学習させたものを、融合させる事によって、未学習のデータに対しての予測能力を向上させるための学習です。 ビジネス判断に考えると、アンサンブル学習は1人で問題を解くより、複数人で意見を出し合って知識を補い合いながら解く方が、正答率上がるということになっています。 Kaggleなどのデータ解析競技には、頻繁にこの「アンサンブル学習」の話題が上がります。事実、多くのコンペティションの上位にランクインする方々はアンサンブル学習を活用しています。 1.2 バイアス(Bias)とバリアンス(Variance) アンサンブル学習を理解する上で前提となる知識、「バイアス(Bias)」「バリアンス(Variance)」の2つを説明します。機械学習の精度を向上するということは「予測値」と「実際値」の誤差を最小化することですが、その誤差をより的確に理解するために「バイアス」「バリアンス」が用いられます。 下の図は青い点が機械学習モデルの予測した値、赤い点がデータの実際の値を図式化したものです。 バイアス(Bias)は、推定値と実際値の平均的な違い。高いバイアス エラーは、性能が悪いモデルで、データ中の重要なトレンドを見逃します。 バリアンス(Variance)同じ観測で推定値の異なり具合。バリアンスが高いモデルは訓練データに当てはまりすぎて、訓練外では性能が悪いです。 低バイアスの状態(予測値と実際値の誤差が少ない)になりますが、その一方でバリアンスは高まり過学習に陥るケースがあります。良いモデルはバイアスとバリアンスの最も適切なバランスを調整してモデルの精度を向上させていきます。 アンサンブル学習の種類 アンサンブル学習の大まかな分類は以下になります。基本的なアンサンブルと高度なアンサンブル学習手法の大分類があります。(以下図の以外の方法もあります) 2. 基本的なアンサンブル学習手法 2.1 Max Voting Max Votingは異なる機械学習分類器を組み合わせ、多数決や予測の平均投票を使用し、クラスラベルを予測することです。そのような分類器は個々の弱点を相殺するため、モデルの生成に有効である場合もあります。 複数のモデルを訓練して各モデルの予測を最終的に多数決して決めます。 …