アルゴリズム バギングとランダムフォレスト
複数の予測模型を組み合わせて、より精度の高い予測を行う手法のことを、集団学習と言います。この集団学習の中でも、よく知られている手法の一つに「バギング」があります。バギングは、様々なデータの偏りに対応できる、より汎用的な予測模型を作ることを目指す手法です。
バギングの仕組みは、まず複製を許しながら、元の学習データからランダムにデータを取り出して、複数の学習データの組を作ることから始まります。この手法は「ブートストラップ標本抽出法」と呼ばれています。元の学習データと同じ大きさのデータの組を複数作って、それぞれの組で予測模型を学習させます。それぞれの学習データの組は、元の学習データの一部を重複して含む一方で、一部のデータを含まないため、一つ一つが微妙に異なるものになります。
こうして学習させた複数の予測模型を使って、新しいデータに対して予測を行う場合、それぞれの模型が個別に予測を行い、その結果をまとめて最終的な予測結果を出します。例えば、分類問題では、多数決によって最終的な予測結果を決定します。つまり、多くの予測模型が「A」と予測したなら、最終的な予測結果も「A」とする、といった具合です。回帰問題では、各模型の予測値の平均値を最終的な予測値とすることが多いです。
このように、複数の予測模型の結果を組み合わせることで、一つの模型だけでは捉えきれないデータの特性を反映した、より正確で安定した予測が可能になります。また、ブートストラップ標本抽出法を用いることで、学習データの特定の傾向に過剰に適応してしまうことを防ぎ、より汎用的な予測模型を作ることができるのです。
