1行定義
ランダムフォレストとは、データと特徴量を無作為に選んで多数の決定木を作り、それらの予測を多数決や平均でまとめるアンサンブル学習の手法のことです。
くわしく
ランダムフォレストは、たくさんの決定木(ツリー)を集めた「森(フォレスト)」で予測する手法です。2001年にレオ・ブレイマンが論文で体系的に示しました。1本の決定木は学習データの違いに敏感で、予測がぶれやすいという弱点があります。ランダムフォレストは、少しずつ性質の異なる木を多数作り、その結果をまとめることで、ぶれを打ち消します。
2つのランダム
木ごとに違いを出すため、2つの段階で無作為さを取り入れます。
1つ目は、学習に使うデータです。元のデータから重複を許して同じ件数を無作為に取り出すブートストラップサンプリングで、木ごとに別の学習データを作ります。このように作った複数のモデルの予測をまとめる方法をバギングといいます。
2つ目は、分岐に使う特徴量です。各分岐で、全特徴量ではなく無作為に選んだ一部の特徴量の中から、最もよい分け方を選びます。とても強い特徴量が1つあっても、すべての木が同じ分岐をすることを防げます。木どうしの相関が下がるので、まとめたときにぶれを打ち消す効果が大きくなります。
予測は、分類なら各木の多数決、回帰なら各木の出力の平均で決めます。
特徴と位置づけ
各木は独立に学習するので、並列に計算しやすい手法です。ブートストラップサンプリングで選ばれなかったデータ(OOBデータ)を使えば、別に検証用データを用意しなくても汎化性能の目安が得られます。どの特徴量が予測に効いているかを示す重要度も計算できます。
同じく決定木を使うアンサンブル学習でも、勾配ブースティングは前の木の誤りを補うように、木を1本ずつ順番に作ります。「独立に作って平均する」のがランダムフォレスト、「順番に作って積み上げる」のが勾配ブースティングです。
覚え方
「データも特徴量もくじ引きで選んだ木を、森ごと多数決」と覚えます。
G検定での出題
出題のされ方
バギングとの関係、分岐ごとに特徴量を無作為に選ぶ工夫、決定木を独立に作る点でのブースティングとの違い、特徴量の重要度を出せる点が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| ランダムフォレストこのページの用語 | データと特徴量を無作為に選んで多数の決定木を作り、それらの予測を多数決や平均でまとめるアンサンブル学習の手法 |
| 勾配ブースティング | それまでの予測の誤りを減らすように弱い学習器を1つずつ追加していく、ブースティング系のアンサンブル学習の手法 |
違いを表で比べる
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
ランダムフォレストでは、各分岐で、全特徴量ではなく無作為に選んだ一部の特徴量の中から分岐条件を選ぶ。
答えを見る
答え ◯ 正しい
木どうしが似すぎるのを防ぐための工夫です。データを変えるだけのバギングとの違いになります。
-
ランダムフォレストでは、すべての決定木が同じ学習データ全体を使って学習する。
答えを見る
答え × 誤り
木ごとにブートストラップサンプリングで別の学習データを作ります。これがバギングにあたる部分です。
-
ブートストラップサンプリングで選ばれなかったデータ(OOBデータ)を使って、汎化性能を見積もれる。
答えを見る
答え ◯ 正しい
その木の学習に使っていないデータなので、別に検証用データを用意しなくても性能の目安になります。