33
PRML 読書会 【2.4 指数型分布族】 吉田康久 (id:syou6162) June 13, 2009 吉田康久 (id:syou6162) PRML 読書会 【2.4 指数型分布族】

Prml

Embed Size (px)

Citation preview

PRML読書会【2.4指数型分布族】

吉田康久 (id:syou6162)

June 13, 2009

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

2.4指数型分布族

2章のこれまでに登場してきた分布は指数型分布族という大きな族の例になっていた

混合ガウス分布を除く

x上の指数型分布族は、!をパラメータとして、次の式で定義される分布の族p(x|!) = h(x)g(!) exp {!Tµ(x)}

xはスカラーでも、ベクトルでも、離散でも連続でもよい!は自然パラメータ (natural parameter)、u(x)は xの任意の関数

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

どれも指数型分布族!!

Figure: 正規分布 Figure: ディリクレ分布

Figure: ベータ分布 Figure: t分布

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

何がうれしいのか?

何かいきなり抽象度が上がった…><以下がうれしいこと

hoge分布という分布が与えられた。これについての統計的なことを考えていこう

「また、対数尤度関数からパラメータ推定したり、共役事前分布を探すのか。。。」!面倒

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

hoge分布が指数分布族であると分かったら…

(あとで確認しますが)指数型分布族であれば、以下のことが分かる!!

パラメータ !の最尤推定量 !MLについての条件が分かる共役な事前分布の形が分かる

手間が (多少)省けてうれしい!!

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

「ベルヌーイ分布 "指数型分布族」の確認(1/2)

確率密度関数 : p(x|µ) = Bern(x|µ) = µx(1 # µ)1#xここで、「右辺の対数をとって、さらにその指数をとる」という変な操作をする

$指数型分布族の形 p(x|!) = h(x)g(!) exp {!Tµ(x)}に持っていきたいから

p(x|µ) = (1 # µ) exp {log( µ1#µ)x}上と見比べると、natural parameter !は! = log( µ1#µ)であると分かる

µについて解くと、µ = "(!)"(!) = 1

1+exp(#!) はロジステックシグモイド関数

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

「ベルヌーイ分布 "指数型分布族」の確認(2/2)

指数型分布族の標準形 (2.194)の形で書くとp(x|!) = "(#!) exp(!x)指数型分布族 p(x|!) = h(x)g(!) exp {!Tµ(x)}を構成する要素をそれぞれ見ていくと

! = log( µ1#µ )µ(x) = xh(x) = 1g(!) = "(#!)

となっていて、ベルヌーイ分布はきちんと指数型分布族の要素であることが分かった

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

「多項分布 "指数型分布族」の確認

確率密度関数 :p(x|µ) = !M

k=1 µxkk = exp {

"Mk=1 xk log µk}

これも指数型分布族の標準形 (2.194)に持っていくと、p(x|µ) = exp(!Tx)

!k = log ukで、! = (!1, · · · , !M)T

指数型分布族 p(x|!) = h(x)g(!) exp {!Tµ(x)}を構成する要素をそれぞれ見ていくと

µ(x) = xh(x) = 1g(!) = 1

となっていて、ベルヌーイ分布はきちんと指数型分布族の要素であることが分かった

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

自由度が一つ落ちる

多項分布にはパラメータ uk (k = 1, · · · ,M)の間に"Mk=1 uk = 1という制約があった$パラメータ ukのうち、M # 1個の値が与えられても、残りのパラメータは決まる

自由度が一つ落ちる

それを利用して、M # 1個のパラメータで多項分布を表わした場合が便利なこともある

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

式の変形…

exp#

$

$

%

$

$

&

M'

k=1xk log uk

(

$

$

)

$

$

*

= exp#

$

$

%

$

$

&

M#1'

k=1xk log uk + xM log uM

(

$

$

)

$

$

*

= exp#

$

$

%

$

$

&

M#1'

k=1xk log uk +

+

,

,

,

,

,

,

-

1 #M#1'

k=1xk

.

/

/

/

/

/

/

0

log+

,

,

,

,

,

,

-

1 #M#1'

k=1µk

.

/

/

/

/

/

/

0

(

$

$

)

$

$

*

= exp#

$

$

%

$

$

&

M#1'

k=1xk log uk #

M#1'

k=1xk log

+

,

,

,

,

,

,

-

1 #M#1'

k=1µk

.

/

/

/

/

/

/

0

+ log+

,

,

,

,

,

,

-

1 #M#1'

k=1µk

.

/

/

/

/

/

/

0

(

$

$

)

$

$

*

= exp#

$

$

%

$

$

&

M#1'

k=1xk log

+

,

,

,

,

,

-

µk

1 #"M#1j=1 µ j

.

/

/

/

/

/

0

+ log+

,

,

,

,

,

,

-

1 #M#1'

k=1µk

.

/

/

/

/

/

/

0

(

$

$

)

$

$

*

=

+

,

,

,

,

,

,

-

1 #M#1'

k=1µk

.

/

/

/

/

/

/

0

exp#

$

$

%

$

$

&

M#1'

k=1xk log

+

,

,

,

,

,

-

µk

1 #"M#1j=1 µ j

.

/

/

/

/

/

0

(

$

$

)

$

$

*

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

ソフトマックス関数による多項分布の指数型分布の標準系 (1/2)

1

1 #"M#1k=1 µk

2

exp3

"M#1k=1 xk log

4

µk1#"M#1j=1 µ j

56

より

log4

µk1#"M#1j=1 µ j

5

= !kとなる

これをすべての kについて足し合わせ、整理すると µk =

exp(!k)1+"M#1j=1 exp(! j)

を得る

これをソフトマックス関数と呼ぶこれは 4章の線形識別モデルの付近で活躍する

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

ソフトマックス関数による多項分布の指数型分布の標準系 (2/2)

ソフトマックス関数の表現だとp(x|!) =

1

1 +"M#1j=1 exp(! j)2#1exp(!Tx)で書ける

natural parameter ! = (!1, · · · , !M#1)T

指数型分布族 p(x|!) = h(x)g(!) exp {!Tµ(x)}を構成する要素をそれぞれ見ていくと

µ(x) = xh(x) = 1g(!) =

1

1 +"M#1j=1 exp(! j)2#1

となっていて、ソフトマックス関数を使って表現した場合の多項分布でもきちんと指数型分布族の要素になっていた

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

「正規分布 "指数型分布族」の確認

確率密度関数 :p(x|µ,") = 1

(2#"2)12exp {#12"

2(x # µ)2}これも指数型分布族の標準形 (2.194)に持っていくと、p(x|µ,") = 1

(2#"2)12exp {# 1

2"2 x2+µ

"2x # 1

2"2µ2}

指数型分布族 p(x|!) = h(x)g(!) exp {!Tµ(x)}を構成する要素をそれぞれ見ていくと

! =

7

µ/"2

#1/2"28

µ(x) =7

xx28

h(x) = (2#)# 12g(!) = (#2!2)

12 exp ( !

214!2 )

となっていて、正規分布はきちんと指数型分布族の要素であることが分かった

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

2.4.1最尤推定と十分統計量

!について、指数型分布族の一般形p(x|!) = h(x)g(!) exp {!Tµ(x)}の勾配ベクトルを求める

$ %g(!)9

h(x) exp {!Tu(x)}dx +g(!)9

h(x) exp {!Tu(x)}u(x)dx = 0整理すると、#% log g(!) = E[u(x)]さらに、#%% log g(!) = cor[u(x)]であることも分かる同様に、高次のモーメントも単に微分すれば得られる

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

指数型分布族 & i.i.d.サンプル

X = (x1, · · · , xn)を独立に同一の指数型分布族に従うデータだとする尤度関数 : p(X|!) = L(!;X) =1

!Nn=1 h(xn)

2

g(!)N exp:

!T"Nn=1 u(xn)

;

最尤推定解が満たすべき条件 :#%g(!ML) =

1N"Nn=1 u(xn)

最尤推定解は"Nn=1 u(xn)を通じてのみ依存して

いるこういう統計量のことを十分統計量 (sufficientstatistic)と呼ぶ

本当の定義は違うけど、まあいいか。。。

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

十分統計量の例

ベルヌーイ分布ではu(x) = xなので、十分統計量は"Nn=1 xn

ガウス分布ではu(x) = (x, x2)Tなので、十分統計量は ("Nn=1 xn,

"Nn=1 x2n)T

(指数型分布族の)最尤推定量を推定するときには、データ全部持っておく必要はなくて、これだけあれば十分十分統計量の付近は、8章のグラフィカルモデルの付近で再登場する…らしい

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

2.4.2共役事前分布

共役事前分布 : 事前分布と事後分布が同じ分布族に属している

対象となる分布 共役事前分布ベルヌーイ分布 ベータ分布ガウス分布 (平均について) ガウス分布ガウス分布 (精度について) ウィシャート分布

実は指数型分布族に対しても共役事前分布が存在する

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

指数型分布族の共役事前分布

指数型分布族に属している任意の分布に対して、次の共役事前分布が存在するp(!|$) = f ($, %)g(!)% exp {%!T$}

事後分布 =事前分布 &尤度関数= p(!|$) & p(X|!)= f ($, %)g(!)% exp {%!T$}

&

+

,

,

,

,

,

-

N<

n=1h(xn)

.

/

/

/

/

/

0

g(!)N exp#

$

$

%

$

$

&

!TN'

n=1u(xn)

(

$

$

)

$

$

*

' g(!)µ+N exp#

$

$

%

$

$

&

!T+

,

,

,

,

,

-

N'

n=1u(xn) + %$

.

/

/

/

/

/

0

(

$

$

)

$

$

*

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

共役事前分布のパラメータの解釈

事前分布のパラメータ %は有効な事前の観測値の数とも考えることができる

事前にパラメータについてどれくらいのことを知っているか表わす度合いのようなもの

仮想観測値では、十分統計量 µ(x)の代わりに$が与えれている

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

2.4.3無情報事前分布

事前分布をどう決めるか、という話指数型分布族の共役事前分布では、%は有効な事前の観測値の数事前にどれくらいのデータ数について知っているか度合いのようなものを %で表わせばよい

過去に似たような解析がされているんだったら、それを使うなどなど

分布について何らかの知識があれば、それを事前分布に反映させればよい

しかし、事前には何も知識がない場合が多い何も知らないんだから、事後にはなるべく影響が少なくなるようにしたい

$無情報事前分布を使う

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

2.4.3無情報事前分布

&がK個の値しか取りえないような離散型確率変数であれば、それぞれ p(&) = 1

K とすればよいコインの出る確率のような、連続型の確率変数 xでも有界なものだったら p(x) = 1

b#aのように設定すればよい有界でないものだと constantな値にすると以下の二つの問題が起こってしまう

1 確率密度関数なのに、積分しても 1にならないで、発散してしまう!!

2 非線形な変数変換に伴う確率密度の変化に起因する問題

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

問題1 : 正則化できない

確率密度関数なのに、積分しても 1にならないで、発散してしまう!!正則化できてない!!しかし、「そんな事前分布でも許容しましょう」というのがある$変則事前分布 (improper prior)

ただし、それから得られる事後分布が適切であるならば(事後分布については、きちんと正則化できるならば)

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

ガウス分布の平均パラメータでの例

ガウス分布の平均パラメータにおいて、「変則」な事前分布を使ったとする(2.3.6のところを参考にしつつ、)平均についてのパラメータの事前分布 p(µ) = N(µ0,"20)を「変則な」ものにする

ガウス分布は左右対象$何も知らないなら µ0 = 0とするのは、まあ妥当でしょうガウス分布の分散を変化させるととんがっている度合いが変化する$ "0 $ (としたものを考えればよいでしょう

すると、平均についてのパラメータの事後分布のパーツは以下のようになり、最尤推定と同じ結果になる$事後分布はきちんと正則化できる

µN ="2

N"20+"µ0 +

N"20N"20+"

µML ="2/"20N+"/"20

µ0 +N

N+"/"20µML $

µML1"2N=

1"20+

N"2$ N

"2

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

非線形な変数変換に伴う確率密度の変化に起因する問題 (1/2)

単に関数 h(&)が定数ならば、& = !2と変数変換しても、!̂ = h(!2)も定数になるでも、確率密度関数 p&(&)を定数とし、& = !2のような変数変換をすると問題が起こる

p!(!) = p&(&)| d&d! | = p&(!2)2! ' !

p&(&)のほうは定数だったのに、p!(!)は定数ではなくなっている!!

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

非線形な変数変換に伴う確率密度の変化に起因する問題 (2/2)

この性質によりどういう問題が起こってくるか?定数となるような事前分布を持ってきて「てきとーに」変数変換してしまうと、変換した側では定数となっていなくなってしまう!!

こういう問題が起きないような「変数変換」と、「それによって事前分布が同じ形式を保つような分布の族」について考える

平行移動不変性 (translation invariance)尺度移動不変性 (scale invariance)

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

平行移動不変性

確率密度関数が p(x|µ) = f (x # µ)で表されるとするxを定数分だけ移動して x̂ = x + cとし、µ̂ = µ + cとすると、p(x|µ) = f (x̂ # µ̂) = f ((x + c) # (µ + c)) = p(x̂|µ̂)新しい変数でも、もとの変数と同じ形式を保つ

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

平行移動不変性を持つような事前分布

このような平行移動不変性を持つような事前分布を探してみよう平行移動させただけなので、区間 A ) µ ) Bに入る確率が A # c ) µ ) B # cに入る確率と等しくなるような事前分布でなければならない

無情報なものを考えているから、違ったら困る9 BA p(µ)dµ =

9 B#cA#c p(µ)dµ =

9 BA p(µ # c)dµ

これが任意の A、Bについて成立しなければならない$ p(µ # c) = p(µ)が得られるこれより p(µ)は定数になる

当たり前?

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

平行移動不変性になっている例

ガウス分布の平均 µさっきは対称性から µ0 = 0としていたが、そうしなくてもよいµN =

"2

N"20+"µ0 +

N"20N"20+"

µML ="2/"20N+"/"20

µ0 +N

N+"/"20µML $ µML

この事前分布で"20 $ (とすれば、無情報事前分布となっているこの事前分布を用いると µ上の事後分布に事前分布が全く影響していないことが分かる

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

尺度不変性

" > 0として、確率密度関数が p(x|") = 1"f ( x")で

表されるとするxを定数分だけ移動して x̂ = cxとし、"̂ = c"とすると、p(x|") = 1

"f ( x") = 1

"f ( cxc") =

1"f (cx"̂) =

1c" f (

x̂"̂) = 1

"̂f ( x̂"̂)p(x̂|"̂)

新しい変数でも、もとの変数と同じ形式を保つ

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

尺度不変性を持つような事前分布

このような尺度不変性を持つような事前分布を探してみよう尺度を変換しただけなので、区間 A ) " ) Bに入る確率が A/c ) µ ) B/cに入る確率と等しくなるような事前分布でなければならない9 BA p(")d" =

9 B/cA/c p(")d" =

9 BA p(

1c")

1cd"

これが任意の A、Bについて成立しなければならない$ p(") = p(1c")

1cが得られる

これより p(") ' 1"という制約が得られる

これはすぐ分かるもの?これだけでよい?f (x) = 1/xで、x = 10を考えたときに、f (10/2) & 1

2 = f (5) &12 = 0.2 &

12 = 0.1 = f (10)となって

いるので、「ああ、1/xだとうまくいきそうだなー」と理解できる

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

尺度不変性になっている例

位置パラメータ µを考慮済みの、ガウス分布の標準偏差"が例になる

N(x|µ,"2) ' "#1 exp{#(x̂/")2}だからx̂ = x # µ

ここで、標準偏差より精度のほうが扱いやすいので、& = 1/"2とする変数変換を使うと、p(") ' 1/"は p(&) ' 1/&に相当

p(&) = p(") & | d"d& | = p(") & | # &# 32 /2| ' 1/" & &# 32 =

&1/2 & &#32 = 1/&

" =*1/&

d"/d& = #&# 32 /2

&の共役事前分布は (2.146)のガンマ分布Gam(&|a0, b0)だった

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

ガンマ分布

Figure: (2.146)で定義されるガンマ分布Gam(&|a, b)のいろいろなパラメータ aと bでのグラフ。a = b = 0だと変則事前分布に使えそうである、ということが分かる。

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】

ガンマ分布でa0 = 0、b0 = 0の場合

事後分布のパラメータは以下のようになっていたaN = a0 + N

2bN = 1

2"Nn=1(xn # µ)2 = b0 + N

2"2ML

a0 = 0、b0 = 0の場合、データに由来する項のみに依存していて、事前分布からの要因には依存していない

吉田康久 (id:syou6162) PRML 読書会【2.4指数型分布族】