決定木のノードについて

AI実装検定のご案内

決定木(Decision Tree)におけるノード(node)とは、「データをどのような条件で分岐させ、最終的にどの予測に到達させるか」を表す、モデル構造の最小単位です。

ノードを正しく理解することは、

  • 決定木モデルの挙動理解
  • 過学習の原因把握
  • 予測結果の説明性向上
    に直結します。

以下では、一般的な理論と実装依存の違いを区別しながら、ノードについて体系的に説明します。

目次

ノードの基本的な3分類

決定木のノードは、役割に応じて次の3種類に分類されます。

ルートノード(Root Node)

決定木の最上位に位置するノードで、すべての学習データが最初に集まる起点です。

  • 親ノードを持たない
  • モデル学習時、最初に分割が行われる
  • 分割基準(ジニ不純度・エントロピー・分散など)を最も改善する分割条件が選ばれる

重要な点として、ルートノードに選ばれる特徴量は「全体に対して有効な分割」を与えやすいものですが、それが必ずしも「最も重要な特徴量」であるとは限りません。

特徴量同士の相関やデータ分布によっては、

  • 同程度に有効な候補が複数存在する
  • 一部のサブグループでのみ強く効く特徴量が、下位ノードに現れる
    といったケースも普通に起こります。

内部ノード(Internal Node / Decision Node)

ルートと葉の間に位置する、分岐を行うノードです。

  • 親ノードと子ノードを持つ
  • ある条件に基づいてデータを複数の集合に分割する
  • 条件は「特徴量」と「分割ルール(しきい値や集合)」で構成される

一般的な説明では「左右に分岐する」と言われることが多いですが、これは主に CART系アルゴリズム(例:scikit-learn) を前提とした話です。

理論的には、

  • 数値特徴量:しきい値による分割
  • カテゴリ特徴量:複数カテゴリへの分岐
    など、多分岐の決定木も存在します。

ただし実務で広く使われる実装では、二分割(バイナリ分割)が基本になっているケースが多い、という点は補足しておく必要があります。

葉ノード(Leaf Node / Terminal Node)

それ以上分割を行わない、決定木の終端ノードです。

  • 子ノードを持たない
  • モデルの最終的な出力を表す
  • 問題設定によって出力内容が異なる

分類問題では

  • 予測クラス
  • クラスごとの確率(実装による)

回帰問題では

  • 目的変数の予測値(平均値など)

が葉ノードに紐づきます。

ノードに対応する情報(学習結果としての統計量)

各ノードには、学習過程で計算された統計情報が紐づきます。

代表的なものは次の通りです。

  • そのノードに到達したサンプル数
  • クラスごとのサンプル分布(分類)
  • 不純度(ジニ・エントロピーなど)
  • 葉ノードの場合の予測値

これらは「ノードそのものに物理的に格納されている」というより、学習結果としてノードに対応付けられる情報と考えるのがより正確です。

ノード分割の評価指標(なぜその分割が選ばれるのか)

分類問題で用いられる代表的な指標

ジニ不純度(Gini Impurity)

データがどれだけ混ざっているかを表す指標で、値が小さいほど「一つのクラスに偏っている」状態です。

Gini = 1 − Σ(p_k²)

エントロピー(Entropy)

情報理論に基づく指標で、不確実性の大きさを表します。

Entropy = − Σ(p_k log p_k)

対数の底は 2 や e が使われますが、分割の優劣そのものには影響しません。

回帰問題で用いられる指標

  • 平均二乗誤差(MSE)
  • 平均絶対誤差(MAE)
  • 分散の減少量

どの指標が使われるかはアルゴリズムや実装によって異なります。

そのため「回帰ではこれを使う」と断定するより、代表的な例として理解するのが適切です。

ノード分割の基本的な流れ

決定木は以下の手順を再帰的に繰り返して構築されます。

  1. 各特徴量に対して候補となる分割条件を生成
  2. 分割後の不純度(または誤差)を計算
  3. 評価指標が最も改善する分割を選択
  4. 子ノードを作成
  5. 停止条件を満たすまで繰り返す

ここで重要なのは、「しきい値」という表現は主に連続値特徴量に当てはまり、一般化すると 「分割条件(split rule)」 と呼ぶ方が正確だという点です。

ノード数と過学習の関係

ノードが増え、木が深くなるほど、

  • 学習データへの適合度は高くなる
  • 一方で未知データへの汎化性能が低下しやすくなる

この現象を 過学習(overfitting) と呼びます。

ただし、

  • データ量が十分に多い
  • ノイズが少ない
  • 適切な停止条件が設定されている
    場合には、深い木でも良好な性能を示すこともあります。

ノード構造を制御する代表的なパラメータ

過学習を抑えるため、決定木には以下のような制御パラメータが用意されています。

  • 木の最大深さ
  • 分割に必要な最小サンプル数
  • 葉ノードに含める最小サンプル数
  • 葉ノードの最大数

これらは ノードの生成ルールそのものを制御する仕組みです。

ノードと特徴量重要度の関係についての注意点

しばしば「上位ノードに出てくる特徴量ほど重要」と説明されますが、これは直感的な理解としては便利である一方、厳密には注意が必要です。

  • 重要度の定義は指標によって異なる
  • 深いノードで何度も使われる特徴量の寄与が大きくなることもある
  • 相関の強い特徴量があると重要度は分散する
  • カーディナリティの高い特徴量が有利になる場合がある

したがって、ノードの位置と特徴量重要度を完全に同一視することはできません

まとめ

  • ノードは決定木における判断と予測の基本単位
  • ルート・内部・葉の3種類がある
  • 分割は数理的な基準に基づいて最適化される
  • ノード数の制御はモデル品質に直結する
  • ノード構造は高い説明性を持つが、解釈には前提条件の理解が不可欠

以上、決定木のノードについてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次