機械学習

ランダムフォレストとは? [Day21]

はじめに

この記事では決定木分析の欠点に対処したアルゴリズムであるランダムフォレストについて考えていきます。

「ランダムフォレストって決定木と何が違うの?」

「ランダムフォレストって何が優れているの?」

といった疑問に答えていきたいと思います!

tota
tota
文系出身データアナリストのtotaです!初心者でも分かるように解説していきますね!

決定木分析の欠点

前回のDay20でみた決定木分析の欠点は「丸暗記型過ぎる状態(過学習)」あるいは「単純思考型すぎる状態(未学習)」に陥りやすいという点でした。

決定木分析は「似たもの同士」が集まるようにデータを分割する手法です。

このとき「似たもの同士」を集めようと何度も何度も分割を繰り返すと過学習になってしまいますし、逆に分割の回数を減らすと何も学習できていない未学習状態に陥ります。

このような欠点に対処した分析手法が今回考えるランダムフォレストになります。

ランダムフォレストは決定木の欠点を補う!

ランダムフォレストは「2つのランダム性を用いた決定木をたくさん作る手法」です。

2つのランダム性を持ち合わせていることから「ランダム」

たくさんの決定木を作ることから「フォレスト」という言葉をイメージすると、

「ランダムフォレスト」という言葉のイメージが湧きやすいと思います。

この「2つのランダム性を用いた決定木をたくさん作る手法」を用いることの最大の利点は、決定木分析が苦手とする「過学習と未学習の微調整」にうまく対応することができる点です。

決定木分析はたった1本の樹形図で似たもの同士を集めようとする手法です。

したがって1回1回の分割が重い意味を持ってしまい「適度な学習」が難しくなります。

ランダムフォレストは以下で見ていく2つのランダム性により「適度な学習」を可能とするという点で非常に優れた分析手法と言えます。

ランダムフォレストで「適度な学習」を目指そう!

1つ目のランダム

ランダムフォレストの持つ2つのランダムのうち1つは「学ぶデータをランダムに選ぶ」というものです。

全てのデータから決定木を作成するのではなく、全てのデータのなかからランダムにデータを抽出します。

その抽出されたランダムデータのみを学習して決定木を作成します。

さらにそのランダムデータのみの学習を何度も繰り返してたくさんの決定木を作成していきます。

例えば大学受験や資格試験の受験勉強を考えてみましょう。

私たちは受験勉強を行う際によく過去問を学習します。

これは過去問の学習を通じて本番の試験での正解率を高めようとしているわけです。

Day1でも考えましたがこのアプローチは機械学習も同様です。

機械学習は過去問という過去のデータから、未知なるデータ(本番の試験)に対しての正解率を高めようとするものです。

ここで私たちの場合、通常は過去何年分かの過去問を「一通り」学習するかと思います。

過去5年分、10年分など。

しかしランダムフォレストの場合は過去問を「一通り」学習するのではなく、

過去問のなかから数年分を「ランダムに抽出して」学習します。

例えば過去問が10年分あったとしたら、

そこからランダムに6年分のみを選んで学習します。

残りの4年分は学習すらされません。

そして「ランダムに数年分の過去問を抽出し、その抽出した数年分の過去問を学習する」という作業を何度も繰り返します。

何度も繰り返すことでたくさんの決定木を作ることができます。

たくさん作った決定木をどうするかというと、

量的情報を扱う回帰木の場合は「平均」し、

質的情報を扱う分類木の場合は「多数決」し、

最終的な1つの結論とします。

この「ランダム」による利点は「結果が均される」という点です。

たった1本の決定木だけの結果では心許ない部分があるのですが、

たくさんの異なる決定木を作ることで結果を「平均」や「多数決」により均すことができます。

決定木分析は微調整が苦手な「不安定な」分析手法ですが、複数の決定木の結果を均すことでその不安定さを改善することができるというわけです。

ランダムフォレストはたくさんの決定木により結果を均すことができる!

2つ目のランダム

ランダムフォレストのもう1つのランダムは「学習する説明変数もランダムに選ぶ」というものです。

1つ目のランダムにより抽出した年次の過去問について、全ての問題(説明変数)を学習するのではなく、これまたランダムに抽出した一部の問題のみを学習します。

例えば全100問の資格試験があったとしましょう。

この資格試験の過去問を学習する際、通常は100問全てを学習するか、あるいは、特定の重要な問題に絞って学習を行うことが多いと思います。

しかしランダムフォレストは学習する問題(説明変数)さえもランダムに決めます。

つまり100問のなかから(例えば)10問のみをランダムに抽出してその10問だけしか学習しないのです。

この学習する説明変数さえもランダムに選ぶことの利点は

「たくさん作った決定木が多様になる」という点です。

学習の都度、ランダムに異なる説明変数を抽出して学習するので、

出来上がる決定木に多様性が生まれます。

1つ目のランダムの利点として「結果が均される」という話をしましたが、

たくさん作った決定木に多様性があることで「結果が均される」という機能がより効果的に働いてくれます。

仮に毎回同じ全ての説明変数を学習した場合、

たくさん作った決定木はとても似たものばかりになります。

似たもの同士の決定木は似たような結果しか導きません。

その似たような結果を均そうとしても、そもそも似たもの同士なので「均す」効果は小さくなります。

一方で2つ目のランダムにより多様性のある決定木をたくさん作れると、

各々が導き出す結果も多様なものになります。

似たもの同士の結果よりも多様なばらついた結果を均す方が「均す」という機能が効果的に働きます。

つまりランダムフォレストは「学習する説明変数もランダムに選ぶ」ことで「作る決定木を多様にし、均す機能を効果的に働かせる」という利点があるということになります。

多様な決定木により均す効果を最大化する!

まとめ

最後に今回の記事のポイントを整理します。

  • ランダムフォレストは2つの「ランダム」を用いた決定木をたくさん作る手法
  • 1つ目のランダムは「学ぶデータをランダムに選ぶ」というランダム(例:10年分の過去問からランダムに6年分のみ選んで学習)
  • 2つ目のランダムは「学習する説明変数もランダムに選ぶ」というランダム(例:全100問のうちランダムに10問のみ選んで学習)
  • これを何度も繰り返したくさんの決定木を作成、そして、最後にたくさんの決定木の結果を均す(平均したり、多数決したり)
  • 「ランダム」を通じて得られた多様な決定木を均すことで分析の精度が高くなる(過学習でも未学習でもない適度な学習が可能)

ランダムフォレストは決定木分析を拡張したアルゴリズムです。

決定木分析はシンプルでわかりやすい一方で分析の精度は低い手法です。

しかし決定木分析を上記の2つのランダムにより拡張することで激的に精度が改善されます。

それがランダムフォレストというわけですね!

今回は以上になります。

最後まで読んでいただきありがとうございました!

統計学ベーシック講座【確率分布・推定・検定】

統計学の基礎を効率的に学べるベーシック講座です。統計学の入り口となる「確率分布・推定・検定」について豊富な図を用いて説明していきます。

2021年3月リリース後すでに20,000人以上の方に受講いただき大人気ベストセラーコースとなっています!ぜひこの機会に統計学や確率思考という一生モノのスキルを一緒に身につけましょう!

※上記リンクからですと時期によってはクーポンが自動適用されます。
※Udemyは世界最大級のオンライン学習プラットフォームです。以下記事にてUdemyをご紹介しておりますのでよろしければこちらもご覧ください。

Udemyとは?セールでお得な世界最大級のオンライン学習プラットフォームこの記事では世界最大級のオンライン学習プラットフォームであるUdemyをご紹介していきます!まだUdemyを使っていない方やこれから使お...