決定木(軸平行の分割)
特徴空間を縦横の直線で区切っていく。深いほど訓練に過適合する。
2
木の深さ
—
葉の数
—
訓練精度
—
特徴空間(横軸 x₁・縦軸 x₂)。背景の薄い色=各タイルが分類される多数決クラス、点=訓練データ(ドラッグで移動可)、紫の線=軸平行な分割境界。
クラス A
クラス B
クラス C
分割境界
木構造。内部ノード=分割条件(どの特徴をどのしきい値で割るか)。左の枝=条件成立(≤)、右の枝=不成立(>)。葉=多数決クラス。
決定木は、特徴空間を「ある特徴が、あるしきい値以下か?」という Yes/No の質問で次々に区切っていく分類器です。各質問は 1 つの特徴だけを見るので、境界は必ず軸に平行な直線になります。
どこで区切るかは貪欲法で選びます。区切る前後で不純度(クラスの混ざり具合=Gini)が最も大きく下がる「特徴×しきい値」の組を、全候補から総当たりで探します。
上の「最大深さ」スライダーを動かすと、木が深くなるほど境界が細かく増え、訓練データにぴったり合っていく(=過適合していく)様子が見えます。散布図の点を直接ドラッグすると、個々のデータ点の位置が Gini 最適分割にどう影響するかを体感できます。
どこで区切るかは貪欲法で選びます。区切る前後で不純度(クラスの混ざり具合=Gini)が最も大きく下がる「特徴×しきい値」の組を、全候補から総当たりで探します。
上の「最大深さ」スライダーを動かすと、木が深くなるほど境界が細かく増え、訓練データにぴったり合っていく(=過適合していく)様子が見えます。散布図の点を直接ドラッグすると、個々のデータ点の位置が Gini 最適分割にどう影響するかを体感できます。
いま何が起きている?
ここがポイント
- 各分割は 1 特徴のしきい値=軸平行な境界 ── 「x₁ ≤ t」または「x₂ ≤ t」だけなので、境界線は必ず縦か横になる。
- 不純度(Gini)を最も下げる分割を選ぶ ── Gini = 1 − Σ pₖ²。分割後の子の Gini を重み付き平均し、親より一番下がる「特徴×しきい値」を総当たりで採用。
- 深くするほど訓練データに過適合する ── 葉が増えて訓練精度は上がるが、ノイズまで覚えるので未知データへの汎化は下がる。
- 解釈しやすい ── 予測は「条件を上から順にたどる」だけ。なぜその分類になったかを人が読める。