Top Banner
ベベベベベベベベベベベベベ ベベ ベベ 1
55

Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

May 28, 2015

Download

Technology

Taro Tezuka

Describes the Beta and Dirichlet distribution.
ベータ分布とディリクレ分布について説明します。
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ベータ分布とディリクレ分布

手塚 太郎

1

Page 2: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項分布のパラメータの最尤推定量

多項分布のパラメータ μk の最尤推定量は観測データにおいて xk が現れた回数 Nk の相対的な割合であった。

2

N

Nkk ̂

これはラグランジュ未定乗数法を使った最尤推定によって求められた。

ただし N は試行の総数である。

K

kkNN

1

Page 3: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

最尤推定の限界とMAP 推定の利用

3

Page 4: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

最尤推定の限界 観測データで一度も現れたことのない事象には

確率 0 を割り当ててしまう。

観測データの量が少なければ、その中に一度も現れない事象も多数存在する。

観測データに現れたことのない事象にも正の確率( 0 より大きい確率)を割り当てる必要がある。ベイズ推定を使えば対応できる。「どの事象も現れうる」というのはデータとは

別の「事前知識」であり、事前分布によって表現される。

4

Page 5: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

スムージングの必要性 観測データではまったく現れない事象も存在す

る。

このような事象にも正の確率を割り当てることをスムージングと呼ぶ。

別名ディスカウンティング。正の確率を持つ領域から「割引」を行うため。

5

Page 6: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

スムージング 確率分布は全体で積分した時(和を取った時)

に 1 にならなくてはならない。 確率が正の領域から 0 である領域に移動させる。 分布はよりなめらか(スムーズ)になる。

6

xx

p(x)p(x)

Page 7: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

加算スムージング 分子において出現頻度 Nk に一定量 δ を加算す

る。 分母には δ と単語の種類数 K の積を加える。 δ=1 の場合を特にラプラス法と呼ぶ。

7

N

Nkk

KN

Nkk

'

KN

Nkk

1'

ラプラス法

Page 8: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

加算スムージングと MAP 推定 相対頻度の利用は最尤法から導かれた。 加算スムージングは MAP 推定から導ける。

8

)()|()|( pxpxp

)|(maxarg

xp

ML 推定(最尤法)

MAP 推定

)|(maxarg xp

Page 9: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

共役事前分布 事前分布に尤度関数を掛けた時、 μ について同

じ形の事後分布が得られるような事前分布を共役事前分布と呼ぶ。

9

)|()|(),|( pxpxp

事後分布の計算が容易になるため、頻繁に使われる。

共役事前分布 p(θ|α) の形は尤度関数 p(x|θ) の形に依存する。つまり確率分布 p(x|θ) ごとにそのパラメータ θ の共役事前分布 p(θ|α) が決まる。

Page 10: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

共役事前分布のもうひとつのメリット

共役事前分布を使うと、ハイパーパラメータが単なる調整用のパラメータではなく、モデルにおいて“意味”を持ったものになることが多い。

例: 多項分布の共役事前分布であるディリクレ分布のハイパーパラメータは「仮想的に観測された事象の数」と関連付けられる。

10

Page 11: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

共役事前分布の例 ガウス分布の μ の共役事前分布はガウス分

ベルヌーイ分布の μ の共役事前分布はベータ分布

多項分布の μ の共役事前分布はディリクレ分布

11

Page 12: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ベータ分布

12

Page 13: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ベルヌーイ分布の尤度関数 ベルヌーイ分布のパラメータ μ の尤度関数は以下で

あった。

13

ベルヌーイ分布のパラメータ μ の尤度関数

N

i

xxN

i

xx iiiip1

111

212,2,2,2, 1)|( μX

共役事前分布は μ について尤度関数と同じ形でなくてはならないので、以下の形になる。ただし α はハイパーパラメータベクトル、 B(α) は μ に関して定数、 fは任意の関数である。

K

k

fk

k

Bp

1

1)|(

ααμ

Page 14: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ベルヌーイ分布の共役事前分布を求める

事前確率は μ が取り得るすべての値で積分した時、 1 にならなくてはならない。これによってB(α) が決まる。

f(αk) として αk – 1 を使うことにし、 μ で積分を行うと、以下が成り立たなくてはならない。

14

11

)|(1

1

μα

μαμ dB

dpK

kk

k

なお、 μk に関しては以下の制約があったため、それぞれを 0 から 1 まで動かして積分することはできないので注意が必要である。

11

K

kk10 k

Page 15: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ベータ関数 正規化に必要な因子 B(α) は以下の関数になり、

ベータ関数と呼ばれる。

15

Γ(x) はガンマ関数と呼ばれ、階乗の一般化である。

K

kk

K

kk

B

1

1

α

0

1 dtetx tx

Page 16: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ガンマ関数と階乗 x が整数 n の時、 Γ(n) = (n-1)! (階乗)

16

xxx 1

!1 nn

xxdtetx

dtextet

dtetx

tx

txtx

tx

0

1

0

10

11

0

111

なぜなら

11 ゆえにさらに以下も示せる。

0

1 dtetx tx より、

つまり

Page 17: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項ベータ関数の変形

ここで t を定義し、最後の変数 xK を消去する。

17

K

kkxt

1

1

1

K

kkK xtx

K

kk

xk

K

kk dxex kk

10

1

1

K

x

K dxdxexx

K

kk

K .........0 0 1

111

11

まず B(α) の分子に着目し、変形していく。

dtdxdxextxx Kt

K

kkK

K

kk

KK

10 0 1

11

1

11

11

1

......... 11

x1,…,xK (0,∞) → x∈ 1,…,t (0,∞) ∈ より積分範囲は変わらない。

Page 18: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項ベータ関数の変形

18

kk tx

dtddtetttt KKt

K

kkK

K

kk

KK

10

1

0 11

11

1

11

11

1

......... 11

μk を定義し、 xk を置き換える。

0

1

0 1

1

0 11

11

1

11

11 ...1...... 111 dtddtet K

KtK

kkK

K KK

K

kk

txkk : つまり

変数変換(置換積分)によって各 μk に関する積分範囲が 0 ~ 1 になることに注意。

Page 19: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項ベータ関数の変形 μK を導入する。これは μ1 ~ μK-1 の関数なの

で、 dμK は不要。

19

0

1

0 1

1

0 111

11

1

1

......... 111 dtddet KKKt KK

K

kk

dμ1 ~ dμK-1 をまとめて dμで表す。積分範囲もまとめて表す。

0

111

111 ... dtetd t

K

K

kk

K

μ

0

1

1

1 1 dtetd tK

kk

K

kk

k

μ

Page 20: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項ベータ関数の変形

20

0

1

1

1 dtet tK

kk

K

kk

B(α) の分母はガンマ関数の定義により、以下になる。

Page 21: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項ベータ関数の変形

21

なお、右辺から左辺を求める計算をディリクレ積分と呼ぶ。

右辺は積分した時に 1 になるように正規化したかった関数そのものである。

μdK

kk

k

1

1

K

kk

K

kk

B

1

1

α

分子を分母で割って、 B(α) を求めると以下のようになる。

Page 22: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項ベータ関数による正規化 多項ベータ関数を使用すると、ベルヌーイ分布

の共役事前分布を以下のように作ることができる。

22

K

kk

k

Bp

1

11)|(

ααμ

多項ベータ関数で割られていることによって、全体で積分した時に 1 になる。(正規化されている)。

11

)|(1

1

μα

μαμ dB

dpK

kk

k

Page 23: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ベータ関数 ベータ関数は K=2 の時の多項ベータ関数であ

る。

ハイパーパラメータをベクトル α ではなく二つのスカラー α と β で表わすことが多い。

23

)(

,

αB

ベータ関数 多項ベータ関数

K

kk

K

kk

B

1

1

α

Page 24: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ベータ分布 ベルヌーイ分布に対する共役事前分布

24

1

21

1,

1),|(

αBαp μ

ベルヌーイ分布のもうひとつの表記法(スカラー μ による表現)を使った場合は以下のようになる。

11 1,

1),|(

αBαμp

Page 25: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ベータ分布の性質 ベータ分布は 2 次元のディリクレ分布である。

25

ハイパーパラメータ α と β はディリクレ分布の場合と同様、次元 k=1 と次元 k=2 への仮想的な割り当てを示している。

Page 26: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ベータ分布の性質 ベータ分布は μ のべき乗と (1-μ) のべき乗の

和を((ベータ関数で)正規化したものである。

α と β が正の整数の時、確率密度関数は 1 変数の多項式が描く曲線になる。

26wikipedia.org

Page 27: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ベータ分布の例 1 ハイパーパラメータ α と β が共に 1 より大きい

場合、上に凸な分布になる。

275α

,|P

Page 28: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ベータ分布の例 2 ハイパーパラメータ α と β が共に 1 より小さ

い場合、下に凸な分布になる。

285.0α

,|P

Page 29: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ベータ分布の例 3 ハイパーパラメータが α > β の時、 1 に近

い側の確率が高い分布になる。

292,10 α

,|P

Page 30: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ベータ分布の例 α > β=1 の時は、 μα-1 を正規化した関数であ

る。

301,5 α

,|P

Page 31: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ディリクレ分布

31

Page 32: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項分布の尤度関数 多項分布のパラメータ μ の尤度関数は以下の形であっ

た。

32

多項分布のパラメータ μ の尤度関数

N

i

K

k

xkkip

1 1

,)|( μX

共役事前分布は μ について尤度関数と同じ形でなくてはならないので、以下の形になる。ただし α はハイパーパラメータベクトル、 B(α) は μ に関して定数、 fは任意の関数である。

K

k

fk

k

Bp

1

1)|(

ααμ

Page 33: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項分布の共役事前分布を求める 事前確率は μ が取り得るすべての値で積分した

時、 1 にならなくてはならない。これによってB(α) が決まる。

f(αk) として αk – 1 を使うことにし、 μ で積分を行うと、以下が成り立たなくてはならない。

33

11

)|(1

1

μα

μαμ dB

dpK

kk

k

なお、 μk に関しては以下の制約があったため、それぞれを 0 から 1 まで動かして積分することはできないので注意が必要である。

11

K

kk10 k

Page 34: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項ベータ関数 正規化に必要な因子 B(α) は以下の関数になり、多

項ベータ関数と呼ばれる。

34

K

kk

K

kk

B

1

1

α

0

1 dtetx tx

Page 35: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項ベータ関数の変形

ここで t を定義し、最後の変数 xK を消去する。

35

K

kkxt

1

1

1

K

kkK xtx

K

kk

xk

K

kk dxex kk

10

1

1

K

x

K dxdxexx

K

kk

K .........0 0 1

111

11

まず B(α) の分子に着目し、変形していく。

dtdxdxextxx Kt

K

kkK

K

kk

KK

10 0 1

11

1

11

11

1

......... 11

x1,…,xK (0,∞) → x∈ 1,…,t (0,∞) ∈ より積分範囲は変わらない。

Page 36: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項ベータ関数の変形

36

kk tx

dtddtetttt KKt

K

kkK

K

kk

KK

10

1

0 11

11

1

11

11

1

......... 11

μk を定義し、 xk を置き換える。

0

1

0 1

1

0 11

11

1

11

11 ...1...... 111 dtddtet K

KtK

kkK

K KK

K

kk

txkk : つまり

変数変換(置換積分)によって各 μk に関する積分範囲が 0 ~ 1 になることに注意。

Page 37: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項ベータ関数の変形 μK を導入する。これは μ1 ~ μK-1 の関数なの

で、 dμK は不要。

37

0

1

0 1

1

0 111

11

1

1

......... 111 dtddet KKKt KK

K

kk

dμ1 ~ dμK-1 をまとめて dμで表す。積分範囲もまとめて表す。

0

111

111 ... dtetd t

K

K

kk

K

μ

0

1

1

1 1 dtetd tK

kk

K

kk

k

μ

Page 38: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項ベータ関数の変形

38

0

1

1

1 dtet tK

kk

K

kk

B(α) の分母はガンマ関数の定義により、以下になる。

Page 39: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項ベータ関数の変形

39

なお、右辺から左辺を求める計算をディリクレ積分と呼ぶ。

右辺は積分した時に 1 になるように正規化したかった関数そのものである。

μdK

kk

k

1

1

K

kk

K

kk

B

1

1

α

分子を分母で割って、 B(α) を求めると以下のようになる。

Page 40: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項ベータ関数による正規化 多項ベータ関数を使用すると、多項分布の共役

事前分布を以下のように作ることができる。

40

K

kk

k

Bp

1

11)|(

ααμ

多項ベータ関数で割られていることによって、全体で積分した時に 1 になる。(正規化されている)。

11

)|(1

1

μα

μαμ dB

dpK

kk

k

Page 41: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ディリクレ分布 多項分布の共役事前分布はディリクレ分布と呼ば

れ、多項ベータ関数を使って以下のように表現される。

41

K

kkk

Bp

1

11)|(

ααμ

ただし

K

kk

K

kk

B

1

1

α

Page 42: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項分布とディリクレ分布

42

K

kkk

Bp

1

11)|(

ααμ

N

i

K

k

xkkip

1 1

,)|( μX

K

k

x

kN

ii

K

kk

N

i

xk

k

N

iki

kki

B

Cp

1

1

1

1

1

1

1,

,

1

',|

αx

αXμ

尤度関数(多項分布) 事前分布(ディリクレ分布)

事後分布

事前分布と事後分布が μ の関数として同じ形になっている。

Page 43: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ハイパーパラメータの意味 事後分布において、 αk はカテゴリ k の総出現

数と同じ位置に来ている。

43

K

k

x

kN

ii

k

N

iki

Bp

1

1

1

1,1

,|

αx

これは αk をカテゴリ k における「事象の仮想的な出現数」とみなせることを意味する。

Page 44: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ディリクレ分布の視覚化 成分の和が 1 になるという制約により、ベクト

ル μ が動ける範囲はたとえば 3 次元では以下の領域(単体またはシンプレックスと呼ばれる)になる。

44

μ3

μ1

μ2

1

11

K=3 のディリクレ分布を視覚化する際、単体の上に確率密度の大きさを乗せた形で表示することが多い。

Page 45: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ディリクレ分布の例 1

αk がすべて1の時、ディリクレ分布は単体上の一様分布になる。

単体の全域で積分した時に 1になる。

45

μ3

μ1

μ2

1

11

Page 46: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ディリクレ分布の例 2

ある αk が大きい時、その次元k で確率密度が大きくなる。

46

αk は各カテゴリへの仮想的な割り当てのため、そのカテゴリの次元での密度が高い分布になる。

wikipedia.org

すべての αk が大きければ、中心で尖った分布になる。

Page 47: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ディリクレ分布の性質

47

各 αk が正の整数の時、ディリクレ分布の確率密度関数は K-1 変数の多項式が描く曲面である。

1

1

1

11

1

1

1

11

1)|(

K

kk

K

kk

K

kk

k

K

k

B

Bp

α

ααμ

ディリクレ分布の確率密度関数

Page 48: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

多項分布のパラメータの MAP 推定

48

Page 49: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

対称なディリクレ分布の仮定 ディリクレ分布のパラメータは K 個あるが、

ここではひとつのパラメータで表される対称なディリクレ分布を使用する。ひとつになったパラメータをスカラー a で表す。

49

K

k

akK

a

Kaap

1

1

)(

)()|( μ

この制約を加えるだけで加算スムージングが導かれる。

aK ...21

Page 50: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

事後分布の対数

θ について最大化するのが目的なので、 a のみの関数になる項は C’(a) で表した。

C’(a) は μ を動かしての最大化では無視できる。 50

)('loglog1

),|(log

1 1, aCax

apK

kk

N

iki

K

k

ak

N

i

xkkiaFap

1

1

1

,)('),|( Xμ

Page 51: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

頻度への置き換え

カテゴリ k が観測データで出現した回数 Nk を用いて置き換えた。

51

K

kkk

K

kk

N

iki

aN

ax

1

1 1,

log1

log1

Page 52: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ふたたびラグランジュ未定乗数法

52

K

kk

K

kkk aNL

11

1log1)( μ

01)(

k

k

k

aNL μ

kk aN

1

1)1(1

11

K

kk

K

kk aN

K

kk

1

1

パラメータベクトル μ への制約:

k について和を取る

Page 53: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

MAP 推定の結果

53

MAP 推定の結果は加算スムージングに対応する。

a=2 がラプラス法に対応する。

)1( aKN

)1(

1

aKN

aNkk

K

kk aN

1

)1(

kk aN

1

Page 54: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

ラプラス法の課題 μ の次元数 K が大きい場合、 Nk がほとんど割

引されてしまうため、精度は高くない。

54

KN

Nkk

1

言い換えると、事前分布が尤度関数よりも著しく大きな影響を持ってしまう。

Page 55: Beta distribution and Dirichlet distribution (ベータ分布とディリクレ分布)

リッドストーン法 1 より小さい値 δ を加算する。

55

KN

Nkk

δ を適切に選べば精度が向上することが知られている。

10