BLOG · AI入門・機械学習
たくさんの木の「多数決」で、予測を安定させる仕組みを、動かして確かめる
ランダムフォレストは、データを選び直しながら少しずつ違う決定木をたくさんつくり、最後に多数決で答えを決める手法です。「森(フォレスト)」という名前は、木をたくさん集めることに由来します。たとえば「ダイレクトメール(DM)に反応して購入するお客様か、しないお客様か」を予測するとき、1本の木だけに頼ると、データが少し変わっただけで答えがぶれがちです。たくさんの木の意見をまとめると、そのぶれが小さくなります。下のデモで、木が1本ずつ増え、多数決の結果が落ち着いていく様子を見てみましょう。
点の一つひとつがお客様です。横軸は「来店回数」、縦軸は「平均購入額」。青い丸(●)は「購入した」、赤いバツ(×)は「購入しなかった」お客様です(決定木の記事と同じたとえです)。まずは「データの形」を「ノイズ多め」にして、「再生」を押してください。木が1本できるたびに、①データの選び直し、②その木の境界、③全体の多数決、の順に進みます。右側は比べるための「深い決定木1本」です。
● 青い丸=購入した × 赤いバツ=購入しなかった / 背景の色は「木の何割が青と投票したか」(濃い青=ほぼ全員が青、濃い赤=ほぼ全員が赤、色が薄い=票が割れている)。図をクリックすると投票の内訳が出ます。
1本だけの木は、まぎれ込んだ例外の点まで丸暗記して、境界がギザギザになりがちです。これが「過学習」です。
左の図に新しい木が重なるときの区切り線の色:緑=来店回数で区切る 紫=平均購入額で区切る(各木の分岐では、どちらか一方だけが候補に選ばれます)
全部の木の分岐で、「混ざり具合」がどれだけ減ったかを項目ごとに合計し、割合にしたものです。
テスト用データは、学習に使っていない新しいお客様の代わりです。「ノイズ多め」では、深い木1本は学習データの正解率だけが高く、テスト用データでは森より下がりやすいことを確かめてください。
ランダムフォレストは、次の手順で森をつくります。
なぜ1本の深い木より過学習しにくいのか:深い木は、偶然まぎれ込んだ例外まで覚えてしまい、データが少し変わると形が大きく変わります(ばらつきが大きい状態)。森の各木は見たデータが違うので、覚えてしまう例外も木ごとにばらばらです。多数決で平均すると、そうした偶然の誤りは打ち消し合い、全体として共通する傾向が残ります。ただし、全部の木が同じ方向に偏る「データそのものの偏り」までは消せません。
重要度は、「どの項目が予測に役立ったか」を見るための数字です。各木の分岐で、混ざり具合がどれだけ減ったかを項目ごとに足し合わせて割合にします。デモの右下のバーが、その割合です。
顧客名簿や購買履歴があれば、「DMに反応して購入しそうな人」「解約しそうな人」「返品が多くなりそうな取引」などを、精度を重視して予測するのに向いています。まず決定木で「どんな条件が効くのか」を読み取り、次にランダムフォレストで予測の精度を上げる、という使い分けも有効です。出てきた予測は、そのまま鵜呑みにせず、現場の感覚と突き合わせて「仮説」として使うのが安全です。
自社のデータで顧客分析を試したい、AIで業務を自走化したい——そうした相談は、AIエージェント自走化プログラムまたはお問い合わせからどうぞ。