インテル® DAAL 2018 デベロッパー・ガイド

詳細

サイズ pn 特徴ベクトル x1=(x11, ..., x1p), ..., xn=(xn1, ..., xnp)、応答のベクトル y=(y1, ..., yn) で、決定木を作成します。

分割基準

ライブラリーは、分割基準 Gini 係数 [Breiman84] および情報利得 [Quinlan86]、[Mitchell97] に基づく決定木分類アルゴリズムを提供します。詳細は、「分類: 決定木」 > 「詳細」 > 「分割基準」を参照してください。

ライブラリーは、平均二乗誤差 (MSE) に基づく決定木回帰アルゴリズム [Breiman84] も提供します。詳細は、「回帰: 決定木」 > 「詳細」 > 「分割基準」を参照してください。

テストの種類

ライブラリーは、次のテストの種類で決定木を構成します。

  1. 連続特徴では、テストは fj < constant です。ここで、fj は特徴、j {1, ..., p}。

    各連続特徴で可能なすべてのテストを列挙している間、constant は、ノードに達する指定された特徴 fj の一意の値を格納する、連続する値の間の任意のしきい値になります。

  2. カテゴリカル特徴では、テストは fj = constant です。ここで、fj は特徴、j {1, ..., p}。

    各カテゴリカル特徴で可能なすべてのテストを列挙している間、constant は、ノードに達する指定された特徴 fj の任意の値になります。

  3. 順序特徴では、テストは fj < constant です。ここで、fj は特徴、j {1, ..., p}。

    各順序特徴で可能なすべてのテストを列挙している間、constant は、ノードに達する指定された特徴 fj の (昇順で) 最初の値を除く任意の値になります。

事後枝刈り

オプションで、決定木は、サイズ pm 特徴ベクトル x1pruning = (x1 1pruning, …, x1 ppruning), …, xmpruning = (xm1pruning, …, xmppruning)、クラスラベルのベクトル ypruning = (y1pruning, …, ympruning) (分類の場合) または応答のベクトル ypruning = (y1pruning, …, ympruning) (回帰の場合) を使用して事後枝刈りを行うことができます。枝刈りの詳細は、[Quinlan87] を参照してください。

枝刈りされたデータセットはオリジナルの訓練データセットの一部 (例えば、ランダムに選択された観測数の 30%) になることがありますが、この場合は、それらの観測数を訓練データセットから除外する必要があります。

訓練段階

ライブラリーは、訓練段階に次のアルゴリズム・フレームワークを使用します。

決定木は、訓練データセット全体に対応する根ノードから再帰的に成長します。このプロセスは、事前枝刈りのパラメーター「最大の木の深さ」および「葉ノードの最小観測数」を考慮します。各特徴について、可能なテストがそれぞれ調査され、指定された分離基準に応じて最良のテストになります。最良のテストは、特徴空間をハイパーキューブのセットに分割するために使用されます。各ハイパーキューブは、決定木の次のレベルで各ノードの構築を行う訓練データセットの適切な部分を表します。

決定木を構築した後、過剰適合を回避するため、オプションで誤差低減枝刈り (REP) [Quinlan87] による枝刈りを行うことができます。REP は、個別の枝刈りデータセットがあり、データセットの観測がそれぞれ、オリジナルの (枝刈りされていない) 木による予測を得るために使用されると仮定します。葉以外のすべての部分木について、部分木が最良の葉と置換された場合に生じる枝刈りデータセットに対して、予測ミスの変化が調査されます。



ここで、

新しい木で予測ミスが増えず () 部分木が同じプロパティーの部分木を含まない場合、部分木は葉と置換されます。さらに置換を行うと枝刈りデータセットの予測ミスが増えるまで、プロセスは続行されます。最終的な木は、枝刈りデータセットに関してオリジナルの木の最も精度の高い部分木であり、その精度で最も小さい木です。

訓練プロシージャーには次のステップが含まれます。

  1. 決定木 (部分木) を成長させます。
    • すべての観測点が同じクラスラベル (分類の場合) または同じ従属変数の値 (回帰の場合) を含んでいるか、事前枝刈りパラメーターで決定木を成長させることが許可されていない場合、葉ノードを構築します。
    • その他の場合
      • 各特徴について、指定された特徴値をソートし、可能なすべてのテストについて適切な分割基準を評価します (詳細は、「分割基準」および「テストの種類」を参照)。
      • 最良の分割基準値に対応するテストでノードを構築します。
      • 見つかったテストの出力に応じて観測点を分割し、各分割の決定部分木を再帰的に成長させます。
  2. 決定木の事後枝刈りを行います (詳細は、「事後枝刈り」を参照)

予測段階

ライブラリーは、予測段階に次のアルゴリズム・フレームワークを使用します。

決定木とベクトル x1, …, xr で、これらのベクトルの応答を計算します。

指定された各ベクトル xi について解くため、アルゴリズムは分離ノードでのテストにより xi を調査して、予測応答を含む葉ノードを見つます。