機械学習の決定木:機能、分類、長所と短所
公開: 2020-05-14すべての人は自分の人生で決定を下さなければなりません。 これらの決定は状況に依存します。 正しい決定を下すことは、最も簡単な方法で問題を解決し、最善の方法で状況に直面するのに役立ちます。 子供の頃、あなたの決定のほとんどはあなたが食べるものとあなたの学校に関連するものを中心に展開します。
あなたが成長するにつれて、あなたの決定はあなたの人生だけでなく他の人の人生にももっと深刻な影響を及ぼし始めます。 あなたの人生のある時点で、あなたはあなたのキャリアやビジネスに関して決定を下すでしょう。 この例えは、機械学習における決定木の概念を紹介することです。
目次
デシジョンツリーとは何ですか?
まず、意思決定ツリーは、意思決定をサポートする予測モデルまたはツールであることを説明します。 木のような構造に従う設計、設計モデル、または表現を使用して、正確な推論を提供することが知られています。 このモデルまたは機械学習モデルの主な目的は、ターゲットの特定の属性を検討し、それらの属性に基づいて決定を下すことです。
デシジョンツリーのほとんどの決定は、条件付きステートメントに従います–ifおよびelse。 デシジョンツリーモデルが他のモデルよりも優れているためには、より深い構造とそれを管理するより複雑なルールがあります。 これは、機械学習で最も好ましい教師あり学習モデルの1つであり、多くの分野で使用されています。 条件に従って分割が行われるようにするためのアルゴリズム手法を念頭に置いて設計されたフローチャートのように見える場合があります。
このフローチャートの構造は非常に単純です。 モデル構築の基盤として機能するルートノードがあります。 次に、一部の内部ノードとブランチは、それぞれ機能またはテストとテストの結果を表示します。 リーフノードは、関連する属性の決定が行われたときに達成される値と同様の値を持つグループを表します。
決定木は、主に分類と回帰の問題で使用されます。 これらは、機械学習アルゴリズムアプリケーションだけでなく、統計、データサイエンス、データマイニングなどの分野でいくつかのアプリケーションに役立つ自動予測モデルを作成するために使用されます。 これらのツリーベースの構造は、他のほとんどの予測モデルよりも簡単に解釈でき、より安定した、最も正確な予測モデルのいくつかを提供します。

特定の数の問題にのみ有効な線形モデルとは異なり、決定木に基づくモデルは、非線形関係のマッピングにも使用できます。 決定木がとても人気があるのも不思議ではありません。 この非常に重要な理由の1つは、最終的な決定木モデルを理解するのがいかに簡単かということです。 それは、すべてが予測の背後にあったものを非常に明確に説明することができます。 それらは、勾配ブースティング、バギング、ランダムフォレストなど、より高度な協調的またはアンサンブル手法の基礎でもあります。
デシジョンツリーをどのように定義しますか?
概念の基本的な理解ができたので、それを定義しましょう。 決定木は、分類ベースの問題と回帰ベースの問題の両方を解決するために使用できる教師あり機械学習アルゴリズムです。 それが分類にどのように使用されるかを見てみましょう。
現在作業中のデータセットがあると仮定します。 各エリアのポイントが同じクラスに指定されるように、異なるエリアに分割できる2Dプランを作成します。 分割または分割は、一意の文字で示されます。 これは私たちがここで取り組んでいる二分木です。
現在、この決定木のさまざまなものがありますが、事前の表現はありませんが、提供されたトレーニングデータを使用して作成されています。 これらには、このツリーが持つノードの数、そのエッジの配置、およびその構造が含まれます。 ここでは、ツリーを最初から作成することはしません。 私たちの木がすでにそこにあることを考えると、私たちは前進するだけです。
では、新しい入力ポイントをどのように分類できますか? それを行うには、ツリーを下に移動する必要があります。 トラバースしている間、すべてのノードに到達する際のデータポイントについて質問を続けます。 たとえば、ルートノードでこの質問をすると、答えは右または左に分岐します。 原則として、条件が満たされているという条件について、尋ねられた質問が真である場合、左に分岐する必要があります。 それが真実でない場合、私たちは正しく分岐しなければなりません。 条件によって左側のノードに移動した場合、入力ポイントを割り当てる必要があるクラスがわかります。
デシジョンツリーがどのように示されるかということになると、決して忘れてはならないことがいくつかあります。 デシジョンツリーをトラバースするときに、デシジョンツリーの2つの座標を交互に切り替える必要があるという規則や必要性はありません。 単一のフィーチャーまたはディメンションのみを選択できます。 デシジョンツリーは、任意の次元のデータセットで使用できることを覚えておく必要があります。 この例では2Dデータを使用しましたが、それは決定木が2次元データセット専用であることを意味するものではありません。
チェックアウト:二分木の種類
二十の質問のコンテストに参加したことがありますか? これは、決定木の仕組みと非常によく似ています。 方法を調べましょう。 二十の質問ゲームの最終的な目的は、質問に答える人が質問に答えるときに考えているオブジェクトを見つけることです。 質問には、「はい」または「いいえ」でのみ回答できます。
ゲームを進めるにつれ、ゲームが終了する前に正しい答えを得るために、前の答えからどのような具体的な質問をするべきかがわかります。 デシジョンツリーは、より関連性の高い質問をするようにガイドすることで、最終的な答えに到達するのに役立つ一連の質問です。
会社で話したい相手にボイスメールでどのように誘導されたか覚えていますか? 最初にコンピューター化されたアシスタントに話しかけ、次に電話の一連のボタンを押して、最初に話したい相手に連絡する前に、アカウントに関するいくつかの詳細を入力します。 これはあなたにとって厄介な経験かもしれませんが、これはほとんどの企業が意思決定ツリーを使用して、顧客が適切な部門に到達したり、適切な人と話したりするのを支援する方法です。 また、知っておく必要のある6種類の教師あり学習もお読みください。
デシジョンツリーはどのように機能しますか?
完璧な決定木を作成する方法を考えていますか? 前に触れたように、決定木は、分類と回帰のタイプに属する機械学習の問題を解決するために使用されるアルゴリズムのクラスです。 これは、カテゴリ変数と連続変数の両方に使用できます。
このアルゴリズムには、前進するための簡単な方法があります。データセットまたはサンプルデータを異なるデータセットに分割し、各データセットをグループ化して同じ属性を共有します。 デシジョンツリーは、さまざまな目的のためにいくつかのアルゴリズムを採用しています。分割、最も重要な変数、およびさらに細分化を生み出すことができる最良の結果値を特定します。
通常、意思決定ツリーのワークフローには、データをトレーニングとテストのデータセットに分割し、アルゴリズムを適用し、モデルのパフォーマンスを評価することが含まれます。 非常に簡単な例でそれがどのように機能するかを理解しましょう。 人が仕事に適しているかどうかを確認したいとします。 これがツリーのルートになります。
次に、内部ノードを構成するツリーの機能または属性に移動します。 それらの属性に基づいて、決定が下されます–木の枝の形成。 ここで別の仮定をしましょう。 仕事に適していると考えられる人のパラメータは、5年以上の経験です。 最初の分割は、設定したばかりのこのパラメーターで行われます。
さらに分割するには、より多くのパラメータセットが必要です。 これらのパラメータは、特定の年齢層に属しているかどうか、ある程度の程度を持っているかどうかなどに関するものである可能性があります。 結果は、根と枝以外の、木の葉によって表されます。 葉は決して分裂せず、決定を描写します。 このツリーは、候補者がその仕事に適しているかどうかを判断するのに役立ちます。
すでに述べたように、決定木には、問題を解決するための独自の表現があります。 ルート、内部ノード、ブランチ、リーフがあり、それぞれが特定の目的を果たしたり、特定の仕事をしたりします。 これらの手順は、ツリー表現を作成するのに役立ちます。
- ツリーのルートは、最適化されたバージョンの最良の属性を備えています
- 適切な属性を使用して、サンプルデータをサブセットに分割します。 新しいサブセットまたはデータのグループが同じ属性に対して異なる値を持たないことを確認してください
- デシジョンツリーのすべてのブランチに葉ができるまで、上記の2つの手順を繰り返します。
分類または回帰ツリー(CART)
例を見てみましょう。 プロセスの最後に適切な候補者のみが選択されるように、いくつかの事前定義された属性に基づいて求職者を分類するタスクが与えられていると想像してください。 候補者を選択する決定は、リアルタイムまたは起こり得るイベントに依存します。 必要なのは、分類のための適切な基準を見つけるための決定木です。 結果は、分類がどのように行われるかによって異なります。

ご存知のように、分類には2つのステップがあります。 最初のステップでは、サンプルデータセットにランダムモデルを構築します。 2番目のステップには予測が含まれます。最初のステップでトレーニングされたモデルは、特定のデータの応答に関する予測を行うために実装されます。
現在、ターゲット変数が実数である場合や、連続データで決定が行われる場合があります。 人件費に基づいて、アイテムの価格を予測するように求められる場合があります。 または、候補者の以前の給与、スキルセット、経験、およびその他の関連情報に基づいて、候補者の給与を決定するように求められる場合があります。
これらの状況でのターゲット値の値は、実際の値または連続データセットに関連付けられた値のいずれかになります。 これらの問題を解決するために、決定木の回帰バージョンを使用します。 このツリーは、オブジェクトの特徴に対して行われた観察を考慮し、モデルをトレーニングして予測を行い、絶対的に意味のある連続出力を提供します。
ここで、分類と回帰決定木の間のいくつかの類似点と相違点について説明しましょう。 決定木は、ターゲット変数が本質的にカテゴリ型である状況で分類モデルとして使用されます。 トレーニングデータセットがターミナルノードの頂点で正しく取得する値は、その特定のセクションの観測モードを取得したときに受信した値と同じです。 ツリーのそのセクションに新しい観測値が追加された場合は、それをモード値に置き換えてから予測を行います。
一方、ターゲット変数が連続データセットの一部である場合、決定木は回帰モデルとして使用されます。 分類ツリーについて説明したのと同じポイントで受け取った値は、回帰ツリーに関しては、そのセクションの観測値の平均値です。
いくつかの類似点もあります。 両方の決定木モデルは、再帰的なバイナリアプローチを使用し、独立変数を互いに重複せず、明確な領域に分割します。 これらの両方のツリーで、分割はツリーの最上部から始まり、観測は1つの領域にあります。 これらの観察結果は、変数を2つのブランチに分割します。 この分割は、完全に成長した木に道を譲る継続的なプロセスです。
読む:機械学習プロジェクトのアイデア
CARTモデルを学ぶ方法は?
CARTモデルを作成するために必要な重要なことがいくつかあります。 これには、ツリーが適切に構築されるように、入力変数と分割点を選択することが含まれます。 コスト関数を減らす欲張りアルゴリズムを使用して、入力変数と除算点を選択します。
木のくびれは、事前に定義された停止基準の助けを借りて終了します。 停止基準には、ツリーのリーフノードに割り当てられているトレーニングインスタンスの数など、何でも言及できます。
1.欲張りアルゴリズム:バイナリツリーを構築するには、入力スペースを正しく分割する必要があります。 再帰的バイナリ分割は、この目的で使用される欲張りアルゴリズムです。 これは、異なる値を並べることを伴う数値的方法です。 次に、コスト関数を使用して、いくつかの除算ポイントをテストします。 最小コストの分割点が選択されます。 このメソッドは、入力変数だけでなく、すべての分割点を評価するために使用されます。
2.ツリーの剪定:停止基準により、決定木のパフォーマンスが向上します。 それをさらに良くするために、あなたは学んだ後に木を剪定することを試みることができます。 決定木の分割数は、決定木の複雑さを物語っています。 誰もが他よりも単純な木を好みます。 それらはデータに過剰適合せず、簡単に解読できます。
ツリーを剪定する最良の方法は、すべての葉のノードを調べて、それを削除するとツリーにどのような影響があるかを調べることです。 リーフノードの削除は、このアクションがコスト関数の低下を保証するときに行われます。 パフォーマンスをさらに向上させる方法がないと思われる場合は、この削除プロセスを停止できます。 使用できる剪定方法には、次のものがあります。
3.停止基準:前述の貪欲な分割方法には、停止するタイミングを知るための停止コマンドまたは条件が必要です。 一般的な基準は、すべてのリーフノードが割り当てられているインスタンスの数を取得することです。 その数に達した場合、分割は行われず、そのノードが最後のノードと見なされます。
たとえば、事前定義された停止基準が5つのインスタンスとして言及されているとします。 この数値は、トレーニングデータによるとツリーの正確さについても多くを示しています。 精度が高すぎるか正確すぎると、過剰適合が発生し、パフォーマンスが低下します。
デシジョンツリーでの過剰適合を回避するにはどうすればよいですか?
ほとんどの決定木は過剰適合にさらされています。 理想的な方法でデータを分類できるデシジョンツリーを構築することも、部門の属性がない状況にすることもできます。 これは、テストデータセットではうまく機能しません。 ただし、トレーニングデータセットに適しています。 この状況を回避するために、これから説明する2つのアプローチのいずれかに従うことができます。

木が大きすぎる場合は剪定するか、過剰適合状態に達する前に成長を停止することができます。 ほとんどの場合、房の成長を制御するために定義された制限があり、それは深さ、層の数、およびそれが持つことができる他のものに言及します。 ツリーをトレーニングする必要のあるデータセットは、テストデータセットとトレーニングデータセットに分割されます。 これらのデータセットは両方とも、トレーニングデータセットに基づいて最大の深さを持ち、テストデータセットに対してテストされます。 このアプローチと一緒に相互検証を使用することもできます。
ツリーを剪定することを選択した場合、元のバージョンに対してツリーの剪定されたエディションをテストします。 テストデータセットに対するテストに関して、剪定されたツリーがそのバージョンよりも優れている場合、この状況が続く限り、ツリーはリーフを使用できません。
詳細については、Rのディシジョンツリーをご覧ください。
デシジョンツリーアプローチの利点
- これは、連続データとカテゴリデータで使用できます。
- 複数の出力を提供できます
- 正確な結果を解釈でき、木の信頼性を定量化して信頼できます
- この方法を使用すると、データを探索し、重要な変数を見つけ、ターゲット変数を強化するためのさまざまな変数間の関係を見つけ、はるかに短い時間で新しい機能を構築できます。
- 理解しやすく、他の人に説明するのは簡単です
- データのクリーニングに役立ちます。 他の方法と比較すると、特定の時点以降の値の欠落や外れ値の影響がないため、それほど時間はかかりません。
- デシジョンツリーの効率とパフォーマンスは、機能間の非線形関係の影響を受けません。
- 欠落値の置換やデータの正規化などを必要としないため、データの準備にそれほど時間はかかりません。
- これはノンパラメトリックなアプローチです。 分類器の設計や空間配置とは何の関係もありません
デシジョンツリーのデメリット
- 一部のユーザーは、自分の好みであっても、複雑すぎる決定木を作成できます。 これらのツリーは、単純なツリーのようにデータを一般化することはありません。
- 偏った木は、特定のクラスの支配のために作成されることがよくあります。 これが、使用する前にサンプルデータのバランスを取ることが非常に重要である理由です。
- 時々、これらの木はあまり安定していません。 データのバリエーションにより、法案に適合しないツリーが作成される可能性があります。 この異常は分散と呼ばれます。 ブースティングとバギングを使用して対処できます。
- 欲張りアルゴリズムで最良の決定木を取得することは期待できません。 この問題を解決するために、複数の木を訓練することができます。
結論
このブログでは、学習者が決定木について知っておく必要のあるすべての重要事項について説明しています。 このブログを読むと、概念をよりよく理解できるようになり、実際の生活でそれを実装するためのより良い立場に立つことができます。
機械学習とAIについて詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのPGディプロマをご覧ください。これは、働く専門家向けに設計されており、450時間以上の厳格なトレーニング、30以上のケーススタディと課題を提供します。 IIIT-B卒業生のステータス、5つ以上の実践的な実践的なキャップストーンプロジェクト、トップ企業との雇用支援。
決定木アルゴリズムは何に使用されますか?
教師あり学習アルゴリズムのファミリーの一部である決定木は、最も広く使用されている分類アルゴリズムの1つです。 理解も解釈も非常に簡単で、人気があります。 決定木を使用して、履歴トレーニングデータから導出された単純な決定指示に基づいてターゲット変数の値を予測できるトレーニングモデルを開発できます。 決定木アルゴリズムの最も優れている点は、他の教師あり学習アルゴリズムには適用できない分類と回帰の問題を効率的に解決できることです。 ターゲット変数のタイプに基づいて、さまざまな種類の決定木を使用できます。
教師あり学習アルゴリズムのファミリーの一部である決定木は、最も広く使用されている分類アルゴリズムの1つです。 理解も解釈も非常に簡単で、人気があります。 決定木を使用して、履歴トレーニングデータから導出された単純な決定指示に基づいてターゲット変数の値を予測できるトレーニングモデルを開発できます。 決定木アルゴリズムの最も優れている点は、他の教師あり学習アルゴリズムには適用できない分類と回帰の問題を効率的に解決できることです。 ターゲット変数のタイプに基づいて、さまざまな種類の決定木を使用できます。
AIでは、決定木アルゴリズムにはさまざまなアプリケーションが付属しています。 デシジョンツリーの最も興味深いアプリケーションには、履歴データに基づいて企業の潜在的な成長機会を評価することが含まれます。 このため、過去の販売データは、意思決定ツリーがさらなるビジネスの拡大と成長のための可能なルートを示すのに役立ちます。 デシジョンツリーは、人口統計情報を使用して潜在的なクライアントを見つけるためにも使用できます。 さらに、金融機関は、意思決定ツリーを適用して、顧客やローンの不履行者の信用度を評価するための予測モデルを作成することもできます。
人工知能で使用されている他のアルゴリズムは何ですか?
人工知能で使用されるアルゴリズムは、回帰アルゴリズム、分類アルゴリズム、クラスタリングアルゴリズムの3つの部分に大きく分類できます。 分類アルゴリズムは、特定の方法でデータセットを分類するために使用されます。 クラスタリングアルゴリズムは、特定のデータポイント間の相違点と類似点を見つけるために、データセット全体に適用されます。 これは、大勢の顧客の中から同じ年齢の人々を指摘するために使用できます。 回帰アルゴリズムは、入力データに応じて将来の結果を予測するのに役立ちます。 たとえば、回帰アルゴリズムを使用して、天気を予測するためのモデルを設計できます。