titc.ai › BLOG

BLOG · AI入門・機械学習

ランダムフォレストの動きをアニメーションで理解する

たくさんの木の「多数決」で、予測を安定させる仕組みを、動かして確かめる

公開日 / 著者 富田 良治(TITC合同会社 代表社員)

ランダムフォレストは、データを選び直しながら少しずつ違う決定木をたくさんつくり、最後に多数決で答えを決める手法です。「森(フォレスト)」という名前は、木をたくさん集めることに由来します。たとえば「ダイレクトメール(DM)に反応して購入するお客様か、しないお客様か」を予測するとき、1本の木だけに頼ると、データが少し変わっただけで答えがぶれがちです。たくさんの木の意見をまとめると、そのぶれが小さくなります。下のデモで、木が1本ずつ増え、多数決の結果が落ち着いていく様子を見てみましょう。

動かして確かめる

点の一つひとつがお客様です。横軸は「来店回数」、縦軸は「平均購入額」。青い丸(●)は「購入した」、赤いバツ(×)は「購入しなかった」お客様です(決定木の記事と同じたとえです)。まずは「データの形」を「ノイズ多め」にして、「再生」を押してください。木が1本できるたびに、①データの選び直し、②その木の境界、③全体の多数決、の順に進みます。右側は比べるための「深い決定木1本」です。

森の多数決(木が増えるほど背景がなめらかに)

● 青い丸=購入した × 赤いバツ=購入しなかった / 背景の色は「木の何割が青と投票したか」(濃い青=ほぼ全員が青、濃い赤=ほぼ全員が赤、色が薄い=票が割れている)。図をクリックすると投票の内訳が出ます。

比べる:深い決定木1本(深さ12まで育てたもの)

1本だけの木は、まぎれ込んだ例外の点まで丸暗記して、境界がギザギザになりがちです。これが「過学習」です。

森を構成する木たち(1本ずつの境界。増えるたびに並びます)

左の図に新しい木が重なるときの区切り線の色:緑=来店回数で区切る 紫=平均購入額で区切る(各木の分岐では、どちらか一方だけが候補に選ばれます)

「再生」か「1本追加」を押してください。
木の本数:0 / 30
学習データ(図の点)の正解率:森 - 深い木1本 -
別に作ったテスト用データ(400件)の正解率:森 - 深い木1本 -
どの項目が効いているか(重要度)
来店回数-
平均購入額-

全部の木の分岐で、「混ざり具合」がどれだけ減ったかを項目ごとに合計し、割合にしたものです。

テスト用データは、学習に使っていない新しいお客様の代わりです。「ノイズ多め」では、深い木1本は学習データの正解率だけが高く、テスト用データでは森より下がりやすいことを確かめてください。

何が起きているのか:選び直して、絞って、多数決

ランダムフォレストは、次の手順で森をつくります。

  1. データを復元抽出で選び直す(ブートストラップ):元のお客様の名簿から、1人を引いては名簿に戻す、を元の人数ぶん繰り返します。同じお客様が何度も選ばれ、1度も選ばれないお客様も出ます(おおよそ3分の2が選ばれ、3分の1弱は選ばれません)。デモでは、選ばれた点が光り、重複した点は大きく数字つきで表れます。
  2. 分岐ごとに、使う項目をランダムに絞る:質問を決めるたびに、使える項目のうち一部だけをランダムに候補にします(デモは項目が2つなので、毎回どちらか一方)。強い項目だけが毎回選ばれる状況を避け、木どうしを似通わせないための工夫です。
  3. その木を深く育てる:選び直したデータと絞った項目で、決定木と同じように「いちばん混ざり具合が減る区切り」を選びながら木を伸ばします。
  4. これを何十本、何百本も繰り返す:木ごとに見るデータも使う項目も違うので、1本ずつ少しずつ違う意見を持つ木ができます。
  5. 多数決で答えを決める:新しいお客様について全部の木に聞き、いちばん票が多い答えを予測結果にします。デモの背景の濃さは、青に投票した木の割合です。

なぜ1本の深い木より過学習しにくいのか:深い木は、偶然まぎれ込んだ例外まで覚えてしまい、データが少し変わると形が大きく変わります(ばらつきが大きい状態)。森の各木は見たデータが違うので、覚えてしまう例外も木ごとにばらばらです。多数決で平均すると、そうした偶然の誤りは打ち消し合い、全体として共通する傾向が残ります。ただし、全部の木が同じ方向に偏る「データそのものの偏り」までは消せません。

重要度は、「どの項目が予測に役立ったか」を見るための数字です。各木の分岐で、混ざり具合がどれだけ減ったかを項目ごとに足し合わせて割合にします。デモの右下のバーが、その割合です。

使うときの注意点

中小企業での使いどころ

顧客名簿や購買履歴があれば、「DMに反応して購入しそうな人」「解約しそうな人」「返品が多くなりそうな取引」などを、精度を重視して予測するのに向いています。まず決定木で「どんな条件が効くのか」を読み取り、次にランダムフォレストで予測の精度を上げる、という使い分けも有効です。出てきた予測は、そのまま鵜呑みにせず、現場の感覚と突き合わせて「仮説」として使うのが安全です。

ご相談

自社のデータで顧客分析を試したい、AIで業務を自走化したい——そうした相談は、AIエージェント自走化プログラムまたはお問い合わせからどうぞ。

AIエージェント自走化プログラム お問い合わせ

富田 良治

富田 良治(とみた よしはる)

TITC合同会社 代表社員

AI経営コンサルタント。中小企業診断士・ITストラテジスト。元ITエンジニアで駄菓子屋オーナー。 プロフィールを見る