「G検定に合格したいけど、決定木ってなんだか難しそう…」 「機械学習を学び始めたけど、決定木の仕組みがいまいち分からない…」
そんな悩みをお持ちではありませんか?
決定木は、G検定でも頻出の重要なテーマであり、機械学習の基本的なアルゴリズムの一つです。ネットショッピングであなたへのおすすめ商品が表示されたり、銀行が融資の審査をしたりする裏側でも、決定木の考え方が使われていることがあります。
この記事では、G検定合格を目指す方や機械学習初心者の方に向けて、
- 決定木の基本的な仕組み
- 重要な「分割基準」(ジニ不純度、エントロピー、情報利得)の計算式と意味
- 決定木のメリット・デメリット
- G検定で押さえるべきポイント
などを、図解を交えながら分かりやすく解説します。この記事を読めば、決定木の基礎をしっかりと理解し、G検定対策も一歩前進できるはずです!
決定木って何?まずは基本をおさえよう
一言でいうと「データ分類・予測のための”判断の木”」
決定木は、たくさんのデータ(例えば、顧客リストや過去の販売履歴など)の中から、あるルールに基づいてデータを分類したり、未来の値を予測したりするための手法です。これは「教師あり学習」と呼ばれる機械学習の一分野に分類されます。
なぜ「木」と呼ばれるかというと、その分析プロセスが木の枝分かれのように見えるからです。スタート地点(根っこ)から、ある質問(条件)に対する答え(Yes/Noなど)によって、データをどんどん枝分かれさせていき、最終的な結論(葉っぱ)にたどり着きます。
どんなことに使われるの?(分類木と回帰木)
決定木は、解決したい問題の種類によって、大きく2つのタイプに分けられます。
- 分類木 (Classification Tree):
- 目的: データをいくつかの「クラス(カテゴリ)」に分類する。
- 例:
- メールが「スパム」か「スパムでない」か分類する。
- 顧客が商品を「買う」か「買わない」か予測する。
- 画像に写っているのが「犬」か「猫」か判別する。
- 最終的な予測結果(葉ノード)は、「スパム」「買う」「犬」といったカテゴリ名になります。
- 回帰木 (Regression Tree):
- 目的: 連続的な「数値」を予測する。
- 例:
- 過去のデータから「明日の株価」を予測する。
- 家の広さや立地から「住宅価格」を予測する。
- 気温や湿度から「電力需要」を予測する。
- 最終的な予測結果(葉ノード)は、「1500円」「3000万円」「100万kW」といった数値になります。
G検定では、この分類と回帰の違いを理解しておくことが重要です。
決定木の「仕組み」を図解で理解する
データが”枝分かれ”していくプロセス
決定木は、データ全体(ルートノード、木の根っこ)からスタートし、ある特徴量(データの属性、例えば「年齢」や「性別」など)に関する条件(質問)によってデータを分割していきます。この分岐点をノード、分岐をエッジ(枝)と呼びます。
この分割を繰り返していくと、最終的にそれ以上分割できない(あるいは分割しない方が良い)データのグループにたどり着きます。この終点のノードをリーフノード(葉ノード)と呼び、そのリーフノードに属するデータに対する予測結果(分類ならクラス名、回帰なら平均値など)が決まります。
どうやって最適な”枝分かれ”を見つけるの?(分割基準)
では、各ノードで「どの特徴量」を「どんな条件」で分割するのが一番良いのでしょうか?
決定木の目標は、データを分割していくことで、各リーフノードができるだけ「純粋な」グループになるようにすることです。純粋なグループとは、例えば分類問題であれば、そのグループ内のデータがほとんど同じクラス(例:「買う」人ばかり、または「買わない」人ばかり)に属している状態を指します。
この「純粋さ」の度合い、逆に言えば「不純さ(どれだけ異なるものが混ざっているか)」の度合いを測るための指標が重要になります。これが次に解説する「分割基準」です。決定木は、各ステップでデータが最も純粋になる(=不純度が最も下がる)ような分割ルールを探していくのです。
G検定頻出!分割基準をマスターする(ジニ不純度・エントロピー・情報利得)
【G検定ポイント】 分割基準であるジニ不純度、エントロピー、情報利得はG検定で頻出の重要キーワードです。それぞれの意味と計算式、違いをしっかり理解しましょう。
不純度を測る指標:ジニ不純度 (Gini Impurity)
ジニ不純度は、あるノード(データの集まり)に、異なるクラスのデータがどれだけ混じり合っているかを示す指標です。値が小さいほど「純粋(混ざりけが少ない)」、大きいほど「不純(ごちゃ混ぜ)」であることを意味します。最小値は0(完全に純粋)、最大値はクラス数によりますが、2クラス分類なら0.5です。
- 定義: あるノードからランダムに2つのサンプルを取り出したとき、それらが異なるクラスに属する確率。
- 計算式: G=k=1∑Kp(k)(1−p(k))=1−k=1∑Kp(k)2
- K: クラスの総数
- p(k): そのノードにおいて、クラス k に属するサンプルの割合
- 特徴:
- 計算が比較的速い。
- CART(Classification and Regression Trees)という決定木アルゴリズムでよく使われる。
- 簡単な例: 10個のサンプルがあり、クラスAが6個、クラスBが4個の場合。 p(A)=6/10=0.6 p(B)=4/10=0.4 ジニ不純度 G=p(A)(1−p(A))+p(B)(1−p(B))=0.6(1−0.6)+0.4(1−0.4)=0.6×0.4+0.4×0.6=0.24+0.24=0.48 もし全てクラスAなら、p(A)=1,p(B)=0 なので G=1(1−1)+0(1−0)=0 となり、純粋であることが分かります。
不純度を測るもう一つの指標:エントロピー (Entropy)
エントロピーは、元々情報理論の概念で、情報の「乱雑さ」や「不確かさ」を表す指標です。決定木では、ジニ不純度と同様にノードの不純度を表すために使われます。値が大きいほど不純(乱雑)であることを示します。最小値は0(完全に純粋)です。
- 定義: 情報量の期待値。どれだけ予測が難しいかを表す。
- 計算式: H=−k=1∑Kpklog2pk
- K: クラスの総数
- pk: そのノードにおいて、クラス k に属するサンプルの割合
- log2 は底を2とする対数です。pk=0 の場合は pklog2pk=0 とします。
- 特徴:
- 情報理論的な意味付けが明確。
- C4.5やC5.0といった決定木アルゴリズムで使われる。
- 対数計算が必要なため、ジニ不純度より計算コストが若干高い場合がある。
- 簡単な例: 先ほどと同じ、クラスAが6個、クラスBが4個の場合。 p(A)=0.6, p(B)=0.4 エントロピー H=−(p(A)log2p(A)+p(B)log2p(B)) H=−(0.6log20.6+0.4log20.4) (log20.6≈−0.737, log20.4≈−1.322 なので) H≈−(0.6×(−0.737)+0.4×(−1.322))≈−(−0.442−0.529)≈0.971 もし全てクラスAなら、p(A)=1,p(B)=0 なので H=−(1log21+0log20)=0 となります。
分割の良さを決める:情報利得 (Information Gain)
情報利得は、あるノードを特定の条件で分割したときに、どれだけ不純度が減少したかを示す指標です。決定木は、この情報利得が最大になるような分割(特徴量と閾値の組み合わせ)を選択します。
- 定義: (親ノードの不純度)-(子ノードの不純度の加重平均)
- 計算式 (エントロピーを使う場合): IG(Parent,Split)=Hparent−j∈Children∑NparentNjHj IG=Hparent–(NparentNleftHleft+NparentNrightHright)
- Hparent: 親ノードのエントロピー
- Hleft, Hright: 分割後の左の子ノード、右の子ノードのエントロピー
- Nparent, Nleft, Nright: それぞれ親、左の子、右の子ノードのサンプル数
- ※ジニ不純度を使って情報利得(Gini Gainと呼ばれることも)を計算することも可能です。その場合は、上記式の H を G (ジニ不純度)に置き換えます。
- 目的: 決定木は、考えられるすべての分割方法について情報利得を計算し、その値が最も大きくなる分割ルールを採用します。
【G検定ポイント】ジニ不純度とエントロピーの違い・使い分け
- 計算コスト: 一般的にジニ不純度の方が計算が速い。
- 結果への影響: 実用上、どちらを使っても決定木の性能に劇的な差が出ることは少ないと言われていますが、エントロピーの方がややバランスの取れた(左右の子ノードのサンプル数が極端に偏りにくい)木を生成する傾向があるとも言われます。
- G検定対策: どちらの指標も「ノードの不純度(混ざり具合)」を測るものであること、計算式(特にpkがクラスkの割合であること)、そして情報利得が「分割による不純度の減少量」であり、これを最大化するように木が成長することを理解しておくことが重要です。計算問題が出題される可能性もゼロではありません。
決定木のメリット:なぜ使われるの?
決定木には、他の機械学習アルゴリズムと比較していくつかの優れた点があります。
結果が分かりやすい!(解釈性)
決定木が生成する「木」の構造をたどっていくことで、「なぜそのような予測結果になったのか?」の理由を人間が理解しやすいのが最大のメリットです。これはビジネスの現場などで、予測モデルの説明責任が求められる場合に非常に重要になります。
面倒な前処理が少ない!
多くの機械学習アルゴリズムでは、事前にデータの特徴量の尺度を揃える「スケーリング」などの前処理が必要になることがあります。しかし、決定木は基本的にこのような前処理が不要なため、比較的簡単に利用を開始できます。
複雑な関係も捉えられる!(非線形性)
データ間の単純な直線関係だけでなく、より複雑な非線形な関係性も捉えることができます。
外れ値にも比較的強い!
一部の極端なデータ(外れ値)があっても、分割ルールへの影響が比較的小さい傾向があります。
決定木のデメリットと対策:注意点は?
一方で、決定木には注意すべき点もあります。
学習しすぎに注意!(過学習 / Overfitting)
決定木は、学習データを完璧に分類しようとするあまり、木の枝葉を細かくしすぎてしまう傾向があります。その結果、学習データには非常に良く適合するものの、未知の新しいデータに対してはうまく予測できない「過学習」という状態に陥りやすくなります。これは決定木の最大の弱点とも言えます。
【G検定ポイント】過学習を防ぐ「剪定(プルーニング)」とは?
過学習を防ぐために、決定木の成長を適切に制限するテクニックが使われます。これを剪定(プルーニング / Pruning)と呼びます。G検定でも重要なキーワードです。
- 事前剪定 (Pre-pruning): 木が成長するのを途中で止める方法。
- 例: 木の最大の深さを制限する、ノードを分割するために必要な最小サンプル数を設定する、分割による情報利得が一定値以下なら分割しない、など。
- 事後剪定 (Post-pruning): まずは木を完全に成長させてから、後で不要な枝葉を刈り取る方法。
剪定を行うことで、モデルの複雑さを抑え、未知のデータに対する予測能力(汎化性能)を高めることを目指します。
分類性能は最強ではない?
単体の決定木は、非常に解釈しやすい反面、他の高度なアルゴリズム(例えば、後述するアンサンブル学習やサポートベクターマシン、ニューラルネットワークなど)と比較すると、必ずしも最高の予測精度を出せるとは限りません。
この弱点を克服するために、複数の決定木を組み合わせるアンサンブル学習(ランダムフォレスト、勾配ブースティングなど)という手法が広く使われています。これらはG検定でも重要テーマです。
決定木はこんなところで活躍中!応用例
決定木(およびその発展形であるアンサンブル学習)は、様々な分野で活用されています。
- ビジネス: 顧客セグメンテーション(顧客のグループ分け)、購買予測、解約予測、広告ターゲティング
- 金融: クレジットカードの不正利用検知、融資審査、株価予測
- 医療: 病気の診断支援、治療効果の予測、創薬
- 製造業: 製品の故障予測、品質管理
- その他: Webサイトのレコメンデーション、スパムメールフィルタリング
【G検定ポイント】 G検定では、具体的な技術だけでなく、それがどのような分野で応用されているかという知識も問われることがあります。上記のような応用例も頭に入れておくと良いでしょう。
まとめ:決定木の重要ポイントとG検定対策
今回は、決定木について、その基本的な仕組みから分割基準、メリット・デメリット、そしてG検定対策のポイントまで解説しました。
【決定木の重要ポイントまとめ】
- 概要: 教師あり学習の一つ。データを木構造で条件分岐させ、分類や回帰を行う。
- 仕組み: ルートノードからスタートし、情報利得が最大になるようにデータを分割し、リーフノードで予測結果を出す。
- 分割基準: ノードの不純度を測る指標(ジニ不純度, エントロピー)と、分割による不純度の減少量(情報利得)が重要。
- メリット: 解釈性が高い、前処理が少ない、非線形性を扱える。
- デメリット: 過学習しやすい。対策として剪定(プルーニング)が重要。単体では精度限界がある場合も。
【G検定対策として特に押さえるべきこと】
- 用語の理解: 分類木、回帰木、ノード、リーフ、教師あり学習
- 分割基準: ジニ不純度、エントロピー、情報利得の計算式と意味
- 過学習対策: 剪定(プルーニング)の概念
- 応用例: どのような分野で使われているか
- 発展: アンサンブル学習(ランダムフォレスト, 勾配ブースティングなど)との関連性
決定木は、より高度な機械学習手法(特にアンサンブル学習)の基礎となる重要なアルゴリズムです。まずはこの基本をしっかりマスターすることが、G検定合格、そしてその先のデータサイエンスの世界への第一歩となります。
コメント