Ch.06

決定木(Decision Tree):二十の質問で答えを探す

決定木は「二十の質問」ゲームと同じ仕組みで動くモデルです。データに質問(条件)を投げ、はい/いいえで枝をたどり、葉(リーフ)で予測を得ます。解釈がしやすく、ランダムフォレストなどのアンサンブルの基盤になります。

チャプター別 機械学習図

チャプターを選ぶと、下の図がそのチャプターの内容に切り替わります。機械学習の流れを一覧で確認できます。

ルートから質問に「はい/いいえ」で枝をたどると、リーフで予測が得られます。

 

ルートはい(1)いいえ(0)質問質問リーフ0リーフ1

 

決定木:二十の質問で答えを探す

基本構造 — 逆さの木を想像してください。一番上にルートノード(最初の質問)があります。そこから条件(例:特徴 x13x_1 \le 3?)に「はい」「いいえ」で内部ノードへ。これ以上分割できないリーフノード予測(クラスまたは値)を出力します。
二十の質問と同じ — 動物を当てるように「足は4本?」→「草食?」→「虎!」と、質問で答えの範囲を狭めます。決定木も同様にデータを二つに分けながら進みます。
良い質問:不純度の低減不純度はノード内のクラスの混ざり具合です。分割でノードをより「純」にすることが目標です。ジニ G=1pi2G = 1 - \sum p_i^2エントロピー H=pilog2piH = -\sum p_i \log_2 p_i。一クラス100%なら両方0、半々なら不純度は高くなります。
情報利得 — 分割前の不純度から分割後の(重み付き)不純度を引いた値が情報利得です。その質問でデータがどれだけ「きれい」になったかを表し、木は情報利得が最大の質問を選びます。
リーフでの予測分類ではそのリーフにいるサンプルの多数クラス回帰では平均値を出力。新しいデータは経路をたどるだけで予測が得られます。
剪定(Pruning) — 深すぎる木は過学習します。剪定で枝を切り、汎化性能を高めます。剪定された木がランダムフォレストなどの基盤になります。
説明可能なAI — ブラックボックスではなく、どの質問の経路で結論に至ったかが分かります(例:年収・延滞で融資可否)。金融・医療で重視されます。
非線形な境界 — 線形モデルは一直線で切りますが、木は階段状に領域を分割し、複雑なパターンも表現できます。
アンサンブルの基盤 — 1本の木は不安定でも、数百本のランダムフォレストにすると強く安定します。Ch07の土台です。
与信・融資 — 「年収≥5000万?」「1年以内延滞?」などの枝をたどり、可否を判定。
医療診断支援 — 血圧・コレステロール等から医学的な二十の質問でリスクを予測。
マーケ(離脱・購買) — 「会員6ヶ月以上?」「直近ログイン≤3回?」でリスク顧客を特定。
決定木の解法
(1) 経路:ルートから 0=左(いいえ)、1=右(はい)。リーフの予測が答え。

(2) ジニpip_i を求め G=1ipi2G = 1 - \sum_i p_i^2100×G100 \times G を四捨五入。

(3) エントロピーH=ipilog2piH = -\sum_i p_i \log_2 p_i100×H100 \times H を四捨五入。

(4) リーフ多数決:クラス0が aa、1が bb なら aba \ge b で0、そうでなければ1。下の問題を解くための説明表を参照。