プロクラシスト

みんなのProcrastination(先延ばし、回り道)を少しでも有意義に。

MENU

【可視化】カルバックライブラーなど分布の差を表す指標の違い

世の中には、分布の差を表す指標が幾つかあります。それらの違いって数式ではわかるけど、実際にはどんな違いがあるかっていまいちわからないことが多いのです。なので、今回はそれらを可視化してみることにしました。

  • 正規分布
    { \displaystyle
N(x|\mu,\sigma) = \frac{1}{\sqrt{2\pi{\sigma}^2}}\exp\left({-\frac{{(x-\mu)}^2}{2{\sigma}^2}}\right)
}
    最も基本的な分布です。平均と、平均からの散らばり具合である分散を与えることで、分布が得られます。 今回はこれを分布とします。

扱う指標(数式)

  • Histogram Intersection
    { \displaystyle
D_{HI}(p,q) = \sum_i \mathrm{min}(p,q)}
    2つの分布の共通領域を算出します。 ヒストグラムのような離散値に使います。細かく空間を区切ってやれば連続値にも使えそう。 なお、次から紹介する量は差なのに対し、HIは類似度であるため、高いほうが近いというものになっています。

  • KLダイバージェンス
    { \displaystyle
D_{KL}(p||q) = \int_{-\infty}^{\infty}p(x)\log{\frac{p(x)}{q(x)}}dx
}
    非対称(pとqは交換できない)なため、こういう表記にします。相対エントロピーなどの概念に基づき、 2つの分布間の距離を計算します。

  • JSダイバージェンス
    { \displaystyle
m(x) = \frac{p(x)+q(x)}{2}
} { \displaystyle
D_{JS}(p,q) = \frac{D_{KL}(p||m)+D_{KL}(p||m)}{2}
}
    KLの改良版です。KLは非対称だったのに対して、JSダイバージェンスはp,qに対して対称性があります。

  • L1ノルム
    { \displaystyle
D_{L1}(p,q) = \int_{\infty}^{\infty}|p-q|dx
}
    誤差の絶対値の和です

  • L2ノルム
    { \displaystyle
D_{L1}(p,q) = \int_{\infty}^{\infty}(p-q)^2dx
}
    二乗誤差の和です

【可視化その1】正規分布と、各指標を可視化

今回用いた正規分布

  • { \displaystyle N(x|2,2)} (緑)
  • { \displaystyle N(x|-2,2)} (青)

の二種類です。それぞれの可視化結果はグラフのとおりです。 実際には、各点の差をグラフ化しているので、それぞれのグラフの面積が↑で定義した指標に値します。

各指標によって微妙に違う結果になったりしています。

f:id:imslotter:20161019224424p:plain

【可視化その2】各指標と分布の平均をズラしたときの関係

今度は、実際に積分した指標を見ていきます。

  • { \displaystyle N(x|0,1)} (緑)
  • { \displaystyle N(x|\mu,1)} (青)

の2つのズレを見ます。この時、{ \displaystyle \mu} の値を-10から10まで動かす(↓の動画)とき、各指標がどのくらい反応するかと言うのを見てみましょう。

f:id:imslotter:20161022133925g:plain

結果

f:id:imslotter:20161019224426p:plain

HIだけは、類似度なので逆数で取ってみました。

  • KL は敏感に反応する->小さな平均の差でも大きな値となる
  • L1ノルムは立ち上がりは早いがある程度離れたら治まる
  • L2ノルムとJSは似たような傾向。L2のが反応は鈍い

などのことが見て取れます

【可視化その3】各指標と分布の分散をズラしたときの関係

最後に平均は固定して分散を動かした時に指標にどういう影響があるかを見てみます。

  • { \displaystyle N(x|0,3)} (緑)
  • { \displaystyle N(x|0,\sigma)} (青)

の2つのズレを見ます。この時、{ \displaystyle \sigma} の値を1から5まで動かす(↓の動画)とき、各指標がどのくらい反応するかと言うのを見てみましょう。

f:id:imslotter:20161022133922g:plain

結果

f:id:imslotter:20161019224428p:plain

  • 全体的に、尖った分布のほうが影響が大きい
    • KLとL1は分散が小さいところでの影響が大きい
    • 一方で、JSやL2に関してはあまり差はない

※追記(11/18)

f-divergenceと言うのがあって,それについてqiitaでかいてみました. α-divergenceと言うのを使うと,KL-divergenceなどのdivergenceをまとめられるようです. 確率分布同士を比べる方法は,まだまだあるようですね.勉強勉強!!

この記事に興味がある人はQiitaの記事もどうぞ