概要
- 決定木はデータを繰り返し分割し、分類を実現する手法
- 分割基準にはエントロピーやジニ不純度を利用
- 情報利得(Information Gain)を最大化することで分割点を決定
- 過学習や高い分散といった課題も存在
- ランダムフォレストなどの手法で安定性向上が可能
決定木の基礎とエントロピー
-
決定木 は、上から下へと連続的な条件分岐を作成し、データを分類するアルゴリズム
-
各ノードで データ分割の基準 を選択する必要性
-
分割基準を決めるために エントロピー という指標を利用
-
エントロピーは 情報量や不確実性 を測定する尺度
-
エントロピーの計算式: エントロピー = -Σ(p_i * log(p_i)) (p_iは各クラスの確率)
- エントロピーの性質
- すべてのp_iが0で一つだけ1の場合、エントロピーは0(完全な純粋さ)
- すべてのp_iが等しい時、エントロピーは最大(最大の不純度)
- 確率が均等に近づくほどエントロピーは増加
- エントロピーの性質
-
ノード内に複数クラスが混在→ 不純(impure)ノード
-
ノード内が単一クラス→ 純粋(pure)ノード
-
エントロピーを使ってノードの純度を数値化
情報利得とID3アルゴリズム
-
情報利得(Information Gain) は、分割前後のエントロピー差で情報の増加量を測定
-
分割前のエントロピーから、各分割後のエントロピーの重み付き平均を引いて計算
-
最大の情報利得 を与える分割点を選択
-
ID3 はこの情報利得を最大化するよう再帰的に木構造を作るアルゴリズム
- ID3の手順
- 各特徴量ごとにエントロピーを計算
- さまざまな分割値でデータセットを分割
- 分割ごとに情報利得を計算
- 最も情報利得が大きい分割を選択し、決定ノードを作成
- これ以上分割できない場合、葉ノードを作成しラベルを付与(分類の場合は最頻クラス、回帰の場合は平均値)
- 各サブセットで再帰的に処理を繰り返す
- すべての要素が同じクラスになったら再帰終了
- 追加の停止条件として、葉あたりの最小サンプル数や最大深さの制約も可能
- ID3の手順
分割の選択例と可視化
- 例えば Diameter ≤ 0.45 での分割は、情報利得を最大化する条件として選択された
- すべての特徴量と分割値で情報利得を計算し、最も高いものを採用
- 可視化ツールなどで分割境界を動かすことで、分割後の各ノードのエントロピーや情報利得の変化を確認可能
ジニ不純度との比較
- ジニ不純度(Gini impurity) もエントロピーと同様に純度を測る指標
- ジニ不純度はエントロピーより計算が高速(対数演算を使用しないため)
- エントロピーとジニ不純度のどちらを使っても、ほとんどの場合で結果は類似
- クラス不均衡が強い場合はエントロピーがより慎重に動作する傾向
決定木の長所と短所
-
長所
- シンプルで直感的なモデル
- 解釈性が高い
- 学習が高速
- 前処理が少なくて済む
- 外れ値への耐性
-
短所
- データの微小な変動に非常に敏感(高分散・不安定)
- エントロピー最小化を追求しすぎると木が深くなり過学習しやすい
- 決定木単体では新規データへの汎化性能が低下しやすい
過学習・分散対策とランダムフォレスト
-
過学習や高分散に対する対策
- 木の最大深さ制限
- 葉ノードの最小サンプル数設定
- 葉ノード数の上限
- 剪定(pruning) による木の簡略化
-
さらなる対策として ランダムフォレスト のようなアンサンブル手法の利用
- 複数の決定木を異なるサブセットや特徴量で訓練
- 予測を多数決や平均で統合し、分散を低減
- 汎化性能の向上
まとめ
- 決定木は、特徴量空間を条件ごとに分割しながら分類・回帰を行うアルゴリズム
- エントロピーやジニ不純度を用いてノードの純度を測定し、情報利得最大化で分割点を決定
- ID3アルゴリズムは情報利得最大化のための代表的な手法
- 過学習や高分散という課題もあるが、剪定やランダムフォレストによって対策可能
- 決定木はシンプルかつ強力な機械学習モデルとして広く活用
参考文献・リソース
- "A Mathematical Theory Of Communication"(Claude E. Shannon, 1948)
- "Induction of decision trees"(John Ross Quinlan, 1986)
- "A Study on End-Cut Preference in Least Squares Regression Trees"(Luis Torgo, 2001)
- "The Origins Of The Gini Index: Extracts From Variabilità e Mutabilità"(Corrado Gini, 1912)
- D3.js(Mike Bostock & Philippe Rivière)
- d3-annotation(Susie Lu)
- KaTeX(Emily Eisenberg & Sophie Alpert)
追加学習リソース
- Dive into Deep Learning テキストブック
- YouTube動画、自己学習コース
- 記事に関する意見や質問はJaredまたはLucíaまで
ご拝読ありがとうございました!