デシジョン・ツリー(決定木)とは、ノンパラメトリックの教師あり学習アルゴリズムであり、分類タスクと回帰タスクの両方に使用され、ルート・ノード、ブランチ、内部ノード、リーフ・ノードで構成される階層ツリー構造を持っています。
以下の図からわかるように、デシジョン・ツリーはルート・ノードから始まり、入力分岐がありません。ルート・ノードから出たブランチは、決定ノードとも呼ばれる内部ノードに送られます。利用可能な機能に基づいて、両方のノード・タイプが評価を実行し、リーフ・ノード(もしくは結果ノード)で表される同種のサブセットを形成します。リーフ・ノードは、データ・セット内のすべての可能性のある結果を表します。
例として、サーフィンに行くべきかの判断を、次のデシジョン・ツリーを使って決断へと導くことができます。
また、このようなフロー・チャート構造では、意思決定をわかりやすく表現できるため、組織内のさまざまなグループが、意思決定が行われた理由をよりよく理解できるようになります。
デシジョン・ツリー学習では、貪欲な検索を実行してツリー内の最適な分割ポイントを特定することにより、分割統治法を採用しています。この分割プロセスは、すべてまたは大部分のレコードが特定のクラス・ラベルに分類されるまで、トップダウンの再帰的な方法で繰り返されます。
すべてのデータ・ポイントが同種のセットとして分類されるかどうかは、デシジョン・ツリーの複雑さに大きく依存します。小さなツリーほど、より簡単に純粋なリーフ・ノード(つまり、単一クラス内のデータ・ポイント)を得ることができます。ただし、ツリーのサイズが大きくなるにつれて、この純度を維持することが困難になり、通常、特定のサブ・ツリー内に含まれるデータが少なすぎる結果になります。これは、データの断片化と呼ばれ、過剰適合につながることがよくあります。
結果として、デシジョン・ツリーは小さなツリーを優先します。これは、オッカムの剃刀(節約の原理)と一致しています。つまり、「エンティティーは必要以上に増やすべきではない」ということです。言い換えれば、最も単純な説明が最善であることが多いため、デシジョン・ツリーは必要な場合にのみ複雑さを増す必要があります。複雑さを減らして、過剰適合を防ぐために、通常は枝刈りを行います。これは、重要度の低い機能で分割された分岐を排除するプロセスです。その後、相互検証のプロセスを通じてモデルの適合性を評価できます。
デシジョン・ツリーの精度を維持するためのもう1つの方法は、ランダム・フォレスト・アルゴリズムを使用してアンサンブルを形成することです。この分類器は、特に個々のツリーが互いに相関していない場合に、より正確な結果を予測できます。
ハントのアルゴリズムは、心理学における人間の学習をモデル化するために1960年代に開発されたもので、次のような多くの一般的なデシジョン・ツリー・アルゴリズムの基礎になっています。
- ID3:Ross Quinlanは、「Iterative Dichotomiser 3」の省略形であるID3の開発に携わった功績が認められています。このアルゴリズムは、エントロピーと情報ゲインを指標として候補分割を評価します。1986年にQuinlanがこのアルゴリズムについて行った研究の一部は、こちら でご覧いただけます。
- C4.5:このアルゴリズムは、同じくQuinlanによって開発されたID3のイテレーションと考えられています。情報利得または利得比を用いて、デシジョン・ツリー内の分割ポイントを評価できます。
- CART:CARTという用語は、「分類および回帰ツリー(classification and regression tree)」の略語であり、Leo Breiman氏によって導入されました。このアルゴリズムは通常、ジニ不純度を用いて、分割する理想的な属性を決定します。ジニ不純度は、ランダムに選択された属性が誤って分類される頻度を測定します。ジニ不純度を用いて評価する場合は、値が低いほど理想的です。
各ノードで最適な属性を選択する方法は複数ありますが、情報利得とジニ不純度の2つの方法が、デシジョン・ツリー・モデルの一般的な分割基準となっています。これらは、各テスト条件の品質と、サンプルをクラスにどの程度適切に分類できるかを評価するのに役立ちます。
エントロピーについて議論せず、情報利得について説明するのは困難です。エントロピーは情報理論の概念であり、サンプル値の不純度を測定します。それは次の式で定義されます。
エントロピー値は、0~1の間に収まります。データ・セットS 内のすべてのサンプルが1つのクラスに属している場合、エントロピーはゼロになります。サンプルの半分が1つのクラスに分類され、残りの半分が別のクラスに分類される場合、エントロピーは1で最高になります。分割する最適な特徴を選択し、最適なデシジョン・ツリーを見つけるには、エントロピー量が最小の属性を使用する必要があります。
情報利得は、特定の属性の分割前後のエントロピーの差を表します。情報利得が最も高い属性は、ターゲットの分類に従ってトレーニング・データを分類する際に最適な仕事をしているため、最適な分割が生成されます。情報利得は通常、次の式で表されます。
where
これらの概念をより深く理解するために、例を見てみましょう。次の任意のデータ・セットがあるとします。
このデータ・セットのエントロピーは、0.94です。これは、「テニスをする」が「はい」の日の割合(9/14)と、「テニスをする」が「いいえ」の日の割合(5/14)を求めることで計算できます。次に、これらの値を上記のエントロピー式に代入します。
Entropy(テニス) = -(9/14) log2 (9/14) - (5/14) log2 (5/14) = 0.94
その後、各属性の情報利得を個別に計算できます。たとえば、属性「湿度」について得られる情報は次のようになります。
Gain(テニス、湿度) = (0.94) - (7/14) x (0.985)– (7/14) x (0.592)= 0.151
要点を確認しましょう。
- 7/14は、湿度の値の総数に対する、湿度が「高」に等しい値の割合を表します。この場合、湿度が「高い」となる値の数は、湿度が「普通」となる値の数と同じです。
- 0.985は、湿度 =「高」の場合のエントロピーです。
- 0.59は、湿度=「普通」の場合のエントロピーです。
次に、上の表の各属性の情報利得の計算を繰り返し、情報利得が最も高い属性を選択して、デシジョン・ツリーの最初の分割ポイントにします。この場合、予測では情報利得が最も高くなります。そこから、各サブ・ツリーに対してプロセスが繰り返されます。
ジニ不純度は、データ・セットのクラス分布に基づいてラベル付けされた場合に、データ・セット内のランダムなデータ・ポイントが誤って分類される確率です。エントロピーの場合と同様に、データ・セットSが純粋である場合(1つのクラスに属する)、不純度はゼロになります。これは次の式で表されます。
デシジョン・ツリーはさまざまなユースケースで使用できますが、通常は他のアルゴリズムの方が優れた結果が得られます。とはいえ、デシジョン・ツリーは、データ・マイニングや知識発見タスクに特に役立ちます。デシジョン・ツリーの主な利点と課題について詳しく見てみましょう。
IBM Graniteは、ビジネス向けにカスタマイズされ、AIアプリケーションの拡張に合わせて最適化された、オープンで高性能、かつ信頼性の高いAIモデル・ファミリーです。言語、コード、時系列、ガードレールのオプションをご覧ください。
2,000の組織を対象に、AIへの取り組みについて調査を行い、何が機能し、何が機能していないのか、どうすれば前進できるのかを明らかにしました。
サポート・ベクトル・マシンや確率的分類器などの教師あり学習アプローチを調査します。
ハンズオン・ラボ、コース、指導付きプロジェクト、トライアルなどで、基本的な概念を学び、スキルを身につけていただけます。
ユースケースに最適なAI基盤モデルを選択する方法について説明します。
AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。
業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。
AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。