情報理論関連をぐだぐだと

情報理論関係を勉強中の筆者がそれっぽいことを書くブログ

2章の補足で言いたかったこと(確率変数、分布での変数変換について)

本の紹介

異常検知と変化検知 (機械学習プロフェッショナルシリーズ)

異常検知と変化検知 (機械学習プロフェッショナルシリーズ)

の2章の補足のときに言いたかったことをつらつらと。

設定

 \mathcal{X,Y}を適当な集合として、与えられているものとする。 また、 \mathcal{P(X),P(Y)}をそれぞれ \mathcal{X,Y}上の確率分布全体の集合とする。確率分布の定義は

bocchi-talks-information.hatenablog.com

に書いたとおり。

条件付確率または、通信路

写像 W: \mathcal{X} \to \mathcal{P(Y)}(の xでの値 W(y|x))を xで条件付けられた \mathcal{Y}上の条件付分布と呼ぶ。 あるいは、写像 W \mathcal{X}から \mathcal{Y}への通信路*1と呼ぶ。

同時分布と周辺分布

通信路を用いて、以下の同時分布や周辺分布が定義できる。

 \mathcal{X}上の確率分布p \in \mathcal{P(X)}と通信路 W: \mathcal{X} \to \mathcal{P(Y)}が与えられているとき、 \mathcal{X}\times\mathcal{Y}上の同時分布p \in \mathcal{P(X}\times\mathcal{Y)}{ \displaystyle
 p(x,y) = p(x)W(y|x)
} で定義される。

また、同時分布p \in \mathcal{P(X}\times\mathcal{Y)}が与えられたとき、 { \displaystyle
 p(x) = \sum_{y \in \mathcal{Y}}p(x, y)
}{ \displaystyle
 p(y) = \sum_{x \in \mathcal{X}}p(x, y)
} を同時分布p(x,y) から得られた周辺分布と呼び、この同時分布から周辺分布を得る操作を周辺化と呼ぶ。

Markov morphism

通信路 W: \mathcal{X} \to \mathcal{P(Y)}が一つ与えられると、写像 \Gamma_W: \mathcal{P(X)} \to \mathcal{P(Y)}が次のように定義できる。

{ \displaystyle
 \Gamma_W: p(x) \mapsto \Gamma_W(p)(y) = \sum_{x \in \mathcal{X}} p(x) W(y|x)
}

この写像 \Gamma_WMarkov morphismと呼ばれ、\lambda[0,1]上の数として、p_1, p_2 \in \mathcal{P(X)}としたときに、

{ \displaystyle
 \Gamma_W( \lambda p_1 + (1 - \lambda) p_2) = \lambda \Gamma_W(p_1) + (1 - \lambda) \Gamma_W(p_2)
}

と凸結合に対して閉じているという性質を持っている*2

また、Markov morphismは \mathcal{X}から \mathcal{Y}への確率変数、分布の意味での変数変換となっている。

写像と通信路

ここでは、写像は通信路の特殊例だと言うことを説明する。

まず、一点分布と言う特殊な分布を考える。一点分布とは、ある一点に確率が集中していて、他のところの確率が0になるような確率分布のこと。 イメージとしては、1しかでないサイコロや表しかでないコイントスの持つ確率分布と思ってもらうといい。

さて、集合 \mathcal{Y}上の一点分布全体のなす集合 \mathcal{P_1(Y)} = \{ p \in \mathcal{P(Y)}| p {\rm \ is\ a\ one-point\ distribution}\}を考える。 まず、明らかに \mathcal{P_1(Y)} \subset \mathcal{P(Y)}。 次に、一点分布はある一点を選んでそこに確率を集中させるので、集合 \mathcal{Y}と集合 \mathcal{P_1(Y)}には自明な全単射(1対1対応)がある。 具体的には、

{ \displaystyle
y_0 \in \mathcal{Y} \mapsto p_{y_0}(y_0) = 1 \in  \mathcal{P_1(Y)}
}

というもの*3

ここで、写像 f: \mathcal{X} \to \mathcal{Y}を考える。集合 \mathcal{Y}と集合 \mathcal{P_1(Y)}には自明な全単射(1対1対応)があったから、写像 f: \mathcal{X} \to \mathcal{Y}写像 W_f: \mathcal{X} \to \mathcal{P_1(Y)}にも自明な全単射(1対1対応)がある。 また、 \mathcal{P_1(Y)} \subset \mathcal{P(Y)}なのだから、写像 W_fは通信路なのが分かる。

2章の補足は何だったのか?

一言で言ってしまえば、

写像に対応する通信路に関するMarkov morphismを用いた変数変換。」

当然、今まで説明してきたように通信路があれば、その通信路が写像に対応していなくても、通信路に関するMarkov morphismを用いた変数変換ができるので、 あの話はもう少し広いクラスに拡張することができる。

*1:確率変数 X,Yを考えて、 Xから Yへの通信路と呼ぶのが普通。ただし、見て分かるとおり通信路の定義には確率変数 Xはいらない( \mathcal{X}上の確率分布は必要ない)。

*2:この凸結合に対して閉じるという性質からMarkov morphismを定義することもできる。

*3: \mathcal{Y}が連続的な場合、デルタ関数を用いてあらわせる。

Neyman-Pearsonの補題の証明周りについて

第一回勉強会の補足。約束したものの中から一番簡単なものを。

本の紹介

現代数理統計学 (創文社現代経済学選書)

現代数理統計学 (創文社現代経済学選書)

のp.168あたりに書かれている内容を読みながら補足する*1

問題設定

集合 \mathcal{X}が与えられているとする。また、 \mathcal{X}上の分布(仮説)p,q \in  \mathcal{P(X)}も与えられているとし、 それぞれpが主仮説の分布、qが対立する仮説の分布とする。

ここで、関数g :  \mathcal{X} \to [0, 1] 検定(Test)と呼び*2、意味はデータ xが得られたときに確率 g(x)で、pの仮説を棄却するというもの。

この検定には良いものと良くないものがあって、例えば、次の尺度で評価する。

第一種誤り確率
{ \displaystyle
 {\rm Pe}_1(g)= \sum_{x \in \mathcal{X}} p(x) g(x)
}

これは、真の仮説がpのときに、それを支持しない確率。

第二種誤り確率
{ \displaystyle
 {\rm Pe}_2(g)= \sum_{x \in \mathcal{X}} q(x) (1 - g(x))
}

これは、真の仮説がqのときに、それを支持しない確率。

良い検定

検定論における伝統的な考え方は第1種の過誤を与えられた有意水準 \alpha以下におさえたうえで、対立仮説のもとでの検出力を最大にするものである。

なので、{\rm Pe}_1(g)\leq\alphaのもとで、 1 - {\rm Pe}_2(g) = \sum_{x \in \mathcal{X}} q(x) g(x)を最大化する検定gが良い検定で、この最大化する検定は最強力検定と呼ばれる。

Neyman-Pearsonの補題

次のNeyman-Pearsonの補題は、(単純)仮説検定の枠組みで、最強力検定の存在を述べている。

非負の数c \geq 0 [0,1]上の実数 rが与えられているとする。このとき、
{ \displaystyle
 g^*_{c,r}(x) = 
    \left\{ \begin{array}{ll}
    1 \\& ( p(x) - c q(x) \lt 0) \\
r \\& ( p(x) - c q(x) = 0) \\
0 \\& ( p(x) - c q(x) \gt 0) \\
  \end{array} \right.
}
と言う検定を考える。この検定のもとでの第一種誤り確率{\rm Pe}_1(g^*_{c,r})\alphaとすると、

有意水準 \alphaの検定の中でg^*_{c,r}が最強力検定である。
証明

証明に次の補題を用いる。

実数への関数f: \mathcal{X} \to \mathbb{R} [0,1]への関数g :  \mathcal{X} \to [0, 1] に対して、
{ \displaystyle
\sum_{x\in\mathcal{X}} f(x)g(x) \geq \sum_{x\in\mathcal{X}} f(x) 1\{f(x) \lt 0\}
}
が成り立つ。ここで、1\{\ \}は指示関数と呼ばれ、

括弧中の命題が真のとき1を返し、それ以外のとき0を返す \mathcal{X}上の関数である。

言ってしまえば、

「関数f(x)の重みつき足し合わせは、負の部分だけを足し合わせたものが最も小さい」

というものである。このことを数式で表すと上の補題になる。この補題から、次が言える。

{ \displaystyle
\begin{align}
\sum_{x\in\mathcal{X}} (p(x) - c q(x))g(x) &\geq \sum_{x\in\mathcal{X}} (p(x) - c q(x)) 1\{(p(x) - c q(x)) \lt 0\}\\
& =  \sum_{x\in\mathcal{X}} (p(x) - c q(x)) 1\{(p(x) - c q(x)) \lt 0\} \\
&\ \ \ \ \ + r \sum_{x\in\mathcal{X}} (p(x) - c q(x)) 1\{(p(x) - c q(x)) = 0\}\\
& = \sum_{x\in\mathcal{X}} (p(x) - c q(x))g^*_{c,r}(x)
\end{align}
}

2つ目の式が等式で結ばれるのは、(p(x) - c q(x)) 1\{(p(x) - c q(x)) = 0\} = 0 によっている。 また、3つ目の式は、

{ \displaystyle
g^*_{c,r}(x) =  1\{(p(x) - c q(x)) \lt 0\} + r 1\{(p(x) - c q(x)) = 0\}
}

による。さて、得られた式を移項して整理すると、次が言える。

{ \displaystyle
c \sum_{x\in\mathcal{X}} q(x)(g^*_{c,r}(x) - g(x)) \geq \sum_{x\in\mathcal{X}} p(x) g^*_{c,r}(x) - \sum_{x\in\mathcal{X}} p(x)g(x)
}

右辺第一項は定義より\alpha、第二項は最適化の設定から\alpha以下なのだから、

右辺は0以上なのが分かる。

ここから、\sum_{x\in\mathcal{X}} q(x)g^*_{c,r}(x) \geq \sum_{x\in\mathcal{X}} q(x)g(x)が言え、

有意水準 \alphaの検定の中でg^*_{c,r}が最強力検定なのがいえた。

*1:扱っている内容が単純仮説なので、かなり簡略化して説明する。

*2:正確には確率化検定と呼ばれる。0と1にしか値をとらない決定論的検定もある。

異常検知、あるいは二値仮説検定について

本の紹介

今日、夕方から

異常検知と変化検知 (機械学習プロフェッショナルシリーズ)

異常検知と変化検知 (機械学習プロフェッショナルシリーズ)

の勉強会があるので、予習もかねて。

異常検知とは?

タイトルにもあるとおり、言ってしまえば二値の仮説検定そのもの。

「異常」か、「正常」かということをデータから判断する。

仮説検定とは?

通常、帰無仮説がどうとか、対立仮説がどうとかいう話が出てくるけれど、ここではそう言った構成はせず、次のように考える。

 \mathcal{X}適当な集合として、与えられているものとする。感覚的にはデータの取り得る値の集合なので、データ集合と呼ぶことにする。

 \mathcal{P(X)}をデータ集合 \mathcal{X}上の確率分布全体のなす集合とする。 \mathcal{P(X)}の要素 p \in \mathcal{P(X)} \mathcal{X}上の確率分布。

確率分布 p \in \mathcal{P(X)}とは \mathcal{X}から非負の実数(0以上の実数) \mathbb{R}_+への関数で、

{ \displaystyle
\sum_{x \in \mathcal{X}} p(x) = 1
}

あるいは、

{ \displaystyle
\int_{\mathcal{X}} p(x) dx = 1
}

を満たすものをさす。*1

ここで、 \mathcal{P(X)}の要素 p \in \mathcal{P(X)}仮説と呼ぶことにする。

二値仮説検定とは、得られたデータ x \in \mathcal{X}が与えられた2つの仮説 p,q \in \mathcal{P(X)}のどちらから得られたか(実現したか)を推定する問題。

異常検知の観点から言えば、対象が正常なときにデータが従う分布 p \in \mathcal{P(X)}と、対象が異常なときにデータが従う分布 q \in \mathcal{P(X)}が与えられたときに、 得られたデータ x \in \mathcal{X}が正常か異常かを判断する問題。

決定的な解決策*2

基本的な考え方は、データ集合 \mathcal{X}を与えられた2つの仮説 p,q \in \mathcal{P(X)}を用いて2つに分けてしまうことにある。

具体的には、集合 A_p = \{x \in \mathcal{X} | p(x) \geq q(x)\}と集合 A_q = \{x \in \mathcal{X} | p(x) \lt q(x)\}に分けたり(ベイズ決定則)、 ある非負の数 c \in \mathbb{R}_+を用いて、集合 A_p = \{x \in \mathcal{X} | p(x) \geq cq(x)\}と集合 A_q = \{x \in \mathcal{X} | p(x) \lt cq(x)\}に分けたり(ネイマン-ピアソン決定則)する。

ここで、得られたデータ x \in \mathcal{X} A_pに入っていれば、 pを支持(正常であると判断)し、逆に A_qに入っていれば、 qを支持(異常であると判断)する。

大きな問題、それは…

実際に異常検知を行おうとするときには、このフレームワークでは大きな問題がある。 それは、通常2つの仮説 p,q \in \mathcal{P(X)}は与えられないということ。

ではどうするかと言うと、これまで得られているデータ列から、2つの仮説 p,q \in \mathcal{P(X)}、または、正常な方の仮説 p \in \mathcal{P(X)}を推定することになる*3

推定問題は検定問題とは似ているけれども全く別の問題。勉強会までの時間もないので後日書くことにする。

*1:前者は \mathcal{X}が離散的であった場合、後者は適当な位相の元で連続であった場合。

*2:あまり使われないだろうけど理論的には確率的な解決策もある。

*3:この場合は、異常な方は一様分布など無学習な分布を選ぶことになる。

Texが使えるらしいのでテスト

texが使える?使えない?

Hatena blogならtexが使えると聞いて練習中。

たとえば、

{ \displaystyle
{\rm det}(A) = \sum_{\sigma \in \mathscr{S}(N)}{\rm sgn}(\sigma) \prod_i a_i
}

が書けるのに

[tex:{ \displaystyle {\rm det}(A) = \sum{\sigma \in \mathscr{S}(N)}{\rm sgn}(\sigma) \prod_i a{i} }]

が書けないのはなぜ?*1

と気になるところもありますが、 記事の内容的にせいぜいガウス分布

[tex:{ \displaystyle \mathcal{N}(x | \mu, \sigma) = \frac{1}{(\sqrt{2 \pi} \sigma)} {\rm exp} \left(- \frac{(x - \mu)2}{2 \sigma2}\right) }]

が書ければいいんだけど、これも書けないのか。

解決法

書けない理由は分からないけれど、解決法はありました。

やまいもさんの記事 TeXをMarkdown記法でも使ってみた。 - いものやま。

によれば、<pre> </pre>で囲えばよいとのこと。

つまり、

<pre>
[tex:{ \displaystyle
{\rm det}(A) = \sum_{\sigma \in \mathscr{S}(N)}{\rm sgn}(\sigma) \prod_{i = 1}^ n a_{i \sigma(i)}
}]
</pre>

<pre>
[tex:{ \displaystyle
\mathcal{N}(x | \mu, \sigma) = \frac{1}{(\sqrt{2 \pi} \sigma)} {\rm exp} \left(- \frac{(x - \mu)^2}{2 \sigma^2}\right)
}]
</pre>

とすれば、

{ \displaystyle
{\rm det}(A) = \sum_{\sigma \in \mathscr{S}(N)}{\rm sgn}(\sigma) \prod_{i = 1}^ n a_{i, \sigma(i)}
}
{ \displaystyle
\mathcal{N}(x | \mu, \sigma) = \frac{1}{(\sqrt{2 \pi} \sigma)} {\rm exp} \left(- \frac{(x - \mu)^2}{2 \sigma^2}\right)
}

となる!

これを利用して少しずつ記事を書いていくつもりです。

*1:両者とも間違っている式ですが、そもそも下が書けないと正しい式が書けないので