ランダムフォレストとバギングは、決定木をより汎用化するために考えられた手法。
違いは何か?
概念的な簡単な説明。
ランダムフォレストとバギングの総称 アンサンブル学習とは何か?
ランダムフォレストとバギングはともにアンサンブル学習と呼ばれていて、似た手法だ。
アンサンブル学習とは、たくさんのサンプルから作成した識別器の結果を集合して、最適な識別器を作る、機械学習の方法。
何度もサンプリングして平均をとる方法を一般的にアンサンブル学習と言う。
たくさんのサンプルから作成するために、何度もサンプリングするブートストラップを使う。
バギングとはどのような手法か?
バギングとランダムフォレストの2つのうち先に発表されたのはバギング。
1996年にLeo Breimanが発表した。
バギング(Bagging)はBootstrap AGGregatINGからつくった造語。
バギングは、ブートストラップで、たくさんのサンプルを作る。
ブートストラップは、データベースからサンプリングしては戻し、サンプリングしては戻す復元抽出をして、たくさんのサンプルを作り出す方法。
ブートストラップは、小さいデータベースでも、たくさんのサンプルを作り出すことができる。
次にたくさんのサンプル一つ一つで、目的とする識別のための識別器を作る。
カテゴリデータなら分類木、連続データなら回帰木。
最後に、もっとも適したモデルを選ぶために、分類木の場合は、多数決で、決定する。
回帰木の場合は、平均して作成する。
バギングはこのようにして最適な識別器を作成する。
欠点があるとすれば、たくさんの識別器を作っても、所詮は同じデータベースからのサンプルなので、似通った識別器ばかりになってしまうこと。
似通った識別器からは、予測能力の高い汎化識別器は生まれにくい。Overfittingぎみな結果になる。
ランダムフォレストとはどのような手法でバギングとの違いは何か
ランダムフォレストもバギングと同様にLeo Breimanが開発した手法。
2001年に発表された方法で、発表されてからまだ日は浅いが、アンサンブル学習の中では、主役級。
ランダムフォレストもバギングと同様、ブートストラップによってたくさんのサンプルを作って、たくさんのサンプルから作られる一つ一つの決定木を集合して、最適な決定木を作る方法。
違いが二つある。
一つは、決定木を作る説明変数をランダムに選ぶこと。
全部の説明変数を使わず、一部の説明変数しか使わない。
もう一つは、決定木の深さ、つまり分岐(ノード)の数を制限すること。
決定木の剪定を最初から取り入れている。
これら二つの処置によって、たくさん作成される決定木にバリエーションが生まれる。徹底的には分類させないがために、似たような決定木が生まれにくくなる。
Overfittingを防いでいる。
つまり、汎化性能が上がる可能性が高い。
まとめ
バギングは、ブートストラップによるたくさんのサンプルを用いたアンサンブル学習の先駆者だが、似通った識別器になってしまい、汎化性能が今一つだった。
ランダムフォレストは、バギングの欠点を補うため、説明変数を一部しか使わず、決定木の深さも最初から制限している。
結果、ランダムフォレストは高い汎化性能を獲得し、アンサンブル学習では主役だ。
コメント
コメント一覧 (2件)
[…] ランダムフォレストとバギングの違い […]
[…] ランダムフォレストとバギングの違い […]