機械学習の世界で「決定木」をマスターすることは、熟練の探偵が手がかりを整理する術を学ぶのと同じくらい重要です。

それでは、第1章「決定木の基礎」を詳しく掘り下げていきましょう!

第1章:決定木の基礎(個別の判断ルールを学ぶ)

決定木は、まるでフローチャートのような形をしています。

「お腹が空いているか?」→「はい」→「冷蔵庫に何かあるか?」→「いいえ」→「コンビニに行く」

このように、条件を積み重ねて結論を導き出します。

まずは、このシンプルな仕組みの裏側にある理論を整理していきましょう。

分類木と回帰木の使い分け

決定木は、予測したいターゲット(目的変数)の種類によって呼び方が変わります。

  • 分類木:答えが「リンゴか、ゴリラか、ラッパか」といった名前(カテゴリー)である場合に使用します。「この動物は耳が長いですか?」という質問に対して Yes / No で答えていくイメージですね。
  • 回帰木:答えが「明日の気温は 25.5 度である」といった数値である場合に使用します。枝分かれの最後に、そのグループに属するデータの平均値などを出力するのが一般的です。

どちらも「木」であることに変わりはありませんが、ゴールの出し方が少し違うだけです。

決定木の心臓部「CART」

専門用語として必ず覚えておきたいのが CART アルゴリズムです。

CARTは Classification And Regression Trees(分類・回帰木)の略です。

これは、データを 2 分割していく手法のことを指します。

なぜ 3 つや 4 つに分けないのか不思議に思いませんか。

実は、2 つに分け続ける方が計算がシンプルになり、効率的に精度の高い木を作れるからなのです!

データの「不純度」を測る Gini 係数

決定木を学習させるとき、AI は「どこでデータを分ければ一番スッキリするか」を必死に考えます。

その指標となるのが Gini 係数です。

例えば、赤いボール 10 個と青いボール 10 個が混ざった箱 A と、赤いボール 19 個と青いボール 1 個の箱 B があるとします。

どちらが「きれいに分かれている」と感じますか。

当然、箱 B ですよね。

この「混ざり具合」を数値化したのが Gini 係数で、以下の式で計算されます。

(あるクラスに属する確率を p とします)

Gini = 1 - \sum p^2

この値が 0 に近づくほど、そのグループは「純粋(一つの種類しかない)」ということになります。

AI は、分けた後の Gini 係数の合計が最も小さくなるような質問(境界線)を自動で見つけ出してくれるのです。

まるで、散らかった部屋を種類ごとに完璧に仕分けしてくれる優秀な片付けロボットのようですね。

Gini係数の名前の由来

Gini は人名で、イタリアの統計学者 Corrado Gini(コラド・ジニ) に由来します。
彼が提案した不平等指標なので Gini coefficient(ジニ係数) と呼ばれます。

決定木のメリットとデメリット

ここで、第 1 章のまとめとして、決定木単体の特徴を整理してみましょう。

  • メリット:何といっても「説明性」です。「なぜ A さんは不採用になったのですか?」と聞かれたとき、決定木なら「スキル X が不足しており、かつ経験年数が 3 年未満だったからです」と明確に答えられます。これは、医療診断や銀行の融資判断など、理由が求められる現場で非常に重宝されます。
  • デメリット:「過学習(オーバーフィッティング)」に陥りやすい点です。木を深く(複雑に)しすぎると、手元のデータに含まれる「たまたま発生したノイズ」まで学習してしまいます。これを防ぐために、あらかじめ木の深さを制限したり、不要な枝を切り落としたりする「剪定(せんてい)」という作業が必要になります。

第 1 章の内容はバッチリでしょうか。

まずは「1 本の木」がどうやって作られるのか、その仕組みを理解することが全ての始まりです。

次は、この弱点である「過学習」を克服するために、たくさんの木を束ねて最強のチームを作る「アンサンブル学習」の世界へ進みます。

お待たせしました!第1章で「1本の木」の仕組みをマスターしたところで、いよいよ真打ち登場です。

第2章では、個人の弱点をチームの力で補う「アンサンブル手法」について解説します。

第2章:アンサンブル手法(最強のチームを作り上げる)

1本の決定木は、分かりやすい反面、どうしても「思い込み(過学習)」が激しくなるという弱点がありました。

そこで人間が考え出したのが、「たくさんの決定木を作って、みんなで相談して決めればいいじゃないか!」というアイデアです。

これがアンサンブル学習です。

3つの代表的な戦略

アンサンブル学習には、大きく分けて3つの戦術があります。それぞれの個性の違いに注目してください。

  1. バギング(Bagging)
  2. ブースティング(Boosting)
  3. スタッキング(Stacking)

今回は、E検定でも特に重要な前の2つを深掘りしましょう。

バギングとランダムフォレスト

バギングは「並列処理」のチームプレイです。

まず、元のデータから少しずつ重なりを許してランダムにデータを抜き出し、たくさんの小さなデータセットを作ります。

それらを使って、大量の決定木を同時に育てます。

このバギングの進化系が、有名なランダムフォレストです。

ランダムフォレストは、データだけでなく「使う特徴(質問の項目)」さえもランダムに選びます。

こうすることで、似通った木ばかりになるのを防ぎ、多様性のある意見が集まるように工夫されています。

最後にみんなで「多数決」や「平均」をとることで、一人の天才よりも正確で、ミスに強い結論を導き出します。

ブースティングと勾配ブースティング

対するブースティングは「直列処理」のチームプレイです。

1番目の木が予測を行い、外してしまったデータに対して、2番目の木が「次はここを重点的に頑張れ!」と重みを付けて学習します。

これをリレーのように繰り返す手法です。

なかでも勾配ブースティング(Gradient Boosting)は非常に強力です。

「前の木の予測値」と「実際の正解」の間のズレ(残差)を、次の木が予測しにいくという仕組みです。

数式で表すと、現在の予測値を F(x) 、正解を y としたとき、次の木はその差である

y - F(x)

を埋めるために学習します。

少しずつ、しかし確実に正解に近づいていく職人集団のようなイメージですね。

メリットとデメリット

アンサンブル手法を使うと、単体の決定木に比べて驚くほど精度が上がります。

  • メリット:予測の安定感が抜群です。外れ値(極端に変なデータ)の影響を受けにくく、複雑なデータの特徴もしっかり捉えることができます。
  • デメリット:「なぜその結論になったのか」を人間が理解するのが難しくなります。何百本もの木が相談した結果を一つひとつ追いかけるのは、人間には不可能だからです。これを「ブラックボックス化」と呼んだりします。

E検定合格に向けた学習指針

お疲れ様でした!これで「決定木」から「アンサンブル手法」までの主要な概念がつながりましたね。

最後に、これからどのように学習を深めていけばよいか、具体的なステップを提案します。

  1. 評価指標の理解:Gini係数だけでなく、回帰木で使われる「平均二乗誤差(MSE)」の計算式も確認しておきましょう。
  2. ハイパーパラメータの調整:「木の深さ」や「木の数」を変えると、モデルの動きがどう変わるかを実験してみてください。
  3. 数式への慣れ:E検定では、今回紹介した \sum を使ったGini係数の定義式などがそのまま問われることがあります。記号の意味を言葉で説明できるようにしておくと安心です。