Introduction
今日はMAP推定(事後確率最大化法)について書きました。MAP推定ではベイズの定理を使います。データが少ないとき、最尤推定の結果をあまり信用できない話は、最尤推定の時に書きました。この時、MAP推定では自分の事前に持っている情報を取り入れることができます。
概要
ベイズの定理
ベイズの定理は
P(A|B) = \frac{P(B|A)P(A)}{P(B)}
です。
ただし、
P(A|B) はBが起こった時のAの起こる確率です。
詳しくは http://takutori.blogspot.com/2018/04/bayes-theorem.html を見てください。
Map推定
MAP推定ではベイズの定理を使います。MAP推定は事後確率が最大になるようなパラメータを選びます。
いま、x_1,x_2,...,x_nというデータを\thetaというパラメータを持つ分布から得られたとする。この時P(\theta|x_1,x_2,...,x_n)を求めたい。
ここで、ベイズの定理を使う。
P(\theta|x_1,x_2,...,x_n) = \frac{P(x_1,x_2,...,x_n | \theta ) P(\theta)}{P(x_1,x_2,...,x_n)}
ここで、P(\theta)は\thetaの事前分布である。
x_1,x_2,...,x_nはそれぞれ独立であるので、
P(x_1,x_2,...,x_n | \theta ) = \Pi_{i=1}^n P(x_i|\theta).
よって、マップ推定は
\theta^{\star} = \arg \max_{\theta} \frac{\Pi_{i=1}^n P(x_i|\theta) P(\theta)}{P(x_1,x_2,...,x_n)}
となる。
P(x_1,x_2,...,x_n)という値は\thetaには依存しない。よって、定数であり、最適化に定数は関係ないので、排除すると、MAP推定は次のようになる。
\theta^{\star} = \arg \max_{\theta}\Pi_{i=1}^n P(x_i|\theta) P(\theta)
共役分布
共役分布とはある便利な分布です。どう便利なのかを簡単に説明します。一般的に事後分布は複雑な形をしている。しかし、共役分布と呼ばれる分布を事前分布に用いることで、事後分布の計算が簡単になる。 事前分布は尤度関数、つまり、 P(x_i|\theta)に依存して決まる。有名な分布に対する共役分布は以下のようになっている。
P(\theta|D) = P(D|\theta)P(\theta)
x_iis 1~or~0であるので、
概要
- ベイズの定理
- MAP推定
- 共役分布
- MAP推定の例
ベイズの定理
ベイズの定理は
P(A|B) = \frac{P(B|A)P(A)}{P(B)}
です。
ただし、
P(A|B) はBが起こった時のAの起こる確率です。
詳しくは http://takutori.blogspot.com/2018/04/bayes-theorem.html を見てください。
Map推定
MAP推定ではベイズの定理を使います。MAP推定は事後確率が最大になるようなパラメータを選びます。
いま、x_1,x_2,...,x_nというデータを\thetaというパラメータを持つ分布から得られたとする。この時P(\theta|x_1,x_2,...,x_n)を求めたい。
ここで、ベイズの定理を使う。
P(\theta|x_1,x_2,...,x_n) = \frac{P(x_1,x_2,...,x_n | \theta ) P(\theta)}{P(x_1,x_2,...,x_n)}
ここで、P(\theta)は\thetaの事前分布である。
x_1,x_2,...,x_nはそれぞれ独立であるので、
P(x_1,x_2,...,x_n | \theta ) = \Pi_{i=1}^n P(x_i|\theta).
よって、マップ推定は
\theta^{\star} = \arg \max_{\theta} \frac{\Pi_{i=1}^n P(x_i|\theta) P(\theta)}{P(x_1,x_2,...,x_n)}
となる。
P(x_1,x_2,...,x_n)という値は\thetaには依存しない。よって、定数であり、最適化に定数は関係ないので、排除すると、MAP推定は次のようになる。
\theta^{\star} = \arg \max_{\theta}\Pi_{i=1}^n P(x_i|\theta) P(\theta)
共役分布
共役分布とはある便利な分布です。どう便利なのかを簡単に説明します。一般的に事後分布は複雑な形をしている。しかし、共役分布と呼ばれる分布を事前分布に用いることで、事後分布の計算が簡単になる。 事前分布は尤度関数、つまり、 P(x_i|\theta)に依存して決まる。有名な分布に対する共役分布は以下のようになっている。
A | B | C | |
---|---|---|---|
1
|
Conjugate distribution
| likelihood |
posterior distribution
|
2
| beta | Bernoulli | beta |
3
| beta | Binomial | beta |
4
| Gaussian | Gaussian(sigma is known) | Gaussian |
5
| inverse gamma |
Gaussian(sigma is unknown)
| inverse gamma |
6
| gamma | Poisson | gamma |
.
例
Beta(\theta|a,b) = \frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)}\theta^{a-1}(1-\theta)^{b-1}
これはベータ分布と呼ばれる確率分布です。この分布をMAP推定するとき、事前分布にはガンマ分布を使う。ここで、
\Gamma(x) = \int_0^\infty u^{x-1}e^{-u}du
である。
事前分布と尤度関数の積は
P(\theta|D) = P(D|\theta)P(\theta)
=\Pi_{i=1}^{n}\theta^{x_i}(1-\theta)^{1-x_i}\frac{\Gamma(a+b}{\Gamma(a)\Gamma(b)}\theta^{a-1}(1-\theta)^{b-1}
となる。
となる。
x_iis 1~or~0であるので、
p(x=1,\theta)p(x=1,\theta)p(x=,\theta) =\theta\theta(1-\theta) .
よって、
よって、
\Pi_{i=1}^{n}\theta^{x_i}(1-\theta)^{x_i} = \theta^{\sum_{i=1}^{n}x_i}(1-\theta)^{\sum_{i=1}^{n}(1-x_i)}
P(\theta|D)は
P(\theta|D) = \theta^{\sum_{i=1}^{n}x_i}(1-\theta)^{\sum_{i=1}^{n}(1-x_i)}\frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)}\theta^{a-1}(1-\theta)^{b-1}
= \frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)}\theta^{(\sum_{i=1}^{n}x_i)+a-1}(1-\theta)^{(\sum_{i=1}^{n}(1-x_i))+b-1}
となる。よって、
P(\theta|D) \propto \theta^{(\sum_{i=1}^{n}x_i)+a-1}(1-\theta)^{(\sum_{i=1}^{n}(1-x_i))+b-1}
この最適化は\logを使うことによって、解ける。
\log P(\theta|D) \propto \{(\sum_{i=1}^{n}x_i)+a-1\}\log \theta + \{(\sum_{i=1}^{n}(1-x_i))+b-1\}\log (1-\theta) \nonumber
\sum_{i=1}^{n}x_i + \sum_{i=1}^{n}(1-x_i) = n なので、 最適解は
\theta_{MAP} = \frac{(\sum_{i=!}^{n}x_i)+a-1}{n+a+b-2}
Reference
コメント
コメントを投稿