統計ER

統計ソフトRの使い方を中心に、統計解析方法の解説をするブログ。ありそうでなかなか見つからないサンプルサイズ計算などニッチな方法について紹介しています。

ランダムフォレストとバギング、何がどう違う?

ブログランキングに参加しています。
まずはぽちぽちっとお願いします。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
にほんブログ村 科学ブログ 数学へ

決定木をより汎用化するために考えられた、バギングとランダムフォレスト。

どこがどう違うのか?

概念的な簡単な説明。

 

 

アンサンブル学習とは何か?

ランダムフォレストとバギングはともにアンサンブル学習と呼ばれていて、似た手法だ。

アンサンブル学習とは、たくさんのサンプルから作成した識別器の結果を集合して、最適な識別器を作る、機械学習の方法。

何度もサンプリングして平均をとる方法を一般的にアンサンブル学習と言う。

たくさんのサンプルから作成するために、何度もサンプリングするブートストラップを使う。

 

バギングとはどのような手法か?

バギングとランダムフォレストの2つのうち先に発表されたのはバギング。

1996年にLeo Breimanが発表した。

バギング(Bagging)はBootstrap AGGregatINGからつくった造語。

バギングは、ブートストラップで、たくさんのサンプルを作る。

ブートストラップは、データベースからサンプリングしては戻し、サンプリングしては戻す復元抽出をして、たくさんのサンプルを作り出す方法。

ブートストラップは、小さいデータベースでも、たくさんのサンプルを作り出すことができる。

次にたくさんのサンプル一つ一つで、目的とする識別のための識別器を作る。

カテゴリなら分類木、連続量なら回帰木。

最後に、もっとも適したモデルを選ぶために、分類木の場合は、多数決で、決定する。

回帰木の場合は、平均して作成する。

バギングはこのようにして最適な識別器を作成する。

欠点があるとすれば、たくさんの識別器を作っても、所詮は同じデータベースからのサンプルなので、似通った識別器ばかりになってしまうこと。

似通った識別器からは、予測能力の高い汎化識別器は生まれにくい。Overfittingぎみな結果になる。

 

ランダムフォレストとはどのような手法?バギングとの違いは?

ランダムフォレストもバギングと同様にLeo Breimanが開発した手法。

2001年に発表された方法で、発表されてからまだ日は浅いが、アンサンブル学習の中では、主役級。

ランダムフォレストもバギングと同様、ブートストラップによってたくさんのサンプルを作って、たくさんのサンプルから作られる一つ一つの決定木を集合して、最適な決定木を作る方法。

違いが二つある。

一つは、決定木を作る説明変数をランダムに選ぶこと。

全部の説明変数を使わず、一部の説明変数しか使わない。

もう一つは、決定木の深さ、つまり分岐(ノード)の数を制限すること。

決定木の剪定を最初から取り入れている。

これら二つの処置によって、たくさん作成される決定木にバリエーションが生まれる。徹底的には分類させないがために、似たような決定木が生まれにくくなる。

Overfittingを防いでいる。

つまり、汎化性能を上げているわけ。

 

まとめ

バギングは、ブートストラップによるたくさんのサンプルを用いたアンサンブル学習の先駆者だが、似通った識別器になってしまい、汎化性能が今一つだった。

ランダムフォレストは、バギングの欠点を補うため、説明変数を一部しか使わず、決定木の深さも最初から制限している。

結果、ランダムフォレストは高い汎化性能を獲得し、アンサンブル学習では主役だ。