ディシジョン ツリー (オン)
分類のための ID3、C4.5 アルゴリズム
I. 概要
デシジョン ツリー モデルの生成全体は、特徴の選択、デシジョン ツリーの生成、枝刈りという 3 つのステップで完了します。
式の定義:
エントロピー H(D):
条件付きエントロピー H(D|A):
情報の獲得:
情報獲得率:
Ha(D) は条件付きエントロピー H(D|A) です。
決定木の生成戦略:
データ セットのエントロピーを最も小さくする特徴、つまり、情報ゲインまたは情報ゲイン比が最も大きい特徴を使用してデータ セットを分割し、目標の精度が達成されるまでこの操作を繰り返します。
決定木の枝刈り戦略:
正則化を使用してデシジョン ツリーの損失関数を構築します。
ツリーTのリーフ ノードの数は|T | 、tはツリーTのリーフ ノード、リーフ ノードにはN t個のサンプル点があります。H t (T)はリーフ ノードt上の経験的エントロピー、 a ≥0はパラメータです。
クラスk 、k = 1,2,…,KのN tk個のサンプル点があると仮定すると、決定木学習の経験的エントロピーは次のように定義されます。
リーフノードを下から上に向かって徐々に切り落とし、そのたびに切り取ることで生成される新たな決定木の損失と枝刈りを行わない決定木とを比較し、損失を最小にする決定木が見つかるまで損失の少ない決定木を維持します。 。
2.主な内容
分類決定ツリー モデルは、インスタンスの分類を記述するツリー構造です。デシジョン ツリーは、ノード (ノード) と有向エッジ (有向エッジ) で構成されます。ノードには、内部ノード (内部ノード) とリーフ ノード (リーフ ノード) の 2 種類があります。内部ノードは機能または属性を表し、リーフ ノードはクラスを表します。
デシジョン ツリー分類を使用し、ルート ノードから開始してインスタンスの特定の機能をテストし、テスト結果に従ってインスタンスをその子ノードに割り当てます。このとき、各子ノードは機能の値に対応します。インスタンスは、リーフ ノードに到達するまでテストされ、再帰的に割り当てられます。最後に、インスタンスはリーフ ノードのクラスに分割されます。
決定木学習アルゴリズムには、特徴選択、決定木生成、および決定木枝刈りプロセスが含まれていることがわかります。決定木は条件付き確率分布を表すため、深さが異なる決定木は複雑さの異なる確率モデルに対応します。決定木の生成は、モデルの局所的な選択に対応し、局所的な最適値のみを考慮します。つまり、トレーニング セット データの最適な分類のみが考慮されます。決定木の枝刈りは、モデルの全体的な選択に対応し、は全体的な最適値、つまりトレーニング セットとテスト マシンを考慮し、すべてが最高になるよう努めます。
図5.1は決定木の模式図です。図中の円は内部ノード、ボックスはリーフノードを表します。
機能の選択:
特徴の選択では、データを分割するためにどの特徴を使用するかを決定します。
異なる特徴区分を選択すると、異なる分類結果が得られます。
問題は、どの機能を選択するのが良いかということです。これには、特徴を選択するための基準を決定する必要があります。直観的には、特徴の分類能力が優れている場合、つまり、この特徴に従ってトレーニング データ セットをサブセットに分割し、各サブセットが現在の条件下で最適な分類を有する場合、この特徴を選択する必要があります。情報利得 ( information Gain ) は、この直感的な基準をよく表します。
//=============== 予備知識 ================//
//=====================================//
エントロピー、条件付きエントロピー、情報ゲイン、情報ゲイン比
エントロピーの計算式は次のとおりです。
条件付きエントロピーの計算式は次のとおりです。
情報の獲得:
情報ゲインの理解は、元のデータセットのエントロピー、つまり不確実性が H(D) であると考えられます。たとえば、イベント A が発生した後、ある特徴を使用してデータセットが分割され、そのエントロピーがデータセットは条件付きエントロピー H( D|A) になるため、情報ゲイン g(D,A)=H(D)-H(D|A) これは、前のデータセットの不確実性の変化を意味します。イベント A の発生が g(D ,A) として記録された後、情報利得は大きく、このイベントがデータセットの分割においてより効果的であることを示しています。
情報獲得率:
ストラテジー:
デシジョン ツリー学習では、情報獲得基準を適用して特徴を選択します。トレーニング データセットDと特徴Aが与えられた場合、経験的エントロピーH(D) はデータセットDの分類の不確実性を表します。そして、経験的な条件付きエントロピーH(D|A) は、特徴Aの条件を前提としたデータセットDの分類の不確実性を表します。そして、それらの差、つまり情報利得は、データセットDの分類の不確実性が特徴Aによって軽減される程度を表します。明らかに、データセットDの場合、情報利得は特徴に依存し、多くの場合、特徴が異なると情報利得も異なります。得られる情報が大きい特徴は、より強力な分類能力を持ちます。
情報利得基準に従った特徴選択方法は、トレーニング データ セット (またはサブセット) Dについて、各特徴の情報利得を計算し、それらのサイズを比較し、最大の情報利得を持つ特徴を選択します。
アルゴリズム:
ID3アルゴリズム:
C4.5アルゴリズム:
ID3 アルゴリズムと同様に、情報利得比はセグメンテーションの特性を決定するために使用されます。
剪定:
決定木生成アルゴリズムは、それ以上進めなくなるまで決定木を再帰的に生成します。この方法で生成されたツリーは、多くの場合、トレーニング データの分類では非常に正確ですが、未知のテスト データの分類ではそれほど正確ではありません。つまり、過剰適合が発生します。過学習の理由は、学習中にトレーニング データの正しい分類を改善する方法を考慮しすぎて、過度に複雑な決定木が構築されることです。この問題の解決策は、決定木の複雑さを考慮して、生成された決定木を単純化することです。
決定木の学習において生成された木を単純化するプロセスは、枝刈りと呼ばれます。具体的には、枝刈りは、生成されたツリーから一部のサブツリーまたはリーフ ノードを切り取り、そのルート ノードまたは親ノードを新しいリーフ ノードとして使用することで、分類木モデルを簡素化します。
枝刈りアルゴリズムのアイデア:
式の最初の部分は、決定木全体のエントロピーです。これは、すべてのサブセットのエントロピーの合計に係数を掛けたものです。これは、前の決定木の生成で使用されたエントロピーと似ていますが、エントロピーが各サブセットのサンプル数が係数として使用されます。決定木の生成プロセス全体は、前の部分の全体的なエントロピーを最小化することです。以下は罰則期間です。また、オーバーフィットを防ぐために、前部が減少し、後部が増加する可能性があります。
式( 5.14 )において、C(T)は学習データに対するモデルの予測誤差、つまりモデルと学習データの適合度を表し、|T|はモデルの複雑度を表し、パラメータはa≥0 は2 つの間の影響を制御します。aが大きいほど単純なモデル (ツリー) の選択が促進され、aが小さいほど複雑なモデル (ツリー) の選択が促進されます。a = 0は、モデルとトレーニング データの適合度のみが考慮され、モデルの複雑さは考慮されないことを意味します。
枝刈りは、 aが決定されたときに最小の損失関数を持つモデル、つまり最小の損失関数を持つサブツリーを選択することです。aの値が決定されるとき、サブツリーが大きいほどトレーニング データとの適合性は高くなりますが、モデルの複雑さは高くなります。逆に、サブツリーが小さいほどモデルの複雑さは低くなりますが、多くの場合、トレーニングデータとはうまく適合しません。損失関数は、この 2 つのバランスを正確に表します。
決定木の生成では、情報ゲイン (または情報ゲイン比) を増やすことによってトレーニング データへのより良い適合のみが考慮されることがわかります。決定木の枝刈りでは、損失関数を最適化することでモデルの複雑さを軽減することも考慮されています。デシジョン ツリーの生成ではローカル モデルが学習され、デシジョン ツリーの枝刈りではグローバル モデルが学習されます。
枝刈りアルゴリズム: