最尤推定の欠点を補完するMAP推定
最尤推定は、教師あり学習をはじめとして、広く使われています。
しかし、その広く使われる最尤推定ですが、時と場合によっては、不合理な推定結果をもたらします。
その際に使用できるのが、ベイズの定理を応用したMAP推定(「最大事後確率推定」「事後分布最大化推定」)です。
不合理な推定結果をもたらす最尤推定の欠点とは何か、
MAP推定がそれをどう補完するのか、
について、書きたいと思います。
本稿が対象としている読者は、
最尤推定、ベイズの定理、MAP推定について、それぞれ単体では理解している
という人です。
n個の観測データをまとめた観測データベクトル$ \boldsymbol{x}=( x^{(1)}, x^{(2)}, …, x^{(n)} ) $があるとします。
パラメーターベクトルを$ \boldsymbol{\theta} $とします。
最尤推定の欠点
尤度関数
p(\boldsymbol{x}|\boldsymbol{\theta})=\prod_{i=1}^{n}p(x^{(i)}|\boldsymbol{\theta})
最尤推定は、この尤度関数を最大化するパラメーターベクトル $ \boldsymbol{\theta}=\hat{\boldsymbol{\theta}_{ML}} $を推定します。
これは、与えられた観測データの発生確率を最大にするθを推定する、ということです。
\begin{align}
\hat{\boldsymbol{\theta}_{ML}} &= \text{argmax}_{\theta}[p(\boldsymbol{x}|\boldsymbol{\theta})] \\
&=\text{argmax}_{\theta}[\prod_{i=1}^{n}p(x^{(i)}|\boldsymbol{\theta})]
\end{align}
最尤推定が言っているのは、
「パラメーターベクトル$ \hat{\boldsymbol{\theta}_{ML}} $だと、与えられた観測データの発生確率が最大になります」
だけです。
しかしこれだけだと、結局この推定値が使えない場合があります。
それは、そもそも $ \boldsymbol{\theta}=\hat{\boldsymbol{\theta}_{ML}} $になりにくい、即ち、
p(\boldsymbol{\theta}=\hat{\boldsymbol{\theta}_{ML}})
がとても低い、という場合です。
例えば、
p(\boldsymbol{\theta}=\hat{\boldsymbol{\theta}_{ML}}) = 0.00001
などという超低確率なら、最尤推定の答え$ \hat{\boldsymbol{\theta}_{ML}} $は、「リクツではそうなるんだろうけど現実味が無くて使えない」推定値、ということになります。
最尤推定は、「 $ \boldsymbol{\theta}=\hat{\boldsymbol{\theta}_{ML}} $ だと観測データの発生確率が最大になります。」とは言ってくれます。
しかし、最尤推定の仕事はそこまでです。
そもそもそのθの値に現実味があるかどうか、は、最尤推定は関知しません。
つまるところ、最尤推定の欠点は、
推定値そのものの現実味(発生確率)$ p(\boldsymbol{\theta}=\hat{\boldsymbol{\theta}_{ML}}) $ を考慮していない
ゆえに、ありえないθを推定値としてしまうことがある
ということです。
イメージしやすくするため、現実社会を例にとります。
Aさんのある年の年収をx
Aさんがその年にした、収入につながる行為や現象をθ
とします。
θが「宝くじで1億円を当てた」なら、xが1億円以上となる確率は極めて高い。
p(x≧1億円 | θ=宝くじで1億円を当てた) はとても高いので、
観測値x≧1億円での最尤推定値は、θ=宝くじで1億円を当てた、となるでしょう。
しかし普通に考えて、この最尤推定値は使えないです。
それはそもそも、宝くじで1億円を当てること自体ほぼあり得ない、即ち、p(θ=宝くじで1億円を当てた) がとても低いからです。
この最尤推定の不合理な結果を避けるために、p(θ)という事前知識を使用したいところです。
もうピンと来たと思いますが、このp(θ)という事前知識は、ベイズの定理の出てくる「事前分布」です。
MAP推定は最尤推定の欠点をどう補完するか
ベイズの定理の事後分布
p(\boldsymbol{\theta}|\boldsymbol{x})=\frac{p(\boldsymbol{x}|\boldsymbol{\theta})p(\boldsymbol{\theta})}{p(\boldsymbol{x})}
MAP推定は、この事後分布を最大化するパラメーターベクトル $ \boldsymbol{\theta}=\hat{\boldsymbol{\theta}_{MAP}} $を推定します。
\begin{align}
\hat{\boldsymbol{\theta}_{MAP}} &=\text{argmax}_{\theta}[p(\boldsymbol{\theta}|\boldsymbol{x})] \\
&=\text{argmax}_{\theta}[\frac{p(\boldsymbol{x}|\boldsymbol{\theta})p(\boldsymbol{\theta})}{p(\boldsymbol{x})}]
\end{align}
$p(\boldsymbol{x}|\boldsymbol{\theta})$は、尤度関数です。
最尤推定のところで挙げた例に即すると、
「Aさんがある年にしたことθがhogeならAさんのその年の年収xが~円になる確率」です。
実観測データxが起こる確率(尤度関数)を最大化するθを、そのθそのものが起こる確率を考慮することなしに推定するのが最尤推定なのでした。
$p(\boldsymbol{\theta})$は、「事前分布」で、θそのものが起こる確率です。
先ほどの最尤推定の説明で、「最尤推定はこれを考慮していないところが欠点」と指摘したものです。
今こっちが事前に持っている想定(ベイズ的に言うなら「確信度」「信念」)にもとづく分布です。
最尤推定のところで挙げた例に即すると、
『「θ=宝くじで1億円を当てた」は、ほとんどありえないと思う。それは私が事前に持っている感覚や常識での判断による。』
『「θ=持ってた株が値上がりした」は、まあそこそこありえると思う。それは私が事前に持っている感覚や常識での判断による。』
というものです。
左辺の出力値$ p(\boldsymbol{\theta}|\boldsymbol{x}) $は、「事後分布」です。
最尤推定のところで挙げた例に即すると、
「Aさんのある年の年収がx円であった場合、その年にしたことθ各々の確率」です。
MAP推定は、その最大確率を与えるθを推定します。つまり、
「Aさんのある年の年収がx円であった場合、その年にしたことθのうち最もありうるのはhogeです。」
です。
これこそ、今推定したいことそのものです。
MAP推定の定義式(θでargmaxを取っている上式のうちベイズの定理の部分)の分子を見てみます(分母の$ p(\boldsymbol{x}) $はθと無関係なのでargmaxの観点では無視できます)。
尤度関数$p(\boldsymbol{x}|\boldsymbol{\theta})$と、事前分布$p(\boldsymbol{\theta})$を掛け算しています。
最尤推定のように尤度関数$p(\boldsymbol{x}|\boldsymbol{\theta})$を最大化するθが単純に選ばれても、次に控えている事前分布$p(\boldsymbol{\theta})$が「そのθの現実味」を加味するので、最尤推定単独のように、「確かにそのθなら尤度関数を最大化するのだろうけど、そんなθそもそもありえない」という使えない推定値を返すことが無くなります。
最尤推定のところで挙げた例に即すると、
「Aさんが宝くじで1億円当てたなら、Aさんのその年の年収が1億円以上になることをダイレクトに説明できる(尤度関数を最大化するθ~ここまでが最尤推定)けど、そもそも宝くじで1億円当てるなんてありえない(事前分布がとても低い)。だからその年に起こったのはこれじゃないんだろう。」
「Aさん手持ちの株が値上がりしたなら、Aさんのその年の年収が1億円以上になることを1億円の宝くじを当てることほどにはダイレクトには説明できない(尤度関数を最大化しないまでもそこそこ大きくするθ)けど、1億円の宝くじを当てるよりはよっぽどありえる(事前分布は1億円の宝くじを当てるよりはずっと高い)から、その年に起こったのは実はこれなんだろう。」
となります。
数式で表現すると、
尤度関数同士の比較:p(x≧1億円 | θ=宝くじで1億円当てた) > p(x≧1億円 | θ=手持ちの株が値上がり)
事前分布同士の比較:p(θ=宝くじで1億円当てた) << p(θ=手持ちの株が値上がり)
⇒
p(x≧1億円 | θ=宝くじで1億円当てた) × p(θ=宝くじで1億円当てた)
<
p(x≧1億円 | θ=手持ちの株が値上がり) × p(θ=手持ちの株が値上がり)
となるので、
θ=手持ちの株が値上がり と推定
となります。
まとめ
最尤推定は、尤度関数$ p(\boldsymbol{x}|\boldsymbol{\theta}) $を最大化するθを推定するが、そもそも「そのθの現実味」を考慮しないので、しばしば「ありえないθ」を推定してしまい、結果その推定値は使えなくなる。
MAP推定は、尤度関数$ p(\boldsymbol{x}|\boldsymbol{\theta}) $と、「そのθの現実味」である事前分布$p(\boldsymbol{\theta})$を掛け算したものを最大化するθを推定する。
これにより、(尤度関数を最大化するものの)そもそもありえないθを推定値とはせず、尤度関数の大きさと事前分布の大きさをともに考慮した推定値を返すことができる。
Author And Source
この問題について(最尤推定の欠点を補完するMAP推定), 我々は、より多くの情報をここで見つけました https://qiita.com/wing_man/items/939c91f5aea9bf4a3a25著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .