ML 用語集: デシジョン フォレスト

このページでは、デシジョン フォレストの用語集について説明します。用語集のすべての用語については、こちらをクリックしてください。

A

属性サンプリング

#df

ディシジョン フォレストをトレーニングするための戦術。各ディシジョン ツリーでは、条件を学習する際に、可能な特徴量のランダムなサブセットのみを考慮します。一般に、ノードごとに異なる特徴のサブセットがサンプリングされます。一方、属性サンプリングなしでディシジョン ツリーをトレーニングする場合は、各ノードで考えられるすべての特徴が考慮されます。

軸に平行な状態

#df

ディシジョン ツリー内の条件には、1 つの特徴のみが含まれます。たとえば、面積が対象物の場合、軸に平行な条件は次のようになります。

area > 200

傾斜条件とは対照的です。

B

バッグ

#df

アンサンブルトレーニングする方法。各構成要素モデルは、置換によってサンプリングされたトレーニング例のランダムなサブセットでトレーニングを行います。たとえば、ランダム フォレストは、バギングでトレーニングされたディシジョン ツリーのコレクションです。

「バギング」という用語は、ブーストストラップのアグリゲーションの略です。

バイナリ条件

#df

ディシジョン ツリーで、考えられる結果の 2 つ(通常は yes または no)のみを持つ条件。たとえば、バイナリ条件は次のとおりです。

temperature >= 100

非バイナリ条件と対比してください。

C

商品の状態(condition)

#df

ディシジョン ツリー内で式を評価するノード。たとえば、ディシジョン ツリーの次の部分には 2 つの条件が含まれています。

(x > 0) と (y > 0) の 2 つの条件で構成されるディシジョン ツリー。

条件は分割またはテストとも呼ばれます。

条件を leaf と対比します。

関連項目:

D

デシジョン フォレスト

#df

複数のディシジョン ツリーから作成されたモデル。デシジョン フォレストは、ディシジョン ツリーの予測を集計して予測を行います。一般的なデシジョン フォレストには、ランダム フォレスト勾配ブーストツリーなどがあります。

ディシジョン ツリー

#df

教師あり学習モデルは一連のconditionsで構成され、conditionsたとえば、次のようなディシジョン ツリーを示します。

階層的に並べられた 4 つの条件から構成されるディシジョン ツリー。5 つのリーフが作成されます。

E

エントロピー

#df

情報理論では、確率分布がどの程度予測不可能であるかを記述します。また、エントロピーは、各に含まれる情報の量として定義されます。確率変数のすべての値が等しく確率が高い場合、分布のエントロピーは最も大きくなります。

「0」と「1」の 2 つの値を持つセット(バイナリ分類問題のラベルなど)のエントロピーは次のようになります。

  H = -p log p - q log q = -p log p - (1-p) * ログ (1-p)

ここで

  • H はエントロピーです。
  • p はサンプル「1」の割合です。
  • q はサンプル「0」の割合です。q = (1 - p) となることに注意してください。
  • log は通常、log2 です。この場合 エントロピー単位は ビットです

たとえば、次のように仮定します。

  • 100 件のサンプルに値「1」が含まれています
  • 300 件のサンプルに値「0」が含まれています

したがって、エントロピー値は次のようになります。

  • p = 0.25
  • q = 0.75
  • H = (-0.25)log2(0.25) - (0.75)log2(0.75) = 0.81 ビット(サンプルあたり)

完全にバランスが取れたセット(たとえば、200 個の「0」と 200 個の「1」)は、1 つのサンプルにつき 1.0 ビットのエントロピーを持ちます。集合の不均衡が大きくなると、エントロピーは 0.0 に向かって進みます。

ディシジョン ツリーでは、エントロピーは情報ゲインの定式化に役立ち、分類ディシジョン ツリーの成長中にスプリッター条件を選択できるようにします。

エントロピーを次と比較する:

エントロピーはシャノンのエントロピーといいます

F

特徴の重要度

#df

変数の重要度と同義です。

1 階

ジニ不純物

#df

エントロピーに似た指標。スプリッターは、ジニ不純物またはエントロピーから導出された値を使用して、分類ディシジョン ツリー条件を構成します。情報ゲインはエントロピーから導出されます。ジニ不純物から派生した指標を表す普遍的に認められている用語はありませんが、この名前のない指標は情報利得と同じくらい重要です。

ジニ不純物は、「ジニ指数」または単に「ジニ」とも呼ばれます。

勾配ブースト(決定)ツリー(GBT)

#df

ディシジョン フォレストの一種で、次の特徴があります。

勾配ブースト

#df

弱いモデルを繰り返しトレーニングして、強力なモデルの品質を改善(損失を削減)するトレーニング アルゴリズム。たとえば、弱いモデルは線形または小さなディシジョン ツリー モデルです。強力なモデルは、以前にトレーニングされたすべての弱いモデルの合計になります。

最も単純な勾配ブーストでは、反復処理のたびに弱いモデルがトレーニングされ、強モデルの損失勾配を予測します。その後、勾配降下法と同様に、予測された勾配を差し引いて強モデルの出力が更新されます。

$$F_{0} = 0$$ $$F_{i+1} = F_i - \xi f_i $$

ここで

  • $F_{0}$ が最初の強力なモデルです。
  • $F_{i+1}$ は次の強力なモデルです。
  • $F_{i}$ が現在の強力なモデルです。
  • $\xi$ は収縮と呼ばれる 0.0 ~ 1.0 の値で、勾配降下法の学習率に似ています。
  • $f_{i}$ は、$F_{i}$ の損失勾配を予測するようにトレーニングされた弱いモデルです。

勾配ブーストの最新のバリエーションには、計算における損失の 2 次微分(ヘッシアン)も含まれます。

ディシジョン ツリーは、勾配ブーストの弱いモデルとしてよく使用されます。勾配ブースト(決定)ツリーをご覧ください。

I

推論パス

#df

ディシジョン ツリーでは、推論中に、特定のルートから他の条件にたどり、リーフで終了します。たとえば、次のディシジョン ツリーでは、太い矢印が次の特徴値を持つ例の推論パスを示しています。

  • x = 7
  • y = 12
  • z = -3

次の図の推論パスは、リーフに達する前に 3 つの条件を通過します(Zeta)。

4 つの条件と 5 つのリーフで構成されるディシジョン ツリー。根条件は (x > 0) です。答えは「はい」であるため、推論パスはルートから次の条件(y > 0)に進みます。答えが「はい」であるため、推論パスは次の条件(z > 0)に進みます。答えは「いいえ」であるため、推論パスはその終端ノードであるリーフ(Zeta)に移動します。

太い 3 本の矢印は推論の経路を示しています。

情報の獲得

#df

デシジョン フォレストでは、ノードのエントロピーと、子ノードのエントロピーの加重合計(サンプル数)との差。ノードのエントロピーは、そのノード内のサンプルのエントロピーです。

たとえば、次のエントロピー値について考えてみます。

  • 親ノードのエントロピー = 0.6
  • 16 個の関連例を持つ 1 つの子ノードのエントロピー = 0.2
  • 24 個の関連サンプルを持つ別の子ノードのエントロピー = 0.1

つまり、サンプルの 40% が一方の子ノードにあり、60% がもう一方の子ノードにあります。そのため、次のようになります。

  • 子ノードの加重エントロピー合計 = (0.4 * 0.2) + (0.6 * 0.1) = 0.14

したがって、得られる情報は次のとおりです。

  • 情報ゲイン = 親ノードのエントロピー - 子ノードの加重エントロピー合計
  • 情報利得 = 0.6 - 0.14 = 0.46

ほとんどのスプリッターは、情報ゲインを最大化する条件を作成しようとします。

セット内の条件

#df

ディシジョン ツリーにおいて、一連のアイテム内に 1 つのアイテムが存在するかどうかをテストする条件。たとえば、インセット条件は次のとおりです。

  house-style in [tudor, colonial, cape]

推論中に、家スタイルの対象物の値が tudorcolonial、または cape の場合、この条件は Yes と評価されます。住宅スタイルの対象物の値がそれ以外(ranch など)の場合、この条件は「いいえ」と評価されます。

インセット条件は通常、ワンホット エンコード機能をテストする条件よりも効率的なディシジョン ツリーになります。

L

#df

ディシジョン ツリー内のエンドポイント。条件とは異なり、リーフはテストを実行しません。むしろ、リーフが予測候補です。リーフは、推論パスの終端ノードでもあります。

たとえば、次のディシジョン ツリーには 3 つのリーフが含まれています。

3 つのリーフにつながる 2 つの条件を持つディシジョン ツリー。

N

ノード(ディシジョン ツリー)

#df

ディシジョン ツリー内の任意の条件またはリーフ

2 つの条件と 3 つのリーフを含むディシジョン ツリー。

非バイナリ条件

#df

3 つ以上の結果を含む条件。たとえば、次の非バイナリ条件には 3 つの結果があります。

3 つの結果につながる条件(number_of_legs = ?)。1 つの結果(number_of_legs = 8)は、spider という名前のリーフになります。2 番目の結果(number_of_legs = 4)では、犬という名前のリーフが返されます。3 番目の結果(number_of_legs = 2)では、penguin という名前の葉が生成されます。

O

斜めの状態

#df

ディシジョン ツリーにおいて、複数の特徴を含む条件。たとえば、高さと幅の両方が特徴の場合、次の条件は斜めになります。

  height > width

軸に平行な条件と対比します。

OOB 評価(OOB 評価)

#df

ディシジョン ツリーを、そのディシジョン ツリーのトレーニング中に使用されないサンプルに対してテストすることで、ディシジョン フォレストの品質を評価するメカニズム。たとえば次の図では、システムが各ディシジョン ツリーを約 3 分の 2 の例でトレーニングし、残りの 3 分の 1 の例に対して評価しています。

3 つのディシジョン ツリーで構成されるディシジョン フォレスト。1 つのディシジョン ツリーでは、3 分の 2 のサンプルでトレーニングを行い、残りの 3 分の 1 を OOB 評価に使用します。2 つ目のディシジョン ツリーは前のディシジョン ツリーとは異なるサンプルの 3 分の 2 でトレーニングし、前のディシジョン ツリーとは異なる 3 分の 1 を OOB 評価に使用します。

バッグ外評価は、交差検証メカニズムの計算効率的で控えめな近似です。交差検証では、交差検証ラウンドごとに 1 つのモデルがトレーニングされます(たとえば、10 回の交差検証では 10 個のモデルがトレーニングされます)。OOB 評価では、1 つのモデルをトレーニングします。バギングではトレーニング中に各ツリーから一部のデータが除外されるため、OOB 評価ではそのデータを使用して交差検証を近似できます。

P

順列の変数の重要度

#df

特徴の値を並べ替えたのモデルの予測誤差の増加を評価する変数の重要度のタイプ。並べ替え変数の重要度は、モデルに依存しない指標です。

R

ランダム フォレスト

#df

ディシジョン ツリーアンサンブル。各ディシジョン ツリーは、バギングなどの特定のランダムノイズでトレーニングされます。

ランダム フォレストはデシジョン フォレストの一種です。

ルート

#df

ディシジョン ツリーの開始ノード(最初の条件)。慣例として、図ではルートをディシジョン ツリーの一番上に配置します。次に例を示します。

2 つの条件と 3 つのリーフを含むディシジョン ツリー。開始条件(x > 2)がルートです。

S

置換によるサンプリング

#df

同じアイテムを複数回選択できる候補アイテムのセットからアイテムを選択するメソッド。「置換あり」とは、各選択の後に、選択されたアイテムが候補アイテムのプールに戻されることを意味します。逆の手法である「置換なしのサンプリング」では、候補アイテムを 1 回だけ選択できます。

たとえば、次のフルーツ セットについて考えてみましょう。

fruit = {kiwi, apple, pear, fig, cherry, lime, mango}

システムが最初の項目として fig をランダムに選択したとします。置換ありのサンプリングを使用する場合、システムは次のセットから 2 番目の項目を選択します。

fruit = {kiwi, apple, pear, fig, cherry, lime, mango}

はい。これは前と同じセットであるため、システムが再度 fig を選択する可能性があります。

置換なしのサンプリングを使用する場合、一度選択されたサンプルを再度選択することはできません。たとえば、システムが最初のサンプルとして fig をランダムに選択した場合、fig を再度選択することはできません。したがって、システムは次の(リダクションされた)セットから 2 番目のサンプルを選択します。

fruit = {kiwi, apple, pear, cherry, lime, mango}

収縮

#df

過学習を制御する勾配ブーストハイパーパラメータ。勾配ブーストの縮小は、勾配降下法学習率に似ています。収縮率は 0.0 ~ 1.0 の小数値です。収縮の値が小さいほど、収縮の値が大きくなる場合よりも過学習が削減されます。

スプリット

#df

ディシジョン ツリーにおける、条件の別名。

スプリッター

#df

ディシジョン ツリーのトレーニング中に、各ノードで最適な条件を見つけるルーチン(およびアルゴリズム)です。

T

test

#df

ディシジョン ツリーにおける、条件の別名。

しきい値(ディシジョン ツリー用)

#df

軸に平行な条件では、特徴の比較対象となる値です。たとえば、次の条件のしきい値は 75 です。

grade >= 75

V

変数の重要度

#df

モデルに対する各特徴の相対的な重要度を示す一連のスコア。

たとえば、住宅価格を見積もるディシジョン ツリーについて考えてみましょう。このディシジョン ツリーでサイズ、年齢、スタイルの 3 つの特徴を使用するとします。3 つの対象物の変数の重要度のセットが {size=5.8, age=2.5, style=4.7} と計算された場合、ディシジョン ツリーでは年齢やスタイルよりもサイズが重要になります。

さまざまな重要度の指標があり、ML エキスパートはモデルのさまざまな側面について知ることができます。

W

群衆の知恵

#df

大規模なグループ(「群衆」)の意見や推定値を平均化すると、多くの場合、驚くほど良い結果が得られます。たとえば、大きな瓶に入ったゼリー豆の数を推測するゲームについて考えてみましょう。ほとんどの推測は不正確ですが、すべての推測の平均は、驚くほど瓶に入っているジャムの実際の数に近いことが経験的に示されています。

アンサンブルとは、ソフトウェアに例える大衆の知恵です。個々のモデルの予測が非常に不正確であっても、多くのモデルの予測を平均すると、多くの場合、驚くほど良い予測が生成されます。たとえば、個々のディシジョン ツリーでは予測の精度が下がるかもしれませんが、ディシジョン フォレストでは予測の精度が非常に高くなります。