機械学習における情報獲得
1. 序章
このチュートリアルでは、情報ゲインについて説明します。エントロピーの観点から説明します。これは、機械学習を含む多くの科学および工学分野で応用された情報理論の概念です。 X234X]。 次に、それを使用して決定木に適合させる方法を示します。
2. 情報
直感的には、情報とは、システム、プロセス、または現象に関する知識を向上させるものです。 しかし、知識とは何ですか?
哲学的な詳細はさておき、それは不確実性の鏡像であると言えます。 私たちが何かについて確信を持っているほど、私たちの知識は大きくなります。 逆もまた真であり、それが情報理論の核心です。
次の質問は、不確実性と情報をどのように定量化するかです。 例で示しましょう。
2.1. 例:不確実性と情報
1つの赤と2つの白のボールを含む不透明なボックスを考えてみましょう。 そこからランダムにボールを引く人は誰でも、赤いボールを手に入れ、白いボールを引くチャンスがあります。 色については定かではありませんが、次の確率変数を使用して、結果とその可能性を説明できます。
(1)
さて、誰かが赤いボールを描いたことがわかった場合、私たちが得ることができる色についての不確実性はありません:
(2)
誰かが赤いボールを描いたことを知って受け取った情報の量は、確率モデル( 2 )と( 1 )の違いです。 より具体的には、エントロピーで測定する不確実性の違いです。
2.2. エントロピ
情報理論では、エントロピーは確率の関数です。 これは、不確実性の尺度が満たす必要があると予想される3つの条件を満たすものです。
で連続です。 この条件により、小さな変化があったとしても、不確実性が大きく変動することはありません。
確率がすべて等しい場合()、不確実性は成長するにつれて増加するはずです。数学的には、。で単調である必要があります。 これは直感的です。結果が多ければ多いほど、それらのいずれかが発生するかどうかが不確実になります。
ついに、
Shannon は、これらの条件を満たす唯一の関数が次のとおりであることを示しました。
(3)
そこには定数があり、すべての対数は同じ底を持っています。 通常、2進対数を使用します。 そう:
(4)
2.3. 情報量はエントロピーの違いです
エントロピーを計算する必要があるので、
正式には、それが情報を学習する前に私たちの信念体系をモデル化する確率変数であるとしましょう。 更新された信念の状態(後)で示し、確率に加えて作用できるように表記を伸ばしましょう。
その場合の情報量は次のとおりです。
(5)
2.4. 例:情報量の計算
最初に1つの赤と2つの白のボールが入っていた箱から誰かが赤いボールを引いたことを調べて、得られる情報量を計算してみましょう。
情報の前のエントロピーは次のとおりです。
後のエントロピーは次のとおりです。
したがって、情報量はです。 この場合、情報によって不確実性が排除されたため、最大額を受け取りました。
誰かが赤いボールの代わりに白いボールを描いたと言ったらどうしますか? 確率は次のようにシフトします。
(6)
したがって、新しいエントロピーは次のようになります。
金額は現在、負の数です。 しかし、待ってください。情報は不確実性を減らすべきだと言っていませんか? 理想的にはそうなるでしょう。私たちは、不確実性を減らす情報だけを受け取ります。 ただし、すべての情報がそのようなわけではありません。 いくつかは私たちをより不確実にする可能性があり、そのような情報の量はマイナスになります。
そのため、情報の前後のエントロピーの差として量を定義しました。その逆ではありません。 そうすれば、正の数は知識の増加(つまり、不確実性の減少)を表すようになり、より直感的になります。
そこから、情報は、何らかのプロセスまたは現象に関する確率モデルに影響を与えるものであることがわかります。 その寄与は、不確実性を減少させる場合は正であり、そうでない場合は負です。
3. 情報獲得
エントロピーと情報量の計算方法がわかったので、情報ゲインを定義できます。 決定木のコンテキストでそれを行います。
3.1. デシジョンツリー
決定木の各内部ノードで、オブジェクトの特徴を検査します。 その値に応じて、ノードのサブツリーの1つにアクセスします。
葉に当たるまでこの手順を繰り返します。 リーフノードは機能をチェックせず、それぞれにトレーニングデータのサブセットが含まれています。 リーフに到達したら、そのオブジェクトをリーフのデータサブセットのmajorityクラスに割り当てます。
3.2. 情報獲得
デシジョンツリーを構築するには、どのノードでどの機能をチェックするかを決定する必要があります。 たとえば、未使用の機能が2つあるとします。と、両方ともバイナリです。 また、5つのオブジェクトがあり、そのうち2つはポジティブです。
新しいノードを追加するには、どの機能をテストする必要がありますか?
3.3. まず、エントロピーを計算します
この例では、新しいノードを追加する前のエントロピーは次のとおりです。
これは、ランダムオブジェクトのクラスの不確実性の尺度です(前のチェックでツリーのこのポイントに到達したと仮定します)。新しいノードのテスト機能として選択すると、2つのサブツリーが取得されます。の2つのサブセットをカバーします:
それらのエントロピーは次のとおりです。
3.4. 次に、ゲインを計算します
情報の獲得は、機能をチェックすることによって得られる予想される情報量です。
とをそれぞれの周波数とで定義します。
の同じ計算は、そのゲインが次のとおりであることを示しています。
以来、新しいノードを作成することを選択します。
ご覧のとおり、サブセットの純度を最大化する分割を優先して、それぞれがその多数派クラスの分数を可能な限り高くします。
3.5. 方式
の計算は、一般的な場合のゲインの式を示しています。 新しいノードを作成して、分割するデータセットを示します。 属性が値を取ることができると仮定しましょう:、そしてそれは。でのオブジェクトの割合です。 次に、の情報ゲインはです。
(7)
個々の情報がマイナスの影響を与える可能性があるとしても、ゲインをマイナスにすることはできません。
4. 結論
この記事では、情報ゲインの計算方法を示しました。また、情報理論のエントロピーとその不確実性との関係についても説明しました。