決定木
読み: 決定木
決定木とは判断の可視化手法
決定木はデータを条件分岐によって分類または予測する機械学習アルゴリズムである。入力されたデータに対してイエスかノーで答えられる質問を繰り返し、最終的な結論を導き出す。AIの判断プロセスを人間が視覚的に追跡できるホワイトボックス型モデルの代表格と言える。
かんたんに言うと
アキネイターのようなものである。対象が何であるかを当てるために「それは動物ですか」「足は4本ですか」と質問を重ねて絞り込んでいく過程が、そのまま決定木のアルゴリズムに当てはまる。
ブラックボックスに納得しない現場で決定木が選ばれる理由
ディープラーニング全盛の今、なぜ古典的な決定木を語るのか。答えは単純である。現場の人間がAIの出した答えに納得しないからである。
決定木は分類木と回帰木に分かれる。前者はカテゴリを予測し、後者は数値を予測する。どちらも結果に至るまでのルートが樹木図のように可視化されるホワイトボックスとしての性質を持つ。
ブラックボックス化したニューラルネットワークが確率は98パーセントですと出力しても、製造ラインの責任者は首を縦に振らない。なぜその部品を不良品と判定したのか、根拠を示せと迫ってくる。
ここで決定木が活きる。
温度が85度以上かつ振動が基準値の1.5倍という条件分岐を見せれば、現場のエンジニアは自らの経験則と照らし合わせて納得する。最新のアルゴリズムが常に最適解とは限らない。現場の受容性という観点では、決定木に軍配が上がるケースは少なくない。
データ分割と予測のメカニズム
決定木はノードとリーフで構成される。データはルートノードから始まり、条件を満たすかどうかで枝分かれし、最終的にリーフに到達して予測値が決まる。
では、アルゴリズムはどのように最適な質問を選んでいるのか。
ここで登場するのが情報利得やジニ不純度といった指標である。簡単に言えば、データを分割したときに、どれだけきれいにグループ分けできたかを測る尺度である。不純度が最も下がる、つまり最も明確に白黒つけられる条件を計算してノードの分岐点に設定する。
scikit-learnのDecisionTreeClassifierをデフォルト設定で回すと、不純度がゼロになるまで無限に分岐を作り続ける。
これは非常に危険である。
学習データに対して完璧な正解を出す巨大な木が出来上がるが、未知のデータには全く通用しなくなる。どこで木の成長を止めるか。実務ではこのハイパーパラメータの調整が悩ましい。
人事や製造現場での泥臭い実装
マーケティングの購買予測ばかりがAIの出番ではない。人事部門での退職者予測を考えてみよう。
DataRobotに社員の勤怠データや評価スコアを放り込むと、決定木ベースのモデルが残業時間が月45時間以上かつ直近の評価がB以下の層で離職率が跳ね上がることを示してくれる。人事はこれを見て、該当する社員にピンポイントで面談を組むことができる。
製造業の歩留まり改善でも同様である。RapidMinerを使ってセンサーデータを解析し、不良品が発生する条件を特定する。
ただし、現場のデータは教科書通りにはいかない。
欠損値だらけのデータや、入力ミスによる異常値が平然と混ざっている。決定木は外れ値の影響を受けにくいという特徴があるものの、ゴミを入れればゴミが出てくる現実は変わらない。データの前処理にどれだけ泥臭い時間を割けるか。ここでプロジェクトの成否が分かれる。
解釈性の高さと過学習リスクのトレードオフ
決定木最大の弱点は過学習である。先述の通り、学習データに過剰に適合してしまう。
この欠点を補うために生まれたのがアンサンブル学習である。複数の決定木を組み合わせて多数決をとるランダムフォレストや、誤差を修正しながら木を直列に繋いでいくXGBoostなどが代表例である。Kaggleなどのコンペティションでは、これらの決定木ベースの勾配ブースティング手法が上位を独占している。
精度は劇的に向上する。
しかし、複数の木が絡み合うことで、決定木本来の強みであった解釈性は失われてしまう。精度をとるか、説明責任をとるか。
法務部門の契約書リスク判定のように、なぜその条項が危険なのかを弁護士に説明する必要がある業務では、あえて単一の決定木にとどめるべきか判断が分かれる。剪定と呼ばれる手法で木の深さを制限し、人間が理解できるサイズに収める工夫が求められる。
自社プロジェクトへの適用を判断する基準
最新のLLMや複雑なディープラーニングを導入したからといって、ビジネスの現場が動くわけではない。
決定木を採用すべきかどうかの基準は、ステークホルダーがAIの判断根拠を求めているかどうかに尽きる。経理部門の不正経費検知において、AIが不正の疑いありとフラグを立てた際、担当者がその理由を監査法人に説明できなければシステムとして成立しない。
一方で、画像認識による外観検査のように、理由はどうあれ傷を見つければよい業務に決定木は不向きである。
現場の業務フローにAIの出力をどう組み込むか。
システムを構築する前に、現場の担当者がその出力を見て具体的なアクションを起こせるかを想像してほしい。説明可能なAIがもたらす安心感は、時に数パーセントの精度向上よりも価値を持つ。技術の選択は、常に現場の人間心理とセットで考えるべきである。
当社の見解
技術の選定で最も避けるべきは「流行っているから」という理由で導入することだ。当社は複数のAIツール・フレームワークを実際に検証した上で、自社の用途に合うものだけを採用している。検証せずに導入したツールは、ほぼ例外なく3か月以内に使わなくなった。実装指示した人間側が実装したことも忘れて、気が付けば動いていない機能があった、ということも起きる。さらに、MCPやフックやルールを増やしすぎてAIが情報過多で機能しなくなった経験もある。どんなにルールや機能を付け足しても機能しなければ意味がない。足し算より引き算。1週間の検証期間が、3か月の手戻りを防ぐ。
同じ失敗を二度としないAIエージェント
今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。
当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。
古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。
