らんだむな記憶

blogというものを体験してみようか!的なー

決定木 (3)

情報理論」の話を思い出すと情報量はエントロピーの差で測られた。つまり不確定度の差が情報量ということであった。不純度もまた、不純度の差が情報利得ということのようである。ある程度同一視して、不純度が高いということは不確定度が高いことだと考えたほうが良いのかもしれない。(不確定度も不純度も絶対的な値として定義されるとピンと来ないが、差が情報量になるのは何となく受け入れやすい気がする。)

ざっくりと天気予報の話を続けると、晴れ (Sunny), 曇り (Cloudy), 雨 (Rainy) ということで、クラスとして S, C, R といったものが考えられると思う。この時、天気を分類する子ノード $N_\text{雨}$ に注目すると、このノードでのエントロピー

$$
I_H(N_R) = - p(S | N_R) \log_2 p(S | N_R) - p(C | N_R) \log_2 p(C | N_R) - p(R | N_R) \log_2 p(R | N_R)
$$

となるようだ。ここで $p(\text{晴れ} | N_\text{雨})$ はノード $N_\text{雨}$ において晴れのデータが混入している割合・・・ということらしい。
まぁ、1/3 ずつ混じってたらエントロピーは最大になるので、このノードの不確実度 = 不純度は最大ということで、なんとなく分かるような分からないような気はする。きっちり「雨」だけが入っていればエントロピーは 0 になる。

ところで、強烈に誤分類して全部「晴れ」が入っていてもエントロピーは 0 なので少し気になるところではある。つまり、$p(\text{晴れ} | N_\text{曇り}) = p(\text{曇り} | N_\text{雨}) = p(\text{雨} | N_\text{晴れ}) = 1$ でも子ノードらのエントロピーは 0 であり従って不純度も 0 であり、情報利得は最大化される。この場合ノード名を変えたら良いのかもしれないが・・・。

ここまでくると、何となくエントロピーも一種の不純度を測る指標のように思えてくる。ここで、

f:id:derwind:20220325230856p:plain

を見ると*1、Gini 不純度や分類誤差もなんとなくエントロピー的な振る舞いをしている *2 ので、代用品として使えそうな気がしてくる。そうなってくると計算コストが低いものを使うのが良いだろう。エントロピーは対数計算が入るので少し計算が重そうだ。

*1:カステラ本の p.309 FIGURE 9.3. でも良い。

*2:特に 0.5 倍したもの。