エントロピーと分散の直感的な違い
この記事は直感的理解を助けることを目的とし、正確性に欠くことがある。
分散もエントロピーも、直感的には、どちらも 確率変数の散らばり具合 を表してる。(本当は、散らばり具合という表現はよくないが。)
エントロピーは低ければ低いほど、固まっていて、高ければ高いほど散らばっている。
オナラで例えると、出したばっかは濃厚で、エントロピーが低く、しばらく経つと、広がっていき、エントロピーは高くなっていく。
それでは、分散とエントロピーはどういった違いがあるのか?
確率変数が単峰(uni-modal)な分布に従う場合、分布が尖るほど、エントロピーも分散も小さくなる。
しかし、多峰(multi-modal)な分布の場合、分布が尖ると、分散は高いが、エントロピーは低いとなる可能性がある。それぞれの山の分散が山の間より、十分小さい場合がそう。
以下のコードは、分散が同じだがエントロピーが異なる単峰な分布と、多峰な分布の図を表示する。
n = 100000 x = np.random.normal(-2, 0.1, int(n/2)) y = np.random.normal( 2, 0.1, int(n/2)) z = np.concatenate((x,y)) a = np.random.normal(0, z.std(), n) fa, bins, _ = plt.hist(a, bins=100, label='uni') fz, _, _ = plt.hist(z, bins=bins, label='multi') plt.grid() plt.legend()
from scipy.stats import entropy entropy(fz/n) entropy(fa/n) z.var() a.var() # entropy # 1.6694403507782112 (multi) # 3.8589971158298737 (uni) # # variance # 4.01208858765457 (multi) # 4.000793706567515 (uni)
どちらも、分散は同じだが、エントロピーは異なっている。
話題が若干、変わるが、この2つの分布は、分散だけでなく、平均もほぼ同じ。 しかし、分布の形はかなり異なる。 この2つの分布は、平均と分散だけを見るのは危険、データの可視化は重要ということを示す具体例にもなるだろう。
むちゃくちゃ適当な記事だが、「エントロピーと分散ってどう違うの?」って気になった人の理解の補助となればいい。