1 木系モデルの概観

1.1 定義と特徴

1.1.1 木構造による分岐表現

木系モデルとは、入力データを一連の条件判定によって階層的に分岐させ、最終的な判断へ到達させる機械学習モデルの総称である。典型的には、根(ルート)から出発し、各段で入力の性質に基づく判定を行って次のノードへ進む。内部ノードには条件(分岐ルール)が配置され、葉ノードには出力が割り当てられる。

1.1.2 予測の出力形態分類回帰

木系モデルの葉の出力は、問題設定に応じて異なる。分類では、葉ノードがクラスラベル、または各クラスの確率分布の形で予測を表す。回帰では、葉ノードが連続値の推定(例:平均代表値)として振る舞う。実務では、同じ木構造でも目的関数や分割基準を変えることで分類・回帰の両方に対応できる点が特徴になる。

1.2 決定木との関係

1.2.1 決定木の基本原理

決定木は木系モデルの代表例であり、条件分岐の集合を階層として表し、葉で最終予測を行う。基本原理は、データをある分岐条件で分割していくことで、予測誤差の要因を段階的に減らすことにある。分岐の設計は機械的に行われる場合が多く、候補となる特徴量閾値(あるいは条件形式)を用いて、各ノードで最も改善が見込める分割を選ぶ。

1.2.2 分岐ルールの学習プロセス

学習は、根から開始して順にノードを分割していく逐次手続きで進む。各ノードで、ある特徴量に基づく条件を定めてデータを左右(または複数分岐)へ振り分け、分割後の不確実性や誤差の指標を計算する。指標の改善が閾値以下になったり、これ以上分割しても有益でない場合には、そのノードを葉として終了する。一般に、木を深くすると学習誤差は下がりやすいが、汎化性能が損なわれるリスクも高まるため、終了条件や正則化の設計が重要になる。

1.3 他のモデルとの違い

1.3.1 解釈性と可視化

木系モデルは、分岐ルールの連鎖として意思決定が表現されるため、比較的解釈しやすい。単一の決定木では、どの特徴量がどの条件で効いているかを観察しやすく、可視化によって説明可能性を高められる。アンサンブル(複数木の統合)になると個々の木の寄与が複雑化するが、それでもルールベースの全体像は把握しやすい部類に入る。

1.3.2 連続値・カテゴリ変数の扱い

連続値は閾値による比較(例:ある値以下/以上)で扱うことが一般的である。一方、カテゴリ変数は、値の集合をグルーピングする条件、あるいはカテゴリごとの分岐など、表現方法に選択肢がある。前処理段階でカテゴリをエンコードするか、木の内部ルールとしてカテゴリ条件を直接扱うかは実装に依存する。どちらの場合でも、カテゴリが多数あると分岐が過度に細分化されやすく、正則化や最小分割数などの設定が重要になる。

2 決定木の学習

2.1 分割基準(分岐条件)

2.1.1 不純度に基づく基準

2.1.1.1 分類の指標(例:ジニ、エントロピー

分類木では、各ノードのクラス混合度を測る指標を用いる。代表例はジニ不純度とエントロピーである。ジニは、同一ノードにおけるクラスのばらつきに関係する量として定義され、エントロピーは確率分布の不確実性を表す。いずれも、分割後に指標が減少することを望み、ノードを分割することで混合度を下げる方向へ学習が進む。分割後の指標は、左右(または複数)に振り分けたデータ数で重み付けして評価するのが通常である。

2.1.2 回帰の基準(例:分散低減)

回帰では、ターゲット値のばらつきを反映する指標を基準にすることが多い。代表例は、分割前後での分散(あるいは平均二乗誤差に関係する量)の減少幅である。分割によって各子ノードのターゲットがより一様になるほど、誤差が減ると解釈できる。実装上は、各ノードの予測値として平均(または同等の代表値)を置く設計と整合的な指標が採用される場合が多い。

2.2 学習手順とアルゴリズム

2.2.1 ノード分割の探索

各ノードで行う分割探索は、候補となる特徴量の組み合わせと条件の形式に依存する。単純な実装では、全特徴量について可能な閾値候補を評価し、指標の改善が最大の分割を選ぶ。計算量を抑えるために、特徴量をサブサンプリングする、閾値候補を間引く、あるいは連続値をビニングして代表点で試す、といった工夫が用いられる。探索の網羅性と計算コストのバランスは、現場の性能設計で重要になる。

2.2.2 葉の作成と終了条件

終了条件は、これ以上分割しても改善が見込めない状況を定める。よくある条件には、最大深さの上限、子ノードへ到達するための最小サンプル数、改善幅が所定値以下、全データが同一ラベル(回帰なら同一値)に近いなどがある。葉が作られた後、その葉に割り当てられた学習データに基づく予測値(分類なら多数決や確率推定、回帰なら平均など)が設定される。

2.3 決定木の評価

2.3.1 代表的な検証方法

モデル評価では、訓練に使ったデータとは独立したデータで性能を測る必要がある。代表的にはホールドアウト検証や交差検証がある。交差検証は、データ分割を複数回繰り返して性能のばらつきを見積もりやすい。特にデータが限られている場合やクラス不均衡がある場合には、分割方法の工夫(層化など)で評価の安定性が上がる。

2.3.2 精度指標の選び方

分類では、正解率だけでなく、誤検出と見逃しの重み付けを反映する指標が使われることが多い。クラス不均衡が強いときには適合率・再現率、F値、あるいは確率出力を扱う指標(ROC曲線やAUC)が参考になる。回帰では平均二乗誤差や平均絶対誤差に加え、外れ値の影響度に応じて頑健な指標を選ぶことがある。指標選定は目的(コスト関数)に整合させるのが基本である。

3 決定木の改良と発展

3.1 正則化と過学習対策

3.1.1 深さ制限と最小分割数

決定木は柔軟であるため、深さを増やすほど学習データへの適合が進みやすい。過学習を抑えるために、最大深さを制限する、各ノードで分割に必要な最小サンプル数を設定する、葉を作るための最小サンプル数を設ける、といった設計が用いられる。これにより、枝が細かくなりすぎることを防ぎ、汎化に寄与しにくいノイズへの追従を抑える。

3.1.2 プルーニング(枝刈り)

プルーニングは、過度に成長した木を後から縮める考え方である。代表的な手法には、まず大きな木を作り、その後に有益でない枝を切り落としていくものがある。縮める判断は、検証データでの性能、あるいは誤差の増減をもとに行われることが多い。事前の制限だけでは拾いきれない微妙な枝の扱いに対して効果が期待できる。

3.1.3 特徴量選択の考え方

木の分割候補に含める特徴量の扱いは、過学習と計算量の両面に関わる。全特徴量で探索すると適合性は高まりやすいが、不要な変動にも反応しやすい可能性がある。一方で特徴量を絞ると探索空間が狭まり、推定のばらつきが増えることもある。実務では、欠損や多重共線性の状況、特徴量の種類、データ数の比率に応じて、サブサンプリングや事前選別を組み合わせる設計が見られる。

3.2 アンサンブル学習への展開

3.2.1 バギング系(例:ランダムフォレスト)

3.2.1.1 ランダム性が性能に与える影響

バギング系では、学習データを置換抽出で複数回サンプリングし、得られた複数の決定木を独立に学習させる。さらにランダムフォレストでは、各分割で利用する特徴量もランダムに選ぶ。こうした乱数によって木ごとの誤差の相関が下がり、単一木の弱点である分散の高さを抑えやすくなる。多数決や平均によって統合することで、予測が安定化するのが狙いである。

3.2.2 ブースティング系(例:勾配ブースティング)

3.2.2.1 逐次的な誤差補正の考え方

ブースティングは、前段の予測誤差を次の学習対象として段階的に改善する枠組みである。勾配ブースティングでは、損失関数の勾配に基づいて次の木が学習され、予測を更新する。学習率を通じて更新量を調整し、過度な修正を抑える。多数の弱い木を順に足し合わせることで、単一の決定木よりも高い汎化性能が得られることがある一方、設定次第では学習が不安定になり得る。

3.3 代表的な木系モデルの系譜

3.3.1 主要バリエーションの整理

木系モデルの系譜は、大きく「単一決定木」「バギングによる集約」「ブースティングによる逐次補正」に整理できる。単一木は解釈性と設計の直感性が強みであり、バギング系は分散低減を狙って安定性を高める。ブースティング系は誤差の低減を段階的に進め、複雑な関係を捉えやすい。さらに、分割条件の具体形式(多分岐、カテゴリ処理、欠損の組込み)や、損失関数の選択などがバリエーションを生む要因となる。

3.3.2 利用シーン別の選定

データ量が比較的少なく、説明の要請が強い場合には単一決定木や浅い木が選ばれることがある。外れ値やノイズが目立ち、安定した予測が必要なら、バギング系が適合しやすい。高い精度が優先され、計算資源やチューニングの余地があるならブースティング系が候補になる。ただし、データ前処理や特徴量設計、評価設計を含めた総合的な検討が前提である。

4 実務での利用ガイド

4.1 データ前処理

4.1.1 欠損値の扱い

欠損はモデル学習における情報損失だけでなく、分岐の判断を不可能にする要因になる。一般的な方針として、統計量による補完(平均・中央値など)や、欠損自体をカテゴリとして扱う手法がある。木系アルゴリズムによっては欠損を分岐条件に組み込める実装もあり、どの方式が適切かは欠損の発生機構と量に依存する。

4.1.2 外れ値への対処

木は連続値に対して閾値で区切るため、外れ値が直ちに致命傷になるとは限らないが、閾値候補の選択に影響し得る。外れ値が本質的な信号である場合は保持し、ノイズと考えられる場合にはクリッピングやロバストな目的関数の利用、スケーリング(モデルによっては必須でない)などを検討する。回帰問題では、外れ値への感度が評価指標にも反映されるため、損失設計も合わせて確認する。

4.1.3 特徴量のエンコーディング

カテゴリ変数の扱いは前処理設計の中心になる。ワンホット化やターゲットエンコーディングの利用は可能だが、データリークの管理や過学習の監視が必要になる。木系モデルではカテゴリを直接扱える場合もあるが、実装差が大きい。特徴量の型(連続、カテゴリ、順序)を適切に申告し、学習時の挙動が意図に合うかを検証データで確認するのが望ましい。

4.2 ハイパーパラメータ設計

4.2.1 主要パラメータ一覧

決定木では最大深さ、最小分割数、最小葉サンプル数、分割基準(不純度の種類)などが中心になる。ランダムフォレストでは木の本数、各分割で使う特徴量数、最大深さ等が関連する。勾配ブースティングでは学習率、木の最大深さ、各種正則化項、サブサンプリング比率などの影響が大きい。これらは相互に作用するため、単独で最適化しても最終性能が伸びないことがある。

4.2.2 探索戦略(グリッド・ランダム等)

探索戦略では、全組み合わせの網羅よりも、計算効率を優先した探索が選ばれやすい。グリッド探索は範囲が狭いときに有効だが、次元が増えると負荷が急増する。ランダム探索は広い探索空間を効率よくサンプリングできるため、初期の絞り込みに向く。さらに、ベイズ最適化のような逐次戦略を用いれば、評価回数を抑えて性能向上を狙える場合がある。いずれにせよ、交差検証と組み合わせて過学習を抑える運用が基本になる。

4.3 解釈と説明

4.3.1 特徴量重要度の読み方

特徴量重要度は、木の分割でどれほど利用されたか、または分割による損失改善への寄与を要約した指標として提示される。だが重要度は「因果」を示すものではなく、データ分布と前処理、相関構造の影響を受ける点に注意が必要である。重要度が高い特徴量が存在しても、それが真の説明因子である保証はないため、追加の検証(部分依存の確認、符号や単調性のチェックなど)を併用するのが望ましい。

4.3.2 ルール抽出と可視化の注意点

単一木の可視化は有用だが、葉が増えるとルールの数が爆発し、説明が追いにくくなる。説明の目的に応じて、深さを制限した木からルールを抽出する、重要度上位の分岐だけを要約する、あるいはバイナリ形式の要点を整理するなどの工夫が必要になる。アンサンブルの全ルールをそのまま提示すると冗長になるため、代表的な経路や条件の要約に落とし込む方針が適している。

4.4 よくある失敗と対策

4.4.1 学習が不安定な場合

学習が不安定とは、同じ設定でもデータ分割によって性能が大きく変動する、あるいは損失が期待通りに下がらない状況を指す。対策として、乱数種の固定、交差検証で分散を確認する、学習率や木の深さなど更新の強さを調整する、特徴量の前処理を見直すといった手順が挙げられる。データの分布変化(時間推移や収集条件の違い)がある場合には、分割方法自体の妥当性も再検討する必要がある。

4.4.2 汎化性能が伸びない場合

汎化性能が伸びないときは、過学習または学習不足、さらに特徴量のミスマッチが疑われる。過学習なら深さや最小分割数の調整、枝刈り、学習率の抑制などで改善が見込める。学習不足なら探索範囲を広げるか、モデル容量を増やす。ただし容量増加は過学習も招くため、検証結果を見ながら段階的に行うことが重要である。加えて、目的指標と損失関数の整合、外れ値や欠損の扱いの見直し、特徴量エンコーディングの妥当性を再確認するのが有効である。