みんなのAI
機械学習AI論文
読み込み中…

学ぶ

🏅マイ実績

Ch.06

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

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

チャプター別 機械学習図

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

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

 

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

 

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

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

(2) ジニ:pip_ipi​ を求め G=1−∑ipi2G = 1 - \sum_i p_i^2G=1−∑i​pi2​、100×G100 \times G100×G の値(整数)。

(3) エントロピー:H=−∑ipilog⁡2piH = -\sum_i p_i \log_2 p_iH=−∑i​pi​log2​pi​、100×H100 \times H100×H の値(整数)。

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