AIの基礎

決定木とは何か?

mm
Unite.AI を Google の優先ソースに追加

決定木とは何か?

決定木は、決定木は、回帰と分類タスクの両方で使用される有用な機械学習アルゴリズムです。決定木という名前は、アルゴリズムがデータセットを小さな部分に分割し続けることから来ています。データが単一のインスタンスに分割され、分類されます。結果を視覚化すると、カテゴリが分割される方法は木のようで、多くの葉があります。

これは決定木の簡単な定義ですが、決定木のしくみについて深く掘り下げてみましょう。決定木のしくみと用途を理解することで、機械学習プロジェクトでいつ使用するかを判断することができます。

決定木の形式

決定木は、フローチャートと似ています。フローチャートを使用するには、開始点、またはルートから始めて、フィルタリング条件に基づいて次のノードに移動します。このプロセスは、終了するまで繰り返されます。

決定木も同様の方法で動作します。木の中の内部ノードはすべて、テストまたはフィルタリング条件です。外側のノード、木の端点は、ラベル付けされたデータポイントであり、「葉」と呼ばれます。内部ノードから次のノードへの枝は、特徴または特徴の結合です。データポイントを分類するルールは、ルートから葉へのパスです。

決定木のアルゴリズム

決定木は、データセットを個々のデータポイントに分割するアルゴリズムに基づいて動作します。これらの分割は、さまざまな変数、またはデータセットの特徴によって行われます。たとえば、入力特徴が犬または猫を記述しているかどうかを判断する場合、データを分割する変数は「爪」や「吠える」などのものになります。

データを分割して枝と葉を作成するために使用されるアルゴリズムは何ですか?さまざまな方法で木を分割することができますが、最も一般的な分割方法は、再帰的二分割と呼ばれる手法です。この方法では、プロセスはルートから始まり、データセットの特徴の数は可能な分割の数を表します。各可能な分割の精度のコストを決定する関数が使用され、最も精度の低下が少ない分割が選択されます。このプロセスは再帰的に行われ、サブグループは同じ戦略を使用して形成されます。

分割のコストを決定するために、コスト関数が使用されます。回帰タスクと分類タスクの両方で使用されるコスト関数は異なります。両方のコスト関数の目的は、最も類似した応答値を持つ枝、または最も均一な枝を見つけることです。特定のクラスのテストデータが特定のパスをたどることを考えてみましょう。これは直感的に理解できます。

再帰的二分割の回帰コスト関数では、コストを計算するために次の式が使用されます。

sum(y – prediction)^2

特定のグループのデータポイントの予測値は、グループのトレーニングデータの応答の平均です。すべてのデータポイントをコスト関数に通して、すべての可能な分割のコストを決定し、コストが最も低い分割を選択します。

分類のコスト関数については、関数は次のようになります。

G = sum(pk * (1 – pk))

これはジニスコアであり、分割の有効性を測定する指標です。分割によって得られるグループ内のクラスのインスタンスの数に基づいています。言い換えると、分割後のグループの混合度を量化します。分割が最適な場合は、分割によって得られるすべてのグループが1つのクラスの入力のみで構成されます。如果最適な分割が作成された場合、「pk」値は0または1になり、Gは0になります。二項分類の場合、分割によって得られるグループがクラスの50-50の表現になる最悪のケースを想像できるかもしれません。この場合、「pk」値は0.5で、Gも0.5になります。

分割プロセスは、すべてのデータポイントが葉になり、分類されるまで続きます。ただし、木の成長を早く停止したい場合があります。複雑な木は過剰適合に敏感ですが、過剰適合に対処するためのさまざまな方法があります。過剰適合を軽減する方法の1つは、葉を作成するために使用されるデータポイントの最小数を指定することです。過剰適合を制御する別の方法は、木の最大深度を制限することです。これにより、ルートから葉までのパスの長さが制御されます。

決定木の作成に関与する別のプロセスは、剪定です。剪定により、決定木のパフォーマンスが向上し、予測力の低い特徴を含む枝が除去されます。这样、木の複雑さが軽減され、過剰適合の可能性が低くなり、モデルの予測力が向上します。

剪定を行うとき、プロセスは木のトップまたはボトムから始めることができます。ただし、最も簡単な剪定方法は、葉から始めて、最も一般的なクラスを含むノードを削除することです。如果モデルがこの変更を行ったときに精度が低下しない場合、変更は保持されます。剪定を行うための他のテクニックもありますが、説明した方法 – エラー剪定 – は、決定木の剪定で最も一般的な方法です。

決定木の使用を考慮する

決定木は、分類が必要だが、計算時間が大きな制約である場合に便利です。決定木は、選択したデータセットで最も予測力の高い特徴を明らかにできます。さらに、多くの機械学習アルゴリズムでは、データを分類するルールが解釈しにくい場合がありますが、決定木は解釈可能なルールを提供できます。決定木は、カテゴリと連続の両方の変数を使用できるため、他のアルゴリズムよりも前処理が少なくて済みます。

決定木は、連続的な属性の値を決定する場合に、特にうまく機能しません。決定木の別の制限は、分類を行う場合、トレーニング例が少なく、クラスが多い場合、決定木は不正確になる可能性があります。

ブログ作家およびプログラマーで、 Machine Learning Deep Learning のトピックを専門としています。Danielは、AIの力を社会のために利用する手助けを他者に与えることを希望しています。