機械学習のアプローチにはいくつかのバリエーションが存在しますが、アンサンブル学習はその精度を高める方法として注目を集めています。
単独の学習器では精度がなくとも、アンサンブル学習に応用することで、高い精度を獲得することも可能です。
アンサンブル学習の特徴や、その運用方法についてご紹介していきます。
アンサンブル学習とは
機械学習で使われる学習システムは学習器と呼ばれ、様々な種類が存在します。
しかし中には弱学習器と呼ばれ、その精度に疑問が生じる手法もいくつかあるものです。この精度の問題を解消すべく、複数の学習器を組み合わせて分析を行うのが、アンサンブル学習です。
複数の手法を用いて分析精度を向上
アンサンブル学習が確立されたのは、弱い学習器の精度を高めるためというのが本来の目的でした。
しかし、最近では強い学習器を束ねて使うことによって、さらに予測精度を高めていくという使い方も行われるようになっています。
アンサンブル学習は回帰や分類とは異なるアプローチの学習形態であるため、これらと並列して考えるとややこしくなってしまいます。
未知のデータに対する予測精度を高めるための、サポート的な役割を持つ学習方法と考えておきましょう。
バイアスとバリアンス
アンサンブル学
習を進めていく上で、重要になってくるのがバイアスとバリアンスという要素です。
バイアスは予測した結果と実際の測定値の差を指しており、バリアンスは予測結果のばらつきを指しています。
バイアスの値が小さければ小さいほど、予測の値が実際の測定値に近いということになるため、バイアスはある程度小さい方が良いということができます。
一方、データをいくつものモデルに当てはめようとすることで、予測値にばらつきが生まれ、バリアンスは大きくなっていきます。
そして、バイアスが小さくなればなるほどバリアンスは大きくなり、バリアンスが小さくなるほどバイアスは大きくなるという関係も存在しています。
アンサンブル学習で予測精度を考える上では、これらの値にも気を配る必要があります。理解しておいて損はない項目です。
アンサンブル学習の種類
アンサンブル学習にはいくつかの種類が存在し、特徴を理解しながら使い分ける必要があります。
バギング
バギングは複数の学習データを並列的に運用する方法で、全てのデータを活用するのではなく、その一部を目的に応じて総合的に学習するアプローチです。
それぞれを別個に計算することで並列処理を実現し、最終決定に結び付けています。
また、バギングはバリアンスの増大を抑えることができる学習方法でもあるため、バイアスとのバランスをコントロールしたい際には有効な手法です。
ランダムフォレスト
バギングにもさらにいくつかの種類があるのですが、中でもポピュラーな方法がランダムフォレストと言われています。
ランダムフォレストは、たくさんの決定木を組み合わせて結果を導く手法で、決定木の弱点である精度の低さを補うことができます。
データからいくつかのサンプリングを行い、それぞれを決定木で分析し、そこから得られた結果をさらに並列処理します。
そして最終的に得られた結果は、単体の決定木よりもはるかに精度に優れるものとなっており、繰り返し処理を重ねることでその精度を高めていくことができます。
実装も比較的簡単なため、初心者でも実践しやすいのが特徴的な手法です。
ブースティング
ブースティングはバギングとは異なり、データを直列処理する点が特徴のアプローチです。
こちらもバギング同様複数の弱学習器を用いる点は同じですが、ブースティングでは一つづつ弱学習を行い、一つ前の学習器で推定することができなかった部分にフォーカスを置き、次の弱学習器で学習を進めていきます。
これを繰り返すことによって、最終的に出力される結果の精度を高めることができます。
また、ブースティングはバイアスを低くすることができるため、こちらもバリアンスとのバランスをコントロールするのに用いることができます。
アンサンブル学習運用のポイント
アンサンブル学習は有用なアプローチですが、いくつかの注意点にも気をつけておきましょう。
アンサンブル学習は万能ではない
まず、アンサンブル学習は常に万能な学習方法であるとは限りません。
あらゆる学習器はアンサンブル学習にかけることで精度が上がるわけではないため、ランダムフォレストのように確立された方法を用いるのに集中することが重要です。
過学習への配慮
バイアスが低すぎる状態の場合、過学習という現象が発生している可能性があります。
過学習は、既存のデータにフィットしすぎるあまり、予測値に対してはまるで当たらなくなってしまう現象のことを指します。
このような事態を避けるためにも、バイアスとバリアンスのバランスは常に保っておく必要があるのです。
おわりに
アンサンブル学習にはデメリットもありますが、確立された手法を適切に用いることで、予測精度を高めていくことができます。
テンプレートとして扱えるよう、サンプルデータなどを用いて練習しておくと良いでしょう。