このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

同時確率分布の圏

ベイズ確率の計算とかを見てると、どうも2つの圏が同型である事実を使っているようです。そのうちのひとつは、同時確率分布を射とする圏です。この圏はあまり言及されないようなので書いておきます。取り急ぎ定義だけを書くので唐突に感じるかも知れませんが、潜在的には使っている圏です。

内容:

[追記]同時確率分布の圏のなかでの具体的な計算例は:

[/追記]

確率測度と確率分布

話を簡単にするために、有限集合を台とする確率空間だけを考えます。Xを有限集合として、σ集合代数は常にベキ集合Pow(X)とします。写像 μ:Pow(X)→R がX上の確率測度だとは:

  1. 任意の A∈Pow(X) に対して、0≦μ(A)≦1
  2. μ(\emptyset) = 0
  3. A, B∈Pow(X)、A∩B = \emptysetならば、μ(A∪B) = μ(A) + μ(B)

有限集合しか扱わないので、可算加法性は不要です。

p(x) := μ({x}) とすると、pは次の性質を持ちます。

  1. 任意の x∈X に対して、0≦p(x)≦1
  2. Σ(x∈X | p(x)) = 1

上の条件を満たす p:X→R をX上の確率分布と呼びます。pが確率分布のとき、μ(A) := Σ(x∈A | p(x)) と定義すればμは確率測度になります。

このことから、有限集合の上では、確率測度と確率分布は1:1に対応します。

  • p(x) := μ({x}) ⇔ μ(A) := Σ(x∈A | p(x))

ここから先では、確率測度より確率分布を使います。X上の確率分布の全体をPDist(X)とします。Xがn個の要素を持つ集合なら、PDist(X) \stackrel{\sim}{=} {p∈Rn | 0≦pi≦1, Σ(i = 1..n | pi) = 1} です。つまり、X上の確率分布の全体は、“(n - 1)次元の単体”と呼ばれる図形と同じ形状になります。

確率空間、同時確率分布、周辺確率分布

Xを有限集合として、X上の確率分布pをひとつ固定した組(X, p)を確率空間と呼びます。Yも有限集合として、直積集合X×Y上の確率分布を選んで固定しても、もちろん確率空間ができます。直積空間上の確率分布を伝統的に同時確率分布(joint probability distribution)と呼びます。「何と何が同時か?」とか考え込まないで、「同時確率分布=直積空間上の確率分布」と読み替えてください。

rがX×Y上の確率分布、つまり同時確率分布のとき、X上の確率分布とY上の確率分布を次のようにして作ることができます。

  • p(x) = Σ(y∈Y | r(x, y) )
  • q(y) = Σ(x∈X | r(x, y) )

pがX上の確率分布になることは、Σ(x∈X | p(x)) = Σ(x∈X | Σ(y∈Y | r(x, y))) = Σ(x∈X, y∈Y | r(x, y)) = 1 から分かります。qがY上の確率分布になることも同様に分かります。こうして作ったp, qを、rの周辺確率分布(marginal probability distribution)と呼びます。rを、pとqのカップリング(coupling)と呼ぶこともあります。

同時確率分布を射とする圏

確率空間を対象として、同時確率分布を射とする圏を定義しましょう。この圏をFinProbCoupとします。Finは台が有限集合であるから、Coupはカップリングからです。

FinProbCoupの対象は、台が有限集合Xである確率空間(X, p)です。ただし、確率分布pに関して次の条件を付けます。

  • x∈X に対して p(x) ≠ 0

(X, p), (Y, q)を確率空間とするとき、p, qを周辺確率分布とするX×Y上の同時確率分布を射だと考えます。射らしく(?)、同時確率分布をfと書きます。f:(X, p)→(Y, q) in FinProbCou だとは:

  1. fはX×Y上の確率分布である。
  2. fのX側周辺確率分布はpである。
  3. fのY側周辺確率分布はqである。

これらが圏をなすためには、射の結合と恒等射が必要です。

f:(X, p)→(Y, q), g:(Y, q)→(Z, r) のとき、fとgの結合は次のように定義します。h := f;g として:

  • h(x, z) = Σ(y∈Y | f(x, y)(1/q(y))g(y, z))

q(y) ≠ 0 なので、逆数(1/q(y))を使っても大丈夫です。hが確率分布であるためには、Σ(x∈X, z∈Z | h(x, z)) = 1 である必要がありますが、次のように計算できます。

  Σ(x∈X, z∈Z | h(x, z))
= Σ(x∈X, z∈Z | Σ(y∈Y | f(x, y)(1/q(y))g(y, z)) )
= Σ(x∈X, y∈Y, z∈Z | f(x, y)(1/q(y))g(y, z) )
= Σ(x∈X, y∈Y | f(x, y)(1/q(y))(Σ(z∈Z | g(y, z)) )
= Σ(x∈X, y∈Y | f(x, y)(1/q(y))q(y) )
= Σ(x∈X, y∈Y | f(x, y) )
= 1

hのX側周辺確率分布はpで、hのZ側周辺確率分布はrでなくてはなりません。

  Σ(z∈Z | h(x, z))
= Σ(z∈Z | Σ(y∈Y | f(x, y)(1/q(y))g(y, z)) )
= Σ(z∈Z, y∈Y | f(x, y)(1/q(y))g(y, z)) )
= Σ(y∈Y | f(x, y)(1/q(y))(Σ(z∈Z | g(y, z)) )
= Σ(y∈Y | f(x, y)(1/q(y))q(y) )
= Σ(y∈Y | f(x, y))
= p(x)

  Σ(x∈X | h(x, z))
= Σ(x∈X | Σ(y∈Y | f(x, y)(1/q(y))g(y, z)) )
= Σ(x∈X, y∈Y | f(x, y)(1/q(y))g(y, z)) )
= Σ(y∈Y | Σ(x∈X | f(x, y))(1/q(y))g(y, z) )
= Σ(y∈Y | q(y)(1/q(y))g(y, z) )
= Σ(y∈Y | g(y, z) )
= r(z)

恒等射 id(X, p):(X, p)→(X, p) は次のように定義します。j = id(X, p) として:

  • j(x, x') = p(x)δ(x, x')

δ(x, x')は、x = x' のとき1, それ以外は0です。jがpからpへの射である条件を確認します。

  Σ(x∈X, x'∈X | j(x, x'))
= Σ(x∈X, x'∈X | p(x)δ(x, x'))
= Σ(x∈X | Σ(x'∈X | p(x)δ(x, x')) )
= Σ(x∈X | p(x))
= 1

  Σ(x'∈X | j(x, x'))
= Σ(x'∈X | p(x)δ(x, x'))
= p(x)

  Σ(x∈X | j(x, x'))
= Σ(x∈X | p(x)δ(x, x'))
= p(x')

圏の結合律 (f;g);h = f;(g;h) を示します。ここで、f:(X, p)→(Y, q), g:(Y, q)→(Z, r), h:(Z, r)→(W, s) です。

  ((f;g);h)(x, w)
= Σ(z∈Z | Σ(y∈Y | f(x, y)(1/q(y))g(y, z))(1/r(z))h(z, w) )
= Σ(y∈Y, z∈Z | f(x, y)(1/q(y))g(y, z)(1/r(z))h(z, w) )

  (f;(g;h))(x, w)
= Σ(y∈Y | f(x, y)(1/q(y))Σ(z∈Z | g(y, z)(1/r(z))h(z, w)) )
= Σ(y∈Y, z∈Z | f(x, y)(1/q(y))g(y, z)(1/r(z))h(z, w) )

よって、
((f;g);h)(x, w) = (f;(g;h))(x, w)

圏の左単位律 id(X, p);f = f を示します。

  (id;f)(x, y)
= Σ(x'∈X | p(x)δ(x, x')(1/p(x'))f(x', y) )
= p(x)(1/p(x))f(x, y)
= f(x', y)

右単位律も同様です。

この圏は何だ?

FinProbCoupはいったいどこから出てきたんだ? と思うかもしれませんが、ベイズ確率の計算では使っています。

有限集合上の確率分布や確率遷移写像はマルコフ行列によって表現できます。マルコフ行列の転置を作ることが、ベイズ推論で逆確率を求める計算になっています。確率分布(確率空間)とマルコフ行列の圏は、同時確率分布の圏と同型です。マルコフ行列の転置(ベイズ反転)を求めるとき、同時確率分布の圏を経由しています。同時確率分布の圏は対称性が高いので、転置(反転)が容易に行なえるのです。