Skip to content

Instantly share code, notes, and snippets.

@shotahorii
Last active February 22, 2019 01:28
Show Gist options
  • Save shotahorii/386f75acb7efac0f6518c096293e08b9 to your computer and use it in GitHub Desktop.
Save shotahorii/386f75acb7efac0f6518c096293e08b9 to your computer and use it in GitHub Desktop.
MAP
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### MAP Estimation and Conjugate prior distribution\n",
"- https://qiita.com/jyori112/items/80b21422b15753a1c5a4\n",
"- https://mathwords.net/kyoyakujizen\n",
"- https://to-kei.net/bayes/conjugate-prior-distribution/\n",
"- https://to-kei.net/bayes/beta-bernoulli-distribution/\n",
"\n",
"MAP(Maximum a Posteriori)推定とは何かを考える前に、まず最尤推定から考える。 \n",
"最尤推定は、[ここ](https://gist.github.com/shotahorii/7355db2bc49aa746abe85dc24fa70838)でも書いたように、あるデータが観測された時、そのデータから鑑みて最も尤もらしいパラメータを推定する方法である。"
]
},
{
"cell_type": "code",
"execution_count": 141,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/latex": [
"例えば、ガチャを繰り返して20回連続で当たりを引いたとする。このガチャの真の当たり率が0.1であるというのはどれほど尤もらしいか?\n",
"これは以下のように式で表される。<br><br>\n",
"$$P(20 win|\\theta = 0.1) = 0.1^{20} = 0.000000000000000000001$$<br>\n",
"\n",
"ほぼあり得そうもない。では、真の当たり率が0.9であるというのはどれほど尤もらしいか。<br><br>\n",
"\n",
"$$P(20 win|\\theta = 0.9) = 0.9^{20} = 0.12157665459056935$$<br>\n",
"これはあり得るかもしれない。<br><br>\n",
"\n",
"と、このように、観測されたデータから、各パラメータの尤もらしさを計算することができる。<br>\n",
"ここで、この尤もらしさが最も大きいパラメータを選ぼう、というのが最尤推定である。式にすると以下。<br><br>\n",
"$$argmax_\\theta P(D|\\theta)$$<br><br>\n",
"\n",
"上で出たガチャのような二項分布を例に最尤法によるパラメータ推定を一般化して考える。例えば、N回ガチャを行ってそのうちn回当たりを引いたとする。\n",
"このガチャの真の当たり率を最尤推定してみる。真の当たり率をθとするとN回試行してn回当たりが出る確率は以下である。<br><br>\n",
"\n",
"$$P(n|N,\\theta) = \\left(\\begin{array}{cc} N \\\\ n \\end{array} \\right) \\theta^n (1-\\theta)^{N-n}$$<br><br>\n",
"\n",
"これを最大化するθを見つけ出したいので、この式を微分する。<br><br>\n",
"$$\\frac{d}{d\\theta}P(n|N,\\theta) = \\left(\\begin{array}{cc} N \\\\ n \\end{array} \\right)(n\\theta^{n-1}(1-\\theta)^{N-n}-(N-n)\\theta^n(1-\\theta)^{N-n-1})$$<br>\n",
"$$=\\left(\\begin{array}{cc} N \\\\ n \\end{array} \\right)\\theta^{n-1}(1-\\theta)^{N-n-1}(n(1-\\theta)-(N-n)\\theta)$$<br><br>\n",
"\n",
"これを0とするθを求めたいが、ここで、\n",
"$$\\left(\\begin{array}{cc} N \\\\ n \\end{array} \\right)$$\n",
"や\n",
"$$\\theta^{n-1}(1-\\theta)^{N-n-1}$$\n",
"は0にならないので、以下の式を解けば良い。<br><br>\n",
"$$n(1-\\theta)-(N-n)\\theta = 0$$<br><br>\n",
"つまり、$$\\theta = \\frac{n}{N}$$"
],
"text/plain": [
"<IPython.core.display.Latex object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%latex\n",
"例えば、ガチャを繰り返して20回連続で当たりを引いたとする。このガチャの真の当たり率が0.1であるというのはどれほど尤もらしいか?\n",
"これは以下のように式で表される。<br><br>\n",
"$$P(20 win|\\theta = 0.1) = 0.1^{20} = 0.000000000000000000001$$<br>\n",
"\n",
"ほぼあり得そうもない。では、真の当たり率が0.9であるというのはどれほど尤もらしいか。<br><br>\n",
"\n",
"$$P(20 win|\\theta = 0.9) = 0.9^{20} = 0.12157665459056935$$<br>\n",
"これはあり得るかもしれない。<br><br>\n",
"\n",
"と、このように、観測されたデータから、各パラメータの尤もらしさを計算することができる。<br>\n",
"ここで、この尤もらしさが最も大きいパラメータを選ぼう、というのが最尤推定である。式にすると以下。<br><br>\n",
"$$argmax_\\theta P(D|\\theta)$$<br><br>\n",
"\n",
"上で出たガチャのような二項分布を例に最尤法によるパラメータ推定を一般化して考える。例えば、N回ガチャを行ってそのうちn回当たりを引いたとする。\n",
"このガチャの真の当たり率を最尤推定してみる。真の当たり率をθとするとN回試行してn回当たりが出る確率は以下である。<br><br>\n",
"\n",
"$$P(n|N,\\theta) = \\left(\\begin{array}{cc} N \\\\ n \\end{array} \\right) \\theta^n (1-\\theta)^{N-n}$$<br><br>\n",
"\n",
"これを最大化するθを見つけ出したいので、この式を微分する。<br><br>\n",
"$$\\frac{d}{d\\theta}P(n|N,\\theta) = \\left(\\begin{array}{cc} N \\\\ n \\end{array} \\right)(n\\theta^{n-1}(1-\\theta)^{N-n}-(N-n)\\theta^n(1-\\theta)^{N-n-1})$$<br>\n",
"$$=\\left(\\begin{array}{cc} N \\\\ n \\end{array} \\right)\\theta^{n-1}(1-\\theta)^{N-n-1}(n(1-\\theta)-(N-n)\\theta)$$<br><br>\n",
"\n",
"これを0とするθを求めたいが、ここで、\n",
"$$\\left(\\begin{array}{cc} N \\\\ n \\end{array} \\right)$$\n",
"や\n",
"$$\\theta^{n-1}(1-\\theta)^{N-n-1}$$\n",
"は0にならないので、以下の式を解けば良い。<br><br>\n",
"$$n(1-\\theta)-(N-n)\\theta = 0$$<br><br>\n",
"つまり、$$\\theta = \\frac{n}{N}$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ここまでが最尤推定の説明。では、MAP推定とは何か。 \n",
"最尤推定は尤度、つまりあるデータが観測された時のパラメータθの尤もらしさ(=あるθにおいてそのデータが観測される確率)を最大化するθを選ぶ、という推定方法であった。 \n",
" \n",
"一方で、MAP推定で最大化するのは尤度ではなく、事後確率である。これはどういうことか。 \n",
"最尤推定では、θそのものの取り得る値の分布を考慮しなかった。どういうことかというと、例えば上のガチャ当たり率の最尤推定では、真の当たり率が0.1と0.9とどっちが可能性として高いのか、ということは考えずに、純粋に観測されたデータから最も尤度の高い真の当たり率θを選んだ。 \n",
"しかし、現実には、θの分布が(はっきりではないにしろ)少し予測できていて、恣意的な重み付けを行いたいことがある。 \n",
" \n",
"データの観測数が少ない場合などが顕著。例えば、カジノに行ったとする。コイントスを5回行って4回表が出た。これは、実際にコインが真正な0.5のコインであっても15%程度の確率で起こり得る。が、最尤法でこのコインのパラメータを推定すると0.8となる。 \n",
"カジノで毎日全てのコインが事前にチェックされている、という予備知識を鑑みると、(観測されたデータに関わらず)このコインの真のパラメータが本当に0.8である可能性は、0.5である可能性よりも低そうに思われる。 \n",
" \n",
"ここで、この「このコインの真のパラメータが本当に0.8である可能性は、0.5である可能性よりも低そうだ」というものを事前分布と呼ぶ。つまりデータが観測される前の、パラメータの分布。MAP推定では、「データが観測されることによってこの事前分布が更新されて、事後確率になる」と捉え、この事後確率を最大化するパラメータを選ぶ。"
]
},
{
"cell_type": "code",
"execution_count": 142,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/latex": [
"式で考える。データDが観測された条件下でのパラメータθの確率は$$P(\\theta|D)$$であるが、ベイズの定理により以下のように書き換えられる。<br><br>\n",
"$$P(\\theta|D) = \\frac{P(D|\\theta)P(\\theta)}{P(D)}$$<br><br>\n",
"ここで、目的はθを変数としたP(θ|D)の最大化である。右辺分母のP(D)はθによらない値なので、この最大化問題は以下のように考えることができる。<br><br>\n",
"$$P(\\theta|D) \\propto P(D|\\theta)P(\\theta)$$ であり、$$argmax_\\theta P(\\theta|D) = argmax_\\theta P(D|\\theta)P(\\theta)$$\n",
"<br><br>\n",
"P(D|θ)は尤度であり、P(θ)はパラメータθの事前分布である。つまりMAP推定は、尤度と事前分布の掛け合わせを最大化するパラメータを選ぶ。"
],
"text/plain": [
"<IPython.core.display.Latex object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%latex\n",
"式で考える。データDが観測された条件下でのパラメータθの確率は$$P(\\theta|D)$$であるが、ベイズの定理により以下のように書き換えられる。<br><br>\n",
"$$P(\\theta|D) = \\frac{P(D|\\theta)P(\\theta)}{P(D)}$$<br><br>\n",
"ここで、目的はθを変数としたP(θ|D)の最大化である。右辺分母のP(D)はθによらない値なので、この最大化問題は以下のように考えることができる。<br><br>\n",
"$$P(\\theta|D) \\propto P(D|\\theta)P(\\theta)$$ であり、$$argmax_\\theta P(\\theta|D) = argmax_\\theta P(D|\\theta)P(\\theta)$$\n",
"<br><br>\n",
"P(D|θ)は尤度であり、P(θ)はパラメータθの事前分布である。つまりMAP推定は、尤度と事前分布の掛け合わせを最大化するパラメータを選ぶ。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"では、先ほどのカジノのコインのパラメータをMAP推定してみる。 \n",
"ここで、このパラメータの事前分布はどのようにして決めればよいのか。なんとなく、0.5をピークにした釣鐘型っぽい気はするが。。。 \n",
" \n",
"ここで登場するのが、共役事前分布(Conjugate prior distribution)という概念である。 \n",
"これは、データの母集団の確率分布によって決まる分布で、「尤度をかけて事後分布を求めると、事前分布と事後分布の分布形が同じになる」\n",
"ような事前分布のことを指す。\n",
" \n",
"事前分布と事後分布が同じ分布形になって何が嬉しいかというと、計算が容易になること。特に、データを得ることで何度も確率分布を更新していく\n",
"ような場合、事後分布が次の更新の際の事前分布になるため、同じ分布形であるとこの更新が容易になる。"
]
},
{
"cell_type": "code",
"execution_count": 143,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/latex": [
"コインの例、つまりデータの母集団の分布が二項分布である場合、共役事前分布はベータ分布である。\n",
"つまり、θの事前分布はベータ分布で表される。<br>\n",
"ベータ分布は、α,βをハイパーパラメータとした分布であり、以下のように表される。<br><br>\n",
"$$P(\\theta)=\\frac{\\Gamma(\\alpha+\\beta)}{\\Gamma(\\alpha)\\Gamma(\\beta)}\\theta^{\\alpha-1}(1-\\theta)^{\\beta-1} $$<br><br>\n",
"\n",
"ここで、θの取り得る範囲は0<=θ<=1であり、α,βは共に正の実数である。<br>\n",
"このベータ分布が二項分布の共役事前分布であることを数式で見てみよう。つまり、事前分布であるベータ分布と、尤度である二項分布を掛け合わせた\n",
"事後分布がベータ分布となることを確かめる。<br><br>\n",
"$$P(\\theta|D) \\propto P(D|\\theta)P(\\theta)$$<br>\n",
"$$P(\\theta|D) \\propto \\left(\\begin{array}{cc} N \\\\ n \\end{array} \\right) \\theta^n (1-\\theta)^{N-n} \n",
"\\frac{\\Gamma(\\alpha+\\beta)}{\\Gamma(\\alpha)\\Gamma(\\beta)}\\theta^{\\alpha-1}(1-\\theta)^{\\beta-1}$$<br>\n",
"ここで、$$\\left(\\begin{array}{cc} N \\\\ n \\end{array} \\right)$$と\n",
"$$\\frac{\\Gamma(\\alpha+\\beta)}{\\Gamma(\\alpha)\\Gamma(\\beta)}$$は$$\\theta$$に対して定数とみなせる。<br>\n",
"$$P(\\theta|D) \\propto \\theta^n (1-\\theta)^{N-n}\\theta^{\\alpha-1}(1-\\theta)^{\\beta-1}$$<br>\n",
"$$P(\\theta|D) \\propto \\theta^{\\alpha+n-1}(1-\\theta)^{\\beta+N-n-1}$$<br>\n",
"$$\\alpha'=\\alpha+n$$とおき、$$\\beta'=\\beta+N-n$$とおくと、$$P(\\theta|D) \\propto \\theta^{\\alpha'-1}(1-\\theta)^{\\beta'-1}$$<br>\n",
"となり、事後分布がベータ分布に従うことがわかる。"
],
"text/plain": [
"<IPython.core.display.Latex object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%latex\n",
"コインの例、つまりデータの母集団の分布が二項分布である場合、共役事前分布はベータ分布である。\n",
"つまり、θの事前分布はベータ分布で表される。<br>\n",
"ベータ分布は、α,βをハイパーパラメータとした分布であり、以下のように表される。<br><br>\n",
"$$P(\\theta)=\\frac{\\Gamma(\\alpha+\\beta)}{\\Gamma(\\alpha)\\Gamma(\\beta)}\\theta^{\\alpha-1}(1-\\theta)^{\\beta-1} $$<br><br>\n",
"\n",
"ここで、θの取り得る範囲は0<=θ<=1であり、α,βは共に正の実数である。<br>\n",
"このベータ分布が二項分布の共役事前分布であることを数式で見てみよう。つまり、事前分布であるベータ分布と、尤度である二項分布を掛け合わせた\n",
"事後分布がベータ分布となることを確かめる。<br><br>\n",
"$$P(\\theta|D) \\propto P(D|\\theta)P(\\theta)$$<br>\n",
"$$P(\\theta|D) \\propto \\left(\\begin{array}{cc} N \\\\ n \\end{array} \\right) \\theta^n (1-\\theta)^{N-n} \n",
"\\frac{\\Gamma(\\alpha+\\beta)}{\\Gamma(\\alpha)\\Gamma(\\beta)}\\theta^{\\alpha-1}(1-\\theta)^{\\beta-1}$$<br>\n",
"ここで、$$\\left(\\begin{array}{cc} N \\\\ n \\end{array} \\right)$$と\n",
"$$\\frac{\\Gamma(\\alpha+\\beta)}{\\Gamma(\\alpha)\\Gamma(\\beta)}$$は$$\\theta$$に対して定数とみなせる。<br>\n",
"$$P(\\theta|D) \\propto \\theta^n (1-\\theta)^{N-n}\\theta^{\\alpha-1}(1-\\theta)^{\\beta-1}$$<br>\n",
"$$P(\\theta|D) \\propto \\theta^{\\alpha+n-1}(1-\\theta)^{\\beta+N-n-1}$$<br>\n",
"$$\\alpha'=\\alpha+n$$とおき、$$\\beta'=\\beta+N-n$$とおくと、$$P(\\theta|D) \\propto \\theta^{\\alpha'-1}(1-\\theta)^{\\beta'-1}$$<br>\n",
"となり、事後分布がベータ分布に従うことがわかる。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ということで、ベータ分布をθの事前分布としてMAP推定を行っていくが、その前にベータ分布がどんな形なのか見てみる。"
]
},
{
"cell_type": "code",
"execution_count": 98,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import numpy as np\n",
"from scipy import stats\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"\n",
"def drawBeta(a,b):\n",
" x = np.linspace(stats.beta.ppf(0.001, a, b), stats.beta.ppf(0.999, a, b), 100)\n",
" fig, ax = plt.subplots(1,1)\n",
" chart = ax.plot(x, stats.beta.pdf(x, a, b), lw=3, alpha=0.6)"
]
},
{
"cell_type": "code",
"execution_count": 99,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10ec0eeb8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# alpha = beta = 1\n",
"drawBeta(1,1)"
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAEACAYAAABWLgY0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XuUVNWZ9/Hv0zSgIAhyCxcFRZGAgkFuKmJxEVBU1MRr\nQhInGU2imUxmVkbfrBjJTNZKslaSyUyMMSbGxIkGNWhARAWB0iBXFWlEEAXlqiA3xebWTe/3j13l\nqWr6UnRX1ak69fusVStnVx2qHk+6n961z97PNuccIiISTWVhByAiIrmjJC8iEmFK8iIiEaYkLyIS\nYUryIiIRpiQvIhJhjSZ5M3vQzHaYWUUD58TMbKWZvWFmC7MbooiINJU1Nk/ezEYBnwAPO+cG1fH6\nycBiYIJzbpuZdXbO7cpJtCIiclwa7ck75xYBexs45WZghnNuW+J8JXgRkQKRjTH5fsApZrbQzFaY\n2dQsvKeIiGRBeZbeYwgwFmgLLDGzJc65d7Lw3iIi0gzZSPJbgV3OuUPAITN7CRgMHJPkzUyFckRE\nmsA5Z035d5kO11jiUZeZwCgza2FmbYARwNr63sg5p4dz3HPPPaHHUCgPXQtdC12Lhh/N0WhP3swe\nBWJAJzPbDNwDtPL52j3gnFtnZs8DFcBR4AHn3JvNikpERLKi0STvnLs5g3N+Dvw8KxGJiEjWaMVr\nSGKxWNghFAxdi4CuRUDXIjsaXQyV1Q8zc/n8PBGRKDAzXI5vvIqISBFSkhcRiTAleRGRCFOSFxGJ\nMCV5EZEIU5IXEYmwbNSuESlIhw/Dzp2wYwfs2gX79sHHH/vHwYNw6JA/5+jR4N+UlUHr1v5xwgnQ\nvj2cfLL/386doWtX6NYN2rYN779L5HhonrxEwqFDsGEDbNoEmzf7x+7dufu8du3gtNOCx5ln+j8E\nIrnQnHnySvJSlKqrYf16WLPG/++WLRD2j1a3bnDWWTBggH+ceGK48Uh0KMlLSThwAF5/3T/WrfND\nLQ0pK4MuXXzy7dIFOnYMhl/atg2GZFq0CP7N0aNw5Ij/ZnDwIHz0UfD48MNg+KeqqvHPPvNMGDwY\nzj/ff7ZIUynJS2RVVfmkvnw5vPmm78HXxQx69YK+faF3bz+E0r17egLPFud8wt+82Q8Pvfuuf9QX\nG/iEP2wYDB8ObdpkPyaJNiV5iZytW2HRIli2zPfg69K1K5x7Lnz2sz6Jhjk8UlUF773nv2GsXu2T\nf13Ky2HIELjoIjj7bP/HSaQxSvISCTU1UFEB8+f7cfa69O4NQ4fCeef5JF+oPvrI/7e8+qpP/HX9\n2HfvDuPGwciR0LJl/mOU4qEkL0WtqgoWL4a5c/1Ux9o6dYILL/RDHYWc2Ouzf79P9osX193Db9sW\nxoyBsWM1NVPqpiQvRenIEfjHP3xy37cv/bWyMj+sMWoU9O8fnWGNLVv8MNSSJcfeOG7dGmIxuPRS\nP0VTJElJXorK0aPw8svw9NN+YVKqNm1g9Gif7KI8I+XgQX8NFiw4dj5/q1YwfjxMnOhn/4goyUtR\ncA5eew3+/nc/FTHVySfDhAlw8cW+R1sqamr8UM6cObB9e/prbdvC5Zf7P3jlWpte0nKa5M3sQeAK\nYIdzblAD5w0DFgM3OOeerOccJfkStXUrTJ8Ob7+d/nyHDnDZZX62SSnffHTOTxV9+mnYti39tW7d\n4Prr4ZxzwolNwpfrJD8K+AR4uL4kb2ZlwDzgIPBHJXlJOnDA99xfeil9hkmbNjBpkr/h2KpVePEV\nmpoavyZg1qxjh3HOPRduuMEv7JLSkvPhGjPrDTzdQJL/DnAEGAbMVpIX5/wwxPTpfnZJUlmZT+yT\nJ2smSUOqqyEe9z37Q4eC51u2hCuv9GP2uVjoJYUp1CRvZj2AR5xzY8zsocR5SvIlbM8eeOQReOON\n9OcHDPDDDt27hxNXMdq/H556yk+/TP3V6dULpk6FPn1CC03yKOwk/zjwc+fc8kSSn+2cm1HP+yjJ\nR5hzfmrgY4+l9z47dIAbb/QLmKIyFTLf3nsP/vIXPwUzyczfz5g8WTdmoy7sJL8xeQh0BiqBW51z\ns+o4191zzz2ftmOxGLFYrClxS4H56COfhCoqgufM4JJL4JprNBUwG2pq4IUX/Hh9aoG0Xr3gllv8\n/0o0xONx4vH4p+0f/ehHOU/yffBJ/txGztNwTQmqqIA//QkqK4PnunaFr37VFwyT7Nq1C/785/TS\nD+XlcO21ftWsvi1FT65n1zwKxIBOwA7gHqAV4JxzD9Q694/oxmvJqK6GJ5/0tWZSjRnjE45mzeSO\nc34h1VNPpffqBw2Cr3wFTjopvNgk+7QYSvJu1y743e98ud2kDh38sEH//uHFVWo++AAefPDY/x++\n/nW/gYlEg5K85FVFBTz0UHoJYPUgw1Nd7Xv0L7wQPFdWBp//vK9yqeGb4qckL3lRUwOzZ8MzzwTP\nlZf7ZDJmjJJJ2N54w//x/eST4LmhQ/1US934Lm5K8pJzhw7BH/7gN8RI6tgRvvENzdUuJHv3wv33\n+ymXST16wO23Q+fOoYUlzaQkLzm1axfcey+8/37w3Gc/68d9NTxTeKqr4fHH4cUXg+dOOsn/QdY4\nfXFSkpecWb/e9wxTp0dOnAhXX+3HfaVwLV7sVx4n954tK4MvfckXg5PioiQvObF8uZ//fvSob5eX\n+/HdkSNDDUuOw4YN8NvfptcPuuwymDJF91CKiZK8ZJVz8NxzvnpkUvv28M1vwhlnhBeXNM2ePXDf\nfeklEUaMgC9/WeUQioWSvGRNTQ389a++NHBS9+7w7W/7vValOB0+DA88kF407uyz/R/uE08MLy7J\njJK8ZEV1tV9Y89prwXP9+vlE0KZNeHFJdtT1B/zUU+E739GesoVOSV6a7fBhP3a7dm3w3PDhfoGT\nvtJHh3Pw/PN+8VRS167wr/+qb2qFTElemqWyEn79a3j33eC5cePguut0cy6qFi+Ghx8OatR36OAT\nvWr9FyYleWmy/fvhf/4n/abclCl+BoYSfLStXOkXuCWnWLZrB9/9LvTsGW5cciwleWmSjz+G//5v\n2L7dt83gppt8DXgpDW+9Bb/5jR+uA78l43e/68fqpXAoyctx27cPfvlL2LHDt838+PsFF4Qbl+Tf\nxo3+21xyN682bfzNWJWrKBzNSfJas1iCPv44PcGXlcHXvqYEX6rOOMP33pMzqA4cgF/9CjZtCjcu\nyQ4l+RKzf/+xCf6f/xmGDQs3LglXnz7wb//mh2sADh70iT71Xo0UJyX5EvLJJ34MPlloLJnghwwJ\nNy4pDKeemp7oDxzwPy/btoUblzSPknyJSPbMkr+wZn6IRgleUvXq5adSJoduKit9ok9+85PioyRf\nAo4c8aWCk1+9zfw2fUOHhhuXFKbTTvM3XpMbjezf7xP93r3hxiVN02iSN7MHzWyHmVXU8/rNZrYq\n8VhkZudmP0xpqupqvxfrO+8Ez02d6gtUidSnTx/4l38JNmPfu9cn+tRqllIcMunJPwRMbOD1jcBo\n59xg4MfA77MRmDSfc75UcGpRquuuUz1xyUzfvr5uUYsWvr1jh59qefBguHHJ8Wk0yTvnFgH1flFz\nzi11zn2UaC4FtF6uADgHTzwBK1YEz02eDOPHhxeTFJ8BA/wOYMnVz1u2+E1kkqtkpfBle0z+68Cz\nWX5PaYJ582D+/KA9ZgxceWV48UjxGjLED/ElrVvnvyFqXWNxyFp9QTMbA9wCjGrovGnTpn16HIvF\niMVi2QpBEpYtgxkzgvb558MNN6gWjTTdRRf5RXTJjWRWrPBFzb7whXDjiqp4PE48Hs/Ke2VU1sDM\negNPO+cG1fP6IGAGMMk5t6GB91FZgxxbt86Pm9bU+Ha/fv4GWsuW4cYlxc85mD4dUnPP9df7iqWS\nW/koa2CJR10ffho+wU9tKMFL7r3/vh8vTSb4Hj38jTMleMkGM/+N8HOfC5574glYtSq8mKRxmUyh\nfBRYDPQzs81mdouZ3WZmtyZOuRs4BbjPzFaa2fIcxiv12L/f14RPznzo0MH34LWjk2RTss5Rcq9f\n53y54s2bw41L6qcqlBFQVeXr0Wzc6NutW8P3vqdysZI7+/fDT38Ku3b5docOcNdd0LFjuHFFlapQ\nljDn4M9/DhK8mZ/ypgQvudSuHdxxR7AJ+L596XXppXAoyRe5555Lnwt/3XUwqM7b4yLZ1b07fOMb\nfggH/Bx6Ta0sPEryRWzVKpg5M2iPHg1jx4YXj5Se/v3h5puD9muvwTPPhBePHEtJvkht2wYPPhj0\nmvr1gxtv1Fx4yb+LL/aL7ZKeftoneykMSvJFqLIS7rsvGP/s3Bluuy2oMSKSb9df73v1SQ89FOwd\nLOFSki8yNTW+B5+c1dC6Ndx+O5x0UrhxSWkrK4Nbb4UuXXz7yBH47W/9xiMSLiX5IjN7NqxZE7Rv\nucUvehIJW9u28K1v+Y4HwM6dvkevG7HhUpIvIqtWpd/UmjQpffWhSNh69ICvfCVoV1ToRmzYlOSL\nxM6d8Mc/Bu3PfhamTAkvHpH6nH8+TJgQtGfPTt/TQPJLSb4IVFX53Z0OHfLtTp38Btxl+n9PCtQ1\n1wQ3Yp3zHZQ9e8KNqVQpTRSB6dNh61Z/XF7uZ9K0bRtuTCINKSvzK687dPDtykp44AFtNhIGJfkC\nt3QpLFoUtG+4AXr3Di8ekUy1a+dn3CS/cb77Ljz5ZLgxlSIl+QK2fTv85S9Be/hwv/BEpFj07QvX\nXhu058/XQql8U5IvUEeOwO9/78fjAT7zGfjSl7SiVYrP+PEweHDQfvhh2L07vHhKjZJ8gXr88WDF\nYMuWfhw+Of9YpJiYwVe/6icMgN/z4A9/gKNHQw2rZCjJF6BXXoF//CNo33ijFjxJcWvTxt+ITY7P\nb9wIs2aFG1OpUJIvMLt2wf/9X9AeOtRvoixS7M44A66+Omg/9xy8+WZ48ZQKJfkCkqxLk5wP37mz\nxuElWiZMgAEDgvZDD/ldpiR3lOQLyDPPBDs8lZX5BU/JnXdEosDM11tq3963P/7Y34hVfZvcyWQj\n7wfNbIeZVTRwzv+a2dtm9rqZnZfdEEvDhg3pNT6uugr69AktHJGcad/e34hNqqhIvwcl2ZVJT/4h\nYGJ9L5rZZUBf59xZwG3A/VmKrWQcOuSXfSd7M2edBRPrveIixW/gwPRdzB5/HD74ILx4oqzRJO+c\nWwTsbeCUKcDDiXOXASebWbfshFcapk8P6sOfeCL80z+pLo1E37XXBrPGqqr8/SiVPci+bKSSnsCW\nlPa2xHOSgZUrYcmSoP3FL8Ipp4QXj0i+tGwJX/uar8cEsHkzzJkTbkxRVJ7vD5w2bdqnx7FYjFgs\nlu8QCsb+/fDII0F7xAgYNiy8eETyrVcvX7HyiSd8+9lnYdAg3Y+Kx+PE4/GsvJe5DG5rm1lv4Gnn\n3KA6XrsfWOiceyzRXgdc4pzbUce5LpPPKwXOwf33w+uv+3aHDnDPPX7RiEgpcQ5++UtYv963u3WD\nu+/2PX3xzAznXJMmU2c6XGOJR11mAV9OBDIS2FdXgpd0y5YFCR78bjpK8FKKzPzPf7Jsx44d8NRT\n4cYUJZlMoXwUWAz0M7PNZnaLmd1mZrcCOOfmAO+a2TvA74Bv5TTiCNi7F/7616B9ySXpC0RESk3n\nznD99UF7/nx4663w4omSjIZrsvZhGq7BOfj1r4PNuLt08V9NVXxMSp1z8JvfwOrVvt25M/zwh/rd\ngPwM10iWLFkSJPhkdT79EIv434epU4Nhy127NGyTDUryebRvn1/0kTR2LJx5ZnjxiBSak0/2u58l\nLVwY3JCVplGSzxPn/C5PBw/6dpcu6RX5RMQbMcJPo0x6+GE4fDi8eIqdknyeLFsWjDWCn03QqlV4\n8YgUKjO/KDBZnO/DD2HmzHBjKmZK8nmwf3/6MM2YMb4+jYjUrUOH9Nk2Cxb4jcDl+CnJ58Fjj0Fl\npT/u1Mmv8BORhl1wQTC12Dk/bKPaNsdPST7HVq+GFSuC9he/qNk0Ipkw85vmJIc1t2+H558PN6Zi\npCSfQ4cOpdemGTnSl1gVkcx06pQ+QWHOHHj//fDiKUZK8jn097/71a0A7dqljzGKSGbGjAkKllVX\n+z2QS3xN5XFRks+R996D1CJyN9wAbduGFY1I8Sorgy9/OdhjYcMGWLQo3JiKiZJ8DtTU+Dnxyd7G\nwIEwdGi4MYkUs54903dLe/JJvz+sNE5JPgcWLIAtiW1UWraEm2/2N5FEpOkmT/b1bAAOHIC//S3c\neIqFknyW7dmTvnDjiiuCH0wRabqWLf3stKRly2Dt2vDiKRZK8lk2fTocOeKPe/SASy8NNx6RKBkw\nIH33tEce8fvDSv2U5LOoogJWrQraX/oStGgRXjwiUXT99eklDzR3vmFK8llSVeV78UmjRkHfvuHF\nIxJV7dunrxp/9llflljqpiSfJc8+C7t3++O2bVW6QCSXLr4Yevf2x9XVvoOlufN1U5LPgp07078y\nXnMNnHRSePGIRF1ZWfqstdWr/XCpHEtJvpmc872IZOGkPn38UI2I5FafPr5Hn/TYY8GkBwlklOTN\nbJKZrTOz9WZ2Zx2vtzezWWb2upmtNrOvZj3SArVqVfp2fpoTL5I/V18drCTfvdsPm0q6RpO8mZUB\n9wITgYHATWbWv9ZptwNrnHPnAWOAX5hZebaDLTRVVel14kePDsYJRST32raFz38+aM+dq5uwtWXS\nkx8OvO2c2+ScqwKmA1NqneOAdonjdsBu51zkKz/PnZt+s3VK7asiIjl34YXpBcyeeCLUcApOJkm+\nJ7Alpb018Vyqe4EBZrYdWAV8JzvhFa49e9K/GqZ+bRSR/DGDG28M2q+/Dm++GV48hSZbQyoTgZXO\nubFm1heYZ2aDnHOf1D5x2rRpnx7HYjFisViWQsivGTOClXannqqbrSJhOv1036NfvNi3p0+HH/4Q\nyot00DgejxNPLWPbDOYamVxqZiOBac65SYn2XYBzzv0s5ZzZwE+ccy8n2vOBO51zr9R6L9fY5xWD\n9evhF78I2t/7Hpx5ZnjxiIivSnn33X6zHoAvfCE6ZUXMDOdck6Z0ZDJcswI408x6m1kr4EZgVq1z\nNgHjE8F0A/oBG5sSUKGrqfFTtZKGD1eCFykE7dvDlVcG7dmzYf/+8OIpFI0meefcUeAOYC6wBpju\nnFtrZreZ2a2J034MXGhmFcA84D+cc3tyFXSYXn4Ztm71x61apd/ZF5FwxWLQrZs/PnQIZtXujpag\nRodrsvphRT5cc/Cg/zqY7B1cdZWvcS0ihWP1arj3Xn9sBj/4AfTqFW5MzZXr4RpJmDMnSPAdO0Zn\nvE8kSs45x5ckBr8i/YknSruujZJ8hnbuhPnzg/bnP++Ha0SksJjBddcFe8KuW1fadW2U5DP05JNw\n9Kg/PuMM7dkqUsh69PAr0JP+9regvlSpUZLPwNtvw8qVQfuGG1SfRqTQXXkltGnjj3fuhJdeCjee\nsCjJN8K59A2DR4wIllCLSOE66aT0iRGzZ/sNwEuNknwjXnkF3nvPH5eXqz6NSDGJxaBzZ39cWVma\nVSqV5BtQVQVPPRW0x42DTp3Ci0dEjk95efoubQsWlF6VSiX5BixcmF5l8rLLwo1HRI7f+ef72jbg\nb77+/e/hxpNvSvL1qKz08+KTrrwy2CFeRIpHckpl0ooVwRBsKVCSr8ecOX6FK0DXrunTsUSkuPTt\nC0OGBO0ZM0pngZSSfB1274bUKp/XXAMtWoQWjohkwTXXBAuk1q8Ptu2MOiX5OsyaFSycOP10+Nzn\nwo1HRJqva9f0jb+ffNJXlY06Jflatm6FZcuC9rXXauGTSFRccQW0bu2Pt22D5cvDjScflORreeqp\nYKzu3HOhX79w4xGR7GnfPr2w4MyZwQ5vUaUkn2L9enjjDX9s5nvxIhItl14K7dr54z174MUXw40n\n15TkE5xLX/g0cqQvciQi0XLCCenlDubMCbYMjCIl+YSKCtiY2LCwvDx9GzERiZaLLw5Wr1dWwrx5\n4caTS0ry+DvsqavgRo9W+QKRKKvdkZs3L7r7wSrJ41fAbd/uj1u3hssvDzceEcm9ESOge3d/fPgw\nPPdcuPHkSkZJ3swmmdk6M1tvZnfWc07MzFaa2RtmtjC7YeZOdXX6Zr/jxgU3ZUQkusrK0qvKxuOw\nd29o4eRMo0nezMqAe4GJwEDgJjPrX+uck4HfAFc4584BrjvmjQrUyy8HVenatoUJE8KNR0Ty57zz\ngv0hqqvh6adDDScnMunJDwfeds5tcs5VAdOB2lXVbwZmOOe2ATjniqKYZ1VVehGySZNUhEyklJil\nlyJessTvIhUlmST5nsCWlPbWxHOp+gGnmNlCM1thZlOzFWAuvfgi7Nvnj9u39xsMiEhp6d/fP8BP\nwpg9O9x4sq08i+8zBBgLtAWWmNkS59w7tU+cNm3ap8exWIxYSJm19o2Wyy+HVq1CCUVEQnbVVbBu\nnT9evtzvHZG8KRuGeDxOPLVKYjOYa6TeppmNBKY55yYl2ncBzjn3s5Rz7gROcM79KNH+A/Csc25G\nrfdyjX1evjz3XLD4qWNH+PGP/bQqESlNv/51sOL9/PPh1lvDjSeVmeGca1IVrUyGa1YAZ5pZbzNr\nBdwIzKp1zkxglJm1MLM2wAhgbVMCyoeDB+H554P25MlK8CKl7qqrguNXX/XFCqOg0STvnDsK3AHM\nBdYA051za83sNjO7NXHOOuB5oAJYCjzgnHszd2E3z/z5wa7tnTvDhReGG4+IhK93bz/bJmlW7a5s\nkWp0uCarH1YAwzUHDsD3vx/s+nTLLb5OjYjItm3wX/8VVKL9/vd98g9brodrImX+/CDBd+sGw4eH\nG4+IFI6ePf14fFIUZtqUVJI/cABeeCFoT54cbAcmIgI+LyQ3CqqogE2bwo2nuUoqxc2fH5QU7dYN\nhg0LNx4RKTw9ekSrN18ySb52L/6KK9SLF5G6XXFFdHrzJZPmXngh6MV/5jMwdGi48YhI4erePT1H\nFHNNm5JI8gcO+KGaJPXiRaQxqWPzq1fDe++FGk6TlUSqW7AgvRefOt4mIlKX2r351GKGxSTySf7Q\nofRe/OWXqxcvIplJ3UBo1SrYsqX+cwtV5NPdwoXB6tauXTWjRkQy16MHDBkStIuxNx/pJH/4cPoG\nvZddpl68iByf1N78a68FW4UWi0invBdf9Duxg9+Ye8SIcOMRkeJz6qkweHDQLrbefGST/JEjx/bi\nW7QILx4RKV6TJwfHr7wCH3wQXizHK7JJ/uWX4eOP/XHHjnDBBeHGIyLFq3dvGDjQHzsHzz4bbjzH\nI5JJvro6vV78xImqFy8izZPam1++HHbvDi+W4xHJJL9sGezd64/btYNRo8KNR0SKX9++0K+fP66p\ngblzw40nU5FL8jU16Xu3XnoptGwZXjwiEh2pM20WLQqGhAtZ5JL8a6/Bzp3++MQT4ZJLwo1HRKKj\nf3/o08cfV1enFz0sVJFK8rVviIwZAyecEF48IhItZn6mXlI8Hiy2LFSRSvKrVweb77ZqBePGhRuP\niETP4MF+JSz4BZcLFoQbT2MySvJmNsnM1pnZejO7s4HzhplZlZldm70QM5c6Fj96NJx0UhhRiEiU\nmcGkSUF7wQKf7AtVo0nezMqAe4GJwEDgJjPrX895PwWer/1aPrzzDmzY4I9btIDx48OIQkRKwbBh\n0LmzP66s9OtyClUmPfnhwNvOuU3OuSpgOjCljvO+DfwN2JnF+DKWOi9+5Ei/AEpEJBfKyvzMvaR5\n8+Do0fDiaUgmSb4nkFpgc2viuU+ZWQ/gaufcbwHLXniZ2b7db9HlY4EJE/IdgYiUmosu8utwAPbs\ngRUrwo2nPtlaB/orIHWsvt5EP23atE+PY7EYsVis2R+e2os/7zy/MYiISC61bAljx8LMmb79/PO+\nCKJloZsbj8eJx+PNfyPAnHMNn2A2EpjmnJuUaN8FOOfcz1LO2Zg8BDoDlcCtzrlZtd7LNfZ5x2v3\nbvjBD/wiKIC77oLTT8/qR4iI1OnAAZ9zkjdeb78dBg3K/ueYGc65Jv35yGS4ZgVwppn1NrNWwI1A\nWvJ2zp2ReJyOH5f/Vu0Enyvz5gUJ/uyzleBFJH/atPEz+ZJSZ/gVikaTvHPuKHAHMBdYA0x3zq01\ns9vM7Na6/kmWY6xX7bvaEyfm65NFRLzx44My5hs2BLP8CkVGY/LOueeAs2s997t6zv2nLMSVkXjc\n140H6NULBgzI1yeLiHgdOvix+MWLfXvuXPjmN8ONKVXRrnitqvL7tyZNmJCdGx4iIscrdTrlqlWw\nY0d4sdRWtEl+yRLYv98fd+wIQ4eGG4+IlK4ePeCcc/yxc+m70oWtKJN8TU36RUwdExMRCUPqPcEl\nSwqnDHFRJvlVq9LLCWtTEBEJ21ln+W0CwZchTh1ODlNRJvnUHVlGj1Y5YREJX+3V9vF4YRQuK7ok\nv2EDbEwsvWrRwq84ExEpBEOGBIXLDhwIZtyEqeiSfOpOLCNG+OlLIiKFoKwsvQLu/PnBYs2wFFWS\n37ULVq4M2ionLCKF5sIL/UpYgA8/DIonhqWokvz8+X56EviFTz17Nny+iEi+tW6dXuog7OmURZPk\nDxxIL2GgXryIFKoxY/zQDfgNjd57L7xYiibJL1oU3Knu0UMlDESkcHXo4HePSkq9l5hvRZHkjx5N\n3yx3/HiVMBCRwpZa6uDVV/3GImEoiiT/2muwd68/btcOhg8PNx4Rkcaceqovfw5+hk1qRzWfCj7J\nO5f+VScW8zuyiIgUutR7h6lDzvlU8En+3XeDmxbl5XDJJaGGIyKSsXPPha5d/fHBg76mTb4VfJKf\nPz84Hj482DhXRKTQmaWvyk+dBp4vBZ3k9+zx4/FJ48aFF4uISFNceKEvpAi+sOIbb+T38ws6ycfj\n6fu39uoVajgiIsetdev0SrmpoxP5kFGSN7NJZrbOzNab2Z11vH6zma1KPBaZ2bnNDezwYfjHP4K2\nevEiUqzGjAmmfa9dC9u35++zG03yZlYG3AtMBAYCN5lZ/1qnbQRGO+cGAz8Gft/cwJYu9atcAbp0\n8TcwRESU5n6KAAAHE0lEQVSKUadO8LnPBe18Lo7KpCc/HHjbObfJOVcFTAempJ7gnFvqnPso0VwK\nNKuqjHPpc0pTlwiLiBSj1NGI5cuhsjI/n5tJ6uwJbElpb6XhJP514NnmBLVuHXzwgT8+4QS46KLm\nvJuISPj69oXTTvPHVVV+3nw+ZLV/bGZjgFuAY8btj0dqL/6CC7Tzk4gUPzM/KpGUOrEkl8ozOGcb\ncFpKu1fiuTRmNgh4AJjknNtb35tNmzbt0+NYLEYsFkt7/cMPYfXqoJ16UUREitmwYTBjBnzyiZ8i\nvmpV+lh9UjweJx6PZ+UzzTUyM9/MWgBvAeOA94HlwE3OubUp55wGzAemOueWNvBerrHPe+KJ4KbE\nOefAt7+d0X+HiEhRmDkT5szxx/36wb//e+P/xsxwzjWpLGOjwzXOuaPAHcBcYA0w3Tm31sxuM7Nb\nE6fdDZwC3GdmK81seVOCOXw4vWa8evEiEjWjRwcTSdavh61bc/t5jfbks/phjfTkX3wRHn3UH3ft\nCv/5nyopLCLR8/vfwyuv+ONRo2Dq1IbPz2lPPl+cg4ULg/bYsUrwIhJNqfVsli3L7XTKgknyb70F\n77/vj1u39rNqRESi6IwzfL158NMpU4eps61gknzqjWRNmxSRKKs9nfLFF3M3nbIgkvzevfD660G7\n1qxKEZHIGTYM2rTxx7t2wZo1ufmcgkjyL70U1Fg++2zo3j3ceEREcq1Vq/TV/FmaFn+M0JN8dXV6\ntUlNmxSRUnHJJcEEkzVrfL35bAs9yb/6Kuzf7487doTBg8ONR0QkX7p0gYED/bFzfmw+20JP8qlf\nUVIXCYiIlILU0YvFi+HIkey+f6gpdfNm2LjRH7dokb57iohIKRg40Pfowe+hsbxJ9QLqF2qS37kz\n2Pvw/POhffswoxERyT8zPzYPUF7uZxtm9f3DLmtw+LD/y9W7d1BrWUSklFRW+vH4UaPq7uw2p6xB\n6EleREQaFonaNSIikn1K8iIiEaYkLyISYUryIiIRpiQvIhJhSvIiIhGmJC8iEmEZJXkzm2Rm68xs\nvZndWc85/2tmb5vZ62Z2XnbDFBGRpmg0yZtZGXAvMBEYCNxkZv1rnXMZ0Nc5dxZwG3B/DmKNlHiu\nikcXIV2LgK5FQNciOzLpyQ8H3nbObXLOVQHTgSm1zpkCPAzgnFsGnGxm3bIaacToBzigaxHQtQjo\nWmRHJkm+J7Alpb018VxD52yr4xwREckz3XgVEYmwRguUmdlIYJpzblKifRfgnHM/SznnfmChc+6x\nRHsdcIlzbket91J1MhGRJmhqgbLyDM5ZAZxpZr2B94EbgZtqnTMLuB14LPFHYV/tBN+cIEVEpGka\nTfLOuaNmdgcwFz+886Bzbq2Z3eZfdg845+aY2eVm9g5QCdyS27BFRCQTea0nLyIi+ZWTG69aPBVo\n7FqY2c1mtirxWGRm54YRZz5k8nOROG+YmVWZ2bX5jC+fMvwdiZnZSjN7w8wW5jvGfMngd6S9mc1K\n5IrVZvbVEMLMOTN70Mx2mFlFA+ccf950zmX1gf/D8Q7QG2gJvA70r3XOZcAzieMRwNJsx1EIjwyv\nxUjg5MTxpFK+FinnzQdmA9eGHXeIPxcnA2uAnol257DjDvFa/D/gJ8nrAOwGysOOPQfXYhRwHlBR\nz+tNypu56Mlr8VSg0WvhnFvqnPso0VxKdNcXZPJzAfBt4G/AznwGl2eZXIubgRnOuW0AzrldeY4x\nXzK5Fg5olzhuB+x2zlXnMca8cM4tAhraxrtJeTMXSV6LpwKZXItUXweezWlE4Wn0WphZD+Bq59xv\ngSjPxMrk56IfcIqZLTSzFWY2NW/R5Vcm1+JeYICZbQdWAd/JU2yFpkl5M5MplJIHZjYGPytpVNix\nhOhXQOqYbJQTfWPKgSHAWKAtsMTMljjn3gk3rFBMBFY658aaWV9gnpkNcs59EnZgxSAXSX4bcFpK\nu1fiudrnnNrIOVGQybXAzAYBDwCTnHMNfV0rZplci6HAdDMz/NjrZWZW5ZyblacY8yWTa7EV2OWc\nOwQcMrOXgMH48esoyeRa3AL8BMA5t8HM3gX6A6/kJcLC0aS8mYvhmk8XT5lZK/ziqdq/pLOAL8On\nK2rrXDwVAY1eCzM7DZgBTHXObQghxnxp9Fo4585IPE7Hj8t/K4IJHjL7HZkJjDKzFmbWBn+jbW2e\n48yHTK7FJmA8QGIMuh+wMa9R5o9R/zfYJuXNrPfknRZPfSqTawHcDZwC3JfowVY554aHF3VuZHgt\n0v5J3oPMkwx/R9aZ2fNABXAUeMA592aIYedEhj8XPwb+lDK18D+cc3tCCjlnzOxRIAZ0MrPNwD1A\nK5qZN7UYSkQkwlSFUkQkwpTkRUQiTEleRCTClORFRCJMSV5EJMKU5EVEIkxJXkQkwpTkRUQi7P8D\npr1GOyCkcggAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10ebce4a8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# alpha = beta = 2\n",
"drawBeta(2,2)"
]
},
{
"cell_type": "code",
"execution_count": 101,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAEACAYAAABWLgY0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmU1NWZ//H30yzNEoQgBptdWYIYlUWhUZEGNQJuiWTU\naOKMvyRi1BlnNDOZ/CZz5GQyk5k5yfxiJjpoJnHiTFwyGndQUWhA2YQGFRUFUWRRjCKyIy3P749b\n5beq6aaru6vqW8vndU6dc2/Vl6rnFN1P3+9dzd0REZHSVBF3ACIikjtK8iIiJUxJXkSkhCnJi4iU\nMCV5EZESpiQvIlLCMk7yZlZhZnVm9mgTr//CzNaZ2WozG5m9EEVEpLVa0pK/EXi1sRfMbCow2N2H\nAjOAWVmITURE2iijJG9m/YBpwH82ccnFwN0A7r4M6G5mvbMSoYiItFqmLfn/B/w10NTy2L7AppT6\nlsRzIiISo2aTvJmdD2xz99WAJR4iIlIE2mdwzRnARWY2DegMdDOzu939qpRrtgD9U+r9Es+lMTNt\nlCMi0gru3qoGdrMteXf/v+4+wN2PBy4H5jVI8ACPAlcBmFk1sMPdtzXxfgX/uOWWW2KPQXEqzmKN\nUXFm/9EWmbTkG2VmM0LO9jvdfbaZTTOz9cAe4Oo2RSUiIlnRoiTv7guABYnyHQ1euyGLcYmISBZo\nxWsjampq4g4hI4ozu4ohzmKIERRnIbG29ve06MPMPJ+fJyJSCswMz9XAq4iIFC8leRGREqYkLyJS\nwpTkRURKmJK8iEgJU5IXESlhSvIiIiVMSV5EpIQpyYuIlDAleRGREqYkLyJSwpTkRURKmJK8iEgJ\nU5IXESlhSvIiIiVMSV5EpIQpyYuIlLBmk7yZVZrZMjNbZWYvm9ktjVwz0cx2mFld4vHD3IQrIiIt\n0exB3u5+wMwmufteM2sHPG9mc9x9eYNLF7r7RbkJUyT73OGDD8Ij6aijoKoKKnSPKyWi2SQP4O57\nE8XKxL9p7KDWVp0/KJJP9fVQVwfLl8OGDbBnz+HXVFbCgAEwahScfjp07pz/OEWyJaODvM2sAlgJ\nDAZuc/cfNHh9IvAgsBnYAvy1u7/ayPvoIG+JxYEDMHcuLFgAO3dm/u8qK6G6Gs4/H7p3z118IkfS\nloO8M0ryKR90FPAwcENqEjezzwGHEl06U4Fb3X1YI/9eSV7ybs0auOce+PDDw1/r0gX69oV27UL3\nzbZtsGPH4dd16gTTp8OECWC6Z5U8a0uSz6i7Jsndd5rZfGAK8GrK87tTynPM7HYz6+nu2xu+x8yZ\nMz8r19TUUFNT04qwRZp38CD87newZEn68z16wMSJMGYMfOELhyftHTvgpZdg/nzYujU8t39/eK/l\ny+E731GrXnKrtraW2trarLxXsy15M+sFHHT3j82sM/AU8M/uPjvlmt7uvi1RHgv83t0HNfJeaslL\nXnz8Mdx+O7z9dvRc166hNV5dHVruzXGHV1+F++6D99+Pnv/85+H666F//6yHLdKonHbXmNlJwG8J\n0y0rgPvd/R/NbAbg7n6nmV0PfBc4COwD/srdlzXyXkryknNbtsC//zt89FH03GmnwWWXQbduLX+/\ngwdh9myYMyckfoCOHeHb34ZTTslOzCJHkrc++bZSkpdc27oVfvYz2J3oQDQLyb2mpu196a+8Ar/6\nFezbF+oVFXDttUr0kntK8iKEQdOf/jSaPdOpE8yYASNGZO8z3nsPfvlL+OMfQ719e7juOjjxxOx9\nhkhDbUnyWvIhJeGjj+Df/i09wf/lX2Y3wQMceyx873twzDGhXl8f+v7Xrcvu54hki5K8FL1PPoHb\nboumPlZWwp//ORx3XG4+r0cPuOkmOProUK+vh1mzGp+iKRI3JXkpau7w29/Cpk2hXlERuk+GDMnt\n5/bsGRJ9ciB39+7Qoj9wILefK9JSSvJS1ObMgRUrovoVV8Dw4fn57F694LvfjaZjbt4Md90VzcAR\nKQRK8lK01q2DRx+N6jU1YUVqPg0eDFdeGdVXrYIsrWERyQoleSlKe/fCb34TtZqHDoVLL40nljPO\ngEmTovoDD0QrZUXipiQvRcc9bDGwPbFpRpcu8K1vZbaKNVemT4d+/UK5vj7Mpz94ML54RJKU5KXo\nLF+e3g//zW+GrQbi1KFDWAHboUOob90KDz0Ub0wioCQvRWbXLrj//qh+5pkwenR88aSqqoI/+ZOo\nPm8evPVWfPGIgJK8FJnf/z466OPoo+Prh2/KWWdFq1/d4e67Q/eNSFyU5KVorFkTumqSrrwyLHwq\nJGYhro4dQ33rVnj66XhjkvKmJC9F4cCBMNiaNG5c4e4Xc/TRcPHFUf2JJ8K+OiJxUJKXovDkk9Fs\nmq5d0/u+C9HkyTBwYCjX14duJpE4KMlLwfvww/Quj+nTW7cvfD5VVMA3vhFtb7xmTXiI5JuSvBS8\nBx6IBi8HDoTTT483nkwNGBBm/yT9/vcahJX8U5KXgvb661BXF9Uvv7y4DtK++GLo3DmUt23TlgeS\nf0ryUrDc0/uyx42D44+PL57W6NYNLrggqj/2WHRqlUg+KMlLwVq+POzsCGFK4iWXxBtPa9XUQO/e\nobx/f9g5UyRfmk3yZlZpZsvMbJWZvWxmtzRx3S/MbJ2ZrTazkdkPVcpJfX36DpPnnBMO6yhG7dvD\nV78a1Wtro5lCIrnWbJJ39wPAJHcfBYwEpprZ2NRrzGwqMNjdhwIzgFm5CFbKx6JF8MEHody1K3z5\ny/HG01YjR0YnVdXXh24bkXzIqLvG3fcmipVAe6DhsQgXA3cnrl0GdDez3tkKUsrLgQNhAVHStGnR\n4GWxMkvvblqyRNsRS35klOTNrMLMVgHvAXPd/YUGl/QFNqXUtySeE2mxZ58NG5FB2F1y4sR448mW\nYcPS97V55JF445Hy0D6Ti9z9EDDKzI4CHjazEe7+ams+cObMmZ+Va2pqqKmpac3bSInavx/mzo3q\nF14Ybd9bCr76VXjllVBevToMLCf3oRdJqq2tpTZL823NW3ggpZn9PbDH3f8t5blZwHx3vz9RXwtM\ndPdtDf6tt/TzpLzMnh21cI85Bn70o7B6tJTMmhWOCQQYNQquvTbeeKTwmRnu3qoVIpnMrullZt0T\n5c7AucDaBpc9ClyVuKYa2NEwwYs0p2Erftq00kvwAOefH5VXrYqmiYrkQia/QlXAfDNbDSwDnnL3\n2WY2w8yuAXD32cBbZrYeuAO4LmcRS8maNy+c3QqhFV9dHW88udK/f2jBJz3+eHyxSOlrtk/e3V8G\nDjt7x93vaFC/IYtxSZkpl1Z80vnnR102yda8+uYlF0r410iKycKFUSu+V6/SbcUnNWzNP/lkfLFI\naVOSl9jV18Mzz0T1KVNKuxWfNHVqVF6xIlr8JZJNZfCrJIVuyRL4+ONQ7t4dxo+PN558GTgQTjgh\nlN3hqafijUdKk5K8xOrQofQDQc45J+z1Ui6mTInKixfDzp3xxSKlSUleYlVXB++/H8pdusBZZ8Ub\nT7598YswaFAoN+y2EskGJXmJjXt6K37SJOjUKb544mCW3je/YEGYaSSSLUryEpt162DjxlDu0CEk\n+XJ0yilw7LGhvH8/PPdcvPFIaVGSl9ikzosfP77wD+fOFbMwFpH07LNhrEIkG5TkJRbvvQcvvRTV\nU5NcOaqujv7Ibd8OK1fGG4+UDiV5iUXqAOPJJ0fH45WrDh3St1SeOzeMWYi0lZK85N2uXbB0aVQ/\n99z4YikkNTXR9NGNG2H9+ljDkRKhJC95t3AhHDwYygMHwtCh8cZTKLp1S18IpumUkg1K8pJX9fXh\nIOukc84JA48SnH12VH7xRW11IG2nJC95VVcXrers3h1GH7a/aXmrqoIRI0LZPf0PokhrKMlLXj37\nbFSeOLG8tjDI1OTJUfm558LB5iKtpSQvebNhA7z9dii3b19+Wxhk6ktfgi98IZT37QsbuIm0lpK8\n5M28eVF57NjyXfzUHLP01vy8eZpOKa2nJC958fHH6Qt8UpOYHG78+Ggfn23b4LXX4o1HipeSvOTF\nokXRUv0hQ8LJSNK0Tp3g9NOjugZgpbWaTfJm1s/M5pnZK2b2spn9RSPXTDSzHWZWl3j8MDfhSjH6\n9NMwNz6pXDcia6mamqj80kvw4YexhSJFLJOWfD1wk7ufCIwHrjez4Y1ct9DdRyceP85qlFLUVq+O\nTn466igYOTLeeIpF797pJ0el/qEUyVSzSd7d33P31YnybuA1oG8jl2pJizRq/vyofNZZmjbZEql3\nPYsWRSuFRTLVoj55MxsEjASWNfLyeDNbbWZPmNmILMQmJWDLlrBvPITDuSdMiDeeYnPSSXD00aG8\nZ492p5SWy7hNZWafAx4Abky06FOtBAa4+14zmwo8DAxr7H1mzpz5Wbmmpoaa1I5HKTkLFkTlUaOg\nR4/4YilGFRXh7uehh0J9/vywLbGUttraWmqzNNpunsEEXDNrDzwOzHH3WzO4/i1gjLtvb/C8Z/J5\nUhr274e/+ZtoxebNN8OwRv/0y5Hs2gV/+7dh3x+Av/s7GDAg3pgkv8wMd29Vl3im3TW/AV5tKsGb\nWe+U8ljCH4/tjV0r5WP58ijBV1Vpt8nW6tYNxoyJ6ql3RyLNyWQK5RnAlcBkM1uVmCI5xcxmmNk1\nicu+ZmZrzGwV8HPgshzGLEXAPT0ZTZyo3SbbIvVAkeXLw3YHIplotk/e3Z8H2jVzzW3AbdkKSorf\nhg2weXMod+yofuS2Ov546Ns3DGR/8kk4dEXrDSQTWvEqOZE6p3vsWOjcOb5YSoFZemt+wQLtZyOZ\nUZKXrNuzB1asiOrabTI7xo2DyspQfvddHQ8omVGSl6xbvDiaCTJoUDjiT9quU6eQ6JM0ACuZUJKX\nrHIPKzOT1IrPrtTvc9Uq2N1wxYpIA0ryklVvvBG2xoXQ8jz11HjjKTX9+4e7Iwh3SzpQRJqjJC9Z\nlTrgWl0d9SFL9qS25hct0gCsHJmSvGTNrl2hCyFJ+9Tkxqmnph8o8sYb8cYjhU1JXrJm8eKwdzyE\ned39+sUbT6mqrExfd6AtiOVIlOQlK9zhueeiulrxuZX6/a5aFe6iRBqjJC9Z8frr8P77ody5swZc\nc61fv3C3BOHuSQOw0hQlecmK1GmT1dVhKwPJrdTWvAZgpSlK8tJmGnCNx5gx0QDs++9Hh7OIpFKS\nlzZbsiR9wLVvY4dDStZpAFYyoSQvbaIB13g1HIDVClhpSEle2mTduvQVrqmHW0ju9eunFbByZEry\n0iYNB1y1wjX/tAJWjkRJXlptzx6oq4vqZ54ZXyzlrOEKWG1BLKmU5KXVli5N31K4f/9YwylblZXh\nYJak1LsrESV5aZWGWwqrFR+v1O+/rg727o0vFiksmRzk3c/M5pnZK2b2spn9RRPX/cLM1pnZajMb\nmf1QpZBs2BBOJ4LQkjzttHjjKXcDB8KAAaF88CAsWxZvPFI4MmnJ1wM3ufuJwHjgejMbnnqBmU0F\nBrv7UGAGMCvrkUpBaXiGa7JPWOKTOp1y4UINwErQbJJ39/fcfXWivBt4DWi43OVi4O7ENcuA7mbW\nO8uxSoHYuxdWrozqmhtfGMaOjbaT2LoV3nor3nikMLSoT97MBgEjgYY3g32BTSn1LRz+h0BKxLJl\noUsAwmBrsptA4tWpU3q3mQZgBaB9phea2eeAB4AbEy36Vpk5c+Zn5ZqaGmpqalr7VhKDxla4msUX\nj6SbMAGefz6UV6yASy8Nu4JKcamtraW2tjYr72WeQcedmbUHHgfmuPutjbw+C5jv7vcn6muBie6+\nrcF1nsnnSeF6+234yU9CuWNH+Nd/VRIpJO7wD/8AW7aE+hVXwMSJ8cYkbWdmuHurmlOZdtf8Bni1\nsQSf8ChwVSKYamBHwwQvpSF1wPXUU5XgC42ZtiCWdJlMoTwDuBKYbGarzKzOzKaY2QwzuwbA3WcD\nb5nZeuAO4LqcRi2x2L8/dAEkacC1MI0bBx06hPKmTfDOO/HGI/Fqtk/e3Z8H2mVw3Q1ZiUgK1vLl\ncOBAKPfpA8cdF2880rguXcJGcUuXhvqiRWEevZQnrXiVjGnAtXik3mUtXx7uwqQ8KclLRjZuDA+A\n9u1Dl4AUrsGDoaoqlA8cgBdeiDceiY+SvGQkdc71qadC167xxSLNa2wAVsqTkrw0a//+cMufpAHX\n4lBdHe66INyFaQC2PCnJS7NeeCEacK2qCl0BUvi6dk0/qUut+fKkJC/NSk0OGnAtLg0HYJN/rKV8\nKMnLEb3zTvqAa3V1vPFIywwZAsceG8oNu92kPCjJyxGlrnAdM0YDrsVGA7CiJC9N0oBraRg/Pn0A\nNnlnJuVBSV6alNqHW1UVbv2l+GgAtrwpyUuj3NO7as46SwOuxSx1J0qtgC0vSvLSqI0bw+ZWEDa7\n0oBrcTv++LDfEIS7M50BWz6U5KVRCxZE5dNOC5teSfEyC3djSToDtnwoycth9u5N3+tEA66lIXUL\n4s2bdQZsuVCSl8MsWRKd4dqvn7YULhVduqSfAZt6tyalS0le0jQccJ04UQOupSR1AHbFCtizJ75Y\nJD+U5CXNG2/Ae++FcqdO2lK41AwaFB0gUl8fHfotpUtJXtKk3sJXV0NlZXyxSG6ktuY1AFv6lOTl\nMx9/DKtWRfXUZCCl47TTogPY//hHePXVeOOR3MrkIO9fm9k2M3upidcnmtmOxAHfdWb2w+yHKfnw\n3HNw6FAoDx0azauW0tKxI5x+elTXAGxpy6QlfxdwXjPXLHT30YnHj7MQl+TZp58ePuAqpSt1zvxL\nL8H27fHFIrnVbJJ39+eAj5q5TPMvityLL8KOHaF81FEwalS88UhuHXssDB8eyg1nVElpyVaf/Hgz\nW21mT5jZiCy9p+TR/PlRecKEaNdCKV2TJkXlRYuitRFSWrLxq7wSGODue81sKvAwMKypi2fOnPlZ\nuaamhpqamiyEIG2xdWuYOglQUZF+Ky+l6+SToWfP0FWzezesXKk9igpFbW0ttbW1WXkv8wzmT5nZ\nQOAxdz85g2vfAsa4+2G9fGbmmXye5Nc990SDb6NHw4wZ8cYj+TNnDjz8cCgPGgQ/+EGs4UgTzAx3\nb1W3eKbdNUYT/e5m1julPJbwh0PDOEVi3z5YujSqp97CS+k788yoa+7tt8NDSksmUyjvARYDw8zs\nHTO72sxmmNk1iUu+ZmZrzGwV8HPgshzGK1m2eHF0MEifPmHqpJSPbt3g1FOjeurYjJSGZvvk3f2K\nZl6/DbgtaxFJ3hw6BPPmRfVJk7RPTTmaPDm6m3vhBZg+PcywktKgFa9lbM0a+OCDUO7SRYNu5Wrg\nwHCoCBy+XkKKn5J8GUttxU+YEFZCSnk6++yovGBB2LxMSoOSfJnauhVeey2UzbTCtdyNGgU9eoTy\nzp1hG2IpDUryZSq1FT9qFBx9dHyxSPzatYPUJSvz5ml3ylKhJF+Gdu9OnzY5eXJ8sUjhSJ1OuXEj\nrF8fbzySHUryZWjhwmgJe//+MGRIvPFIYejWLf2QmGefjS8WyR4l+TJTX58+F/rcczVtUiLnnBOV\nV68O+81LcVOSLzPLl4eBNQgDbWPGxBuPFJY+feDEE0PZXa35UqAkX0bc4ZlnovrkydptUg537rlR\n+fnnYe/e+GKRtlOSLyNr18KWLaHcsWOYGy/S0PDh0LdvKH/yiRZHFTsl+TLy1FNR+YwzwipXkYbM\n0vvm583T4qhipiRfJjZtSl/8lLrCUaShsWOjxVEffwzLlsUbj7SeknyZSG3FjxkDxxwTXyxS+Nq3\nT28IPPWUFkcVKyX5MvDBB+nL1M9r7lh2EcKYTadOobxtWzgHWIqPknwZmDs3aoWdcAIMGBBvPFIc\nOndO39NIrfnipCRf4nbtCtPgktSKl5Y4++xomu2GDdrqoBgpyZe4Z56JtjAYMCBMjxPJVPfu6ecM\nzJ4dXyzSOkryJWzvXkg98H3qVG1hIC133nnRz82rr+oc2GKjJF/C5s2D/ftDuaoqbCks0lJf+AKc\ndlpUV2u+uGRykPevzWybmb10hGt+YWbrzGy1mY3MbojSGvv3p+87ola8tMXUqVH5xRdh8+b4YpGW\nyaQlfxfQ5HCdmU0FBrv7UGAGMCtLsUkbLFgQ7TlyzDHpLTGRlurTJ/1OcM6c+GKRlmk2ybv7c8BH\nR7jkYuDuxLXLgO5m1js74UlrHDgQpk0mTZ0KFeqYkzaaNi0qr1wJ774bXyySuWz86vcFNqXUtySe\nk5jU1oapkwA9e6YfBCHSWgMGwEknhbI7PP54vPFIZvK+0ezMmTM/K9fU1FCTerCktNn+/elbGEyb\npu2EJXsuvBBefjmUV64MP1991aTLutraWmpTp8a1gXkGS9jMbCDwmLuf3Mhrs4D57n5/or4WmOju\n2xq51jP5PGm9OXPg4YdDuVcv+NGPwiHNItly++3RFgejR8OMGfHGUw7MDHdv1dSJTLtrLPFozKPA\nVYlAqoEdjSV4yb19++Dpp6P6+ecrwUv2XXhhVK6rCzucSuHKZArlPcBiYJiZvWNmV5vZDDO7BsDd\nZwNvmdl64A7gupxGLE165pn0GTWpKxVFsqV///SZNo88El8s0rxme2vd/YoMrrkhO+FIa+3cmT6j\n5oILNKNGcufCC8NB3+6hj379ehgyJO6opDFKAyVi9uwwdRLCnOaxY+ONR0pb377pP2N/+IN2qCxU\nSvIl4IMP0s/h/OpX1YqX3LvoomjM58034aUm18RLnJQKSsCjj8Knn4bykCHRXGaRXOrVK32/+Yce\ngkOH4otHGqckX+Q2bkw/f/OSS7RHjeTPtGlQWRnK774LixfHG48cTkm+iLnD//5vVD/lFBg8OL54\npPx06wZf/nJUf+SRaOdTKQxK8kVs1SpYty6UKypg+vR445HydO650KNHKO/cCU8+GW88kk5JvkjV\n18ODD0b1SZOgt7aFkxhUVobB/qS5c+HDD+OLR9IpyRepZ58Ns2oAunYN8+JF4jJuHAwcGMr19WFK\npRQGJfki9NFH8MQTUf2CC6BLl/jiETGDSy+N6itWwOuvxxePRJTki9ADD0QLn6qq0qexicRlyJD0\nw2nuvTea2ivxUZIvMmvXhlZS0hVXaBMyKRxf+1r6lMrUIyglHkryRaS+Hu65J6qPGwfDhsUXj0hD\nPXqElbBJjz8euhclPkryReTJJ2FbYhPnTp00ZVIK06RJYf8kCN2K996rfW3ipCRfJN59N2xClnTR\nRdC9e3zxiDSlXbvQjZj04oth33mJh5J8ETh0CO6+OxrEOu640FoSKVRDh8KECVH93nthz5744iln\nSvJFYMEC2LAhlNu1g6uu0i6TUvimT49Wwu7alb4Fh+SPUkWBe//99IUlU6dG/Z0ihaxz5/RumyVL\ntB1xHJTkC9ihQ3DXXfDJJ6FeVRWSvEixOOUUOPXUqH733aFVL/mTUZI3sylmttbM3jCz7zfy+kQz\n22FmdYnHD7Mfavl58smom6aiAr71LWjf7IGNIoXliivgqKNCedcu+N3vNNsmnzI5yLsC+CVwHnAi\n8HUzG97IpQvdfXTi8eMsx1l2Nm6Exx6L6hddFA5QFik2XbvCn/5pVF+1KnTdSH5k0pIfC6xz943u\nfhC4D7i4ket0VEWW7NsHv/pVdMrO4MFw3nnxxiTSFl/6Uvr2G/feG6YFS+5lkuT7AptS6psTzzU0\n3sxWm9kTZjYiK9GVIXf47/+GP/4x1Dt1gquv1mwaKX7Tp0fbYX/yCdx5ZzTeJLmTrdSxEhjg7iMJ\nXTsPZ+l9y86CBbByZVT/5jfhmGPii0ckWyor4ZproEOHUN+6Fe67L96YykEmw3hbgAEp9X6J5z7j\n7rtTynPM7HYz6+nu2xu+2cyZMz8r19TUUFNT08KQS9eGDelziSdOTJ+ZIFLs+vWDyy8Pd6sAzz8f\nuiPPOCPeuApNbW0ttbW1WXkv82aGuc2sHfA6cDbwLrAc+Lq7v5ZyTW9335YojwV+7+6DGnkvb+7z\nytWOHfCP/xiOT4MwyPr970etHpFS4R6mBicPoG/XDm6+WecTH4mZ4e6tGvdstrvG3T8FbgCeBl4B\n7nP318xshpldk7jsa2a2xsxWAT8HLmtNMOXq4EH4j/+IEnzXrnDttUrwUprM4MorQ6sewnYds2Zp\nt8pcabYln9UPU0v+MO7wm9/A8uWhXlEBN94IwxubpCpSQj78EP7pn2B3orO3f3/43vfCZANJl9OW\nvOTWH/4QJXgIR6gpwUs5OPpomDEjmjm2aVOYcaPTpLJLST5Gzz4LTz8d1c86CzQOLeVk2LD0/W1e\neSUMyuqGP3uU5GOybFn6TJpTToGvfz30V4qUkwkTwmH0SUuWwIMPKtFni5J8DF54IcwuSP4QH388\nfPvbWvAk5euCC9KnUc6dC488okSfDUoreVZXFwZakz+8ffvCDTdAx47xxiUSJzP4xjdg5MjouTlz\nwhmxSvRtoySfR0uWpO9JU1UFf/VXYcqkSLmrqIDvfAdOPjl67vHH1XXTVppCmSfPPJPeB9+7d5gu\nltyCVUSC+vqwbmTNmui5008PW3yUa5dmW6ZQKsnn2KFDYZrk3LnRc/36hbnwSvAijTt4EH7967At\ncdJJJ4Wxq3KcR68kX6D27YP//M/0FsnQoXDdddClS3xxiRSDQ4fgf/4n7G+T1KcPXH899OoVX1xx\nUJIvQO++C3fckb5n9siRoSWi7QpEMuMeZtnMmRM917VrOCXtxBPjiyvflOQLiDssXhwORTh4MHp+\n6lS4+GLNgxdpjaVLwyKp+vrouSlTwolp7drFF1e+KMkXiF27wv7YK1ZEz3XoEAaMxo2LLy6RUrBh\nQ9jI7OOPo+eOOy4cLVhVFV9c+aAkHzP3kNjvuy/abAnCD94114R+RBFpu127wkLCV16JnmvfPiym\n+vKXS7dVryQfo61b4f77Ye3a9OcnTAibjWmRk0h2uYc9nx55JH0zs6oquOwyOOGE+GLLFSX5GOzY\nAbNnw8KF6Qs1Pv/50D1TToNCInHYuhV++1t4++30508+OYx/JferLwVK8nn00Ufw1FOwaFH6IFBF\nRTiu7yu8E9DpAAAHC0lEQVRfKc95vCJxOHQoLDR8/HE4cCD9tdGj4fzzSyPZK8nnmDu89VbYGriu\nLtqWIGn48HCbqL53kXjs3AkPPRRmtjX0xS/C2WeHxVTFumJWST5HduwIB3osXpw+3z3puOPgwgth\nxAhNjRQpBJs3w2OPwerVh7/WowdUV4dHsc3GUZLPEnd4772wQnXVqjBlq7Fwhw2D884L/e5K7iKF\n5513QrdqY3feEJL8qFGh/37gwMJv4ec8yZvZFMIB3RXAr939Xxq55hfAVGAP8Gfuftjf0kJL8smk\nvn49vPlmmCHT1GHClZUwZgxMnhzOohSRwrd9O9TWhrvxXbsav6ZLl9ClM3QoDB4cfr8LbSpmTpO8\nmVUAbwBnA1uBF4DL3X1tyjVTgRvc/XwzGwfc6u7VjbxXwST5jRvh1lthz57DX9u6tZY+fWowC632\n6uowiFNoA6q1tbXUFMF5gYoze4ohRii8OD/9NNyhL10KL78crUZP/q6n6tgRrrwy/N4Xilwf5D0W\nWOfuG939IHAfcHGDay4G7gZw92VAdzPr3ZqA8uWYY2Dv3sOf79wZ3Gu56ir46U/hppvCNqeFluAh\n/CIVA8WZPcUQIxRenO3ahSM2Z8yAn/0Mrr0Wxo+H7dtrD7v2k0+gZ8/8x5gr7TO4pi+wKaW+mZD4\nj3TNlsRz29oUXQ516RL65XbuDLdoQ4aEx6BB8KMfpR9FJiKlo7Iy9MePGhVmzc2YAW+8Ebps33wz\ndNkOGhR3lNmTSZIvWTffHHa00+CpSHkyC1Of+/SBZO/Srl2ltVI9kz75amCmu09J1P8W8NTBVzOb\nBcx39/sT9bXARHff1uC9CqNDXkSkyLS2Tz6TlvwLwBAzGwi8C1wOfL3BNY8C1wP3J/4o7GiY4NsS\npIiItE6zSd7dPzWzG4CniaZQvmZmM8LLfqe7zzazaWa2njCF8urchi0iIpnI62IoERHJr5ys8zKz\nKWa21szeMLPvN/L6F81ssZntN7ObchFDJjKI8wozezHxeM7MTirQOC9KxLjKzJabWd7nBjUXY8p1\np5nZQTO7JJ/xpXx+c9/lRDPbYWZ1iccPCzHOxDU1if/zNWY2P98xJmJo7vv8XiLGOjN72czqzaxH\nAcZ5lJk9amarE3H+Wb5jTMTRXJw9zOwPid/3pWY2otk3dfesPgh/ONYDA4EOwGpgeINregFjgH8A\nbsp2DFmMsxronihPAZYWaJxdUsonAa8VWowp1z0LPA5cUqDf5UTg0Th+JlsYZ3fgFaBvot6rEONs\ncP0FwDOFGCfwA+Anye8S+BBoX4Bx/ivw94nyFzP5PnPRkm928ZS7f+DuK4H6xt4gTzKJc6m7Jw8b\nW0qY+59vmcSZuqzrc0Aju3XkVCYL5gD+HHgAeD+fwaXINM64JwhkEucVwIPuvgXC71SeY4TMv8+k\nrwP35iWydJnE6UC3RLkb8KG75zs/ZRLnCGAegLu/Dgwys2OO9Ka5SPKNLZ6KIzk2p6VxfhuYc4TX\ncyWjOM3sK2b2GvAY8H/yFFtSszGaWR/gK+7+H8SXRDP9Px+fuG1/IqPb4ezLJM5hQE8zm29mL5jZ\nN/MWXSTj3yEz60y4G34wD3E1lEmcvwRGmNlW4EXgxjzFliqTOF8ELgEws7HAAOCIO+aX9WKoTJnZ\nJMKMoTPjjqUp7v4w8LCZnQn8GDg35pAa+jmQ2scYd2u5KSuBAe6+N7En08OEhFpo2gOjgclAV2CJ\nmS1x9/XxhtWkC4Hn3H1H3IE04TxglbtPNrPBwFwzO9nddzf3D/Psn4FbzawOeBlYBXx6pH+QiyS/\nhfDXJalf4rlCk1GcZnYycCcwxd2b2KMyp1r0fbr7c2Z2vJn1dPftOY8uyCTGU4H7zMwIfZ5Tzeyg\nuz+apxghgzhTf6ndfY6Z3Z7n7xIy+z43Ax+4+35gv5ktBE4h9OnmS0t+Ni8nnq4ayCzOq4GfALj7\nm2b2FjAcWJGXCINMfj53kXKnnohzwxHfNQeDB+2IBg86EgYPTmji2luAm/M5uNGSOBNf+DqgOo4Y\nWxDn4JTyaGBTocXY4Pq7iGfgNZPvsndKeSzwdoHGORyYm7i2C6FVN6LQ4kxc150wkNk5399lC77P\n24Bbkj8DhG6TngUYZ3egQ6L8HeC/mnvfrLfkPYPFU4kdKlcQBjgOmdmNiR/QvN0aZRIn8PdAT+D2\nRAv0oLs33JytEOKcbmZXAZ8A+4BLCzDGtH+Sz/g++9DM4vyamX0XOEj4Li8rxDjdfa2ZPQW8RLhd\nv9PdXy20OBOXfgV4yt335TO+Fsb5Y+C/zOylxD/7G8/v3VumcZ4A/NbMDhFmV32ruffVYigRkRJW\n4IdeiYhIWyjJi4iUMCV5EZESpiQvIlLClORFREqYkryISAlTkhcRKWFK8iIiJez/A8ZzEQdqqVXT\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10f32e978>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# alpha = beta = 10\n",
"drawBeta(10,10)"
]
},
{
"cell_type": "code",
"execution_count": 104,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10f60f4a8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# alpha = 2 , beta = 4\n",
"drawBeta(2,4)"
]
},
{
"cell_type": "code",
"execution_count": 105,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10f736cf8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# alpha = 20 , beta = 2\n",
"drawBeta(20,2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"α,βが1の時完全に一様分布、α,βが大きいほど尖度が大きくなり、α,βの値が離れているほど歪度が大きくなる。"
]
},
{
"cell_type": "code",
"execution_count": 144,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/latex": [
"さて、コインのパラメータのMAP推定に戻る。事後分布を最大化したいので、式にすると以下になる。<br><br>\n",
"$$argmax_\\theta P(\\theta|D) = argmax_\\theta P(D|\\theta)P(\\theta)$$<br>\n",
"$$= argmax_\\theta \\left(\\begin{array}{cc} N \\\\ n \\end{array} \\right) \\theta^n (1-\\theta)^{N-n} \n",
"\\frac{\\Gamma(\\alpha+\\beta)}{\\Gamma(\\alpha)\\Gamma(\\beta)}\\theta^{\\alpha-1}(1-\\theta)^{\\beta-1}$$<br>\n",
"ここで、$$\\left(\\begin{array}{cc} N \\\\ n \\end{array} \\right)$$と\n",
"$$\\frac{\\Gamma(\\alpha+\\beta)}{\\Gamma(\\alpha)\\Gamma(\\beta)}$$は$$\\theta$$に対して定数とみなせるため、最大化の式から除外できる。<br>\n",
"$$=argmax_\\theta \\theta^n (1-\\theta)^{N-n}\\theta^{\\alpha-1}(1-\\theta)^{\\beta-1}$$<br>\n",
"$$=argmax_\\theta \\theta^{\\alpha+n-1}(1-\\theta)^{\\beta+N-n-1}$$<br><br>\n",
"\n",
"この最大化式を解く。<br>\n",
"θで微分して0となる時のθの値が最大化する点であるので、式は以下のようになる。<br><br>\n",
"$$(\\theta^{\\alpha+n-1}(1-\\theta)^{\\beta+N-n-1})'=0$$<br>\n",
"ここで、可読性のため$$A=\\alpha+n-1$$とおき、$$B=\\beta+N-n-1$$とおく。<br>\n",
"$$(\\theta^A(1-\\theta)^B)'=A\\theta ^{A-1} (1-\\theta)^B - \\theta ^A B (1-\\theta)^{B-1}$$<br>\n",
"$$=\\theta ^{A-1}(1-\\theta)^{B-1}(A(1-\\theta)-B\\theta)$$<br>\n",
"ここで、$$\\theta ^{A-1}(1-\\theta)^{B-1}$$は0にならないので、以下を解けば良い。<br>\n",
"$$A(1-\\theta)-B\\theta = 0$$<br>\n",
"つまり、$$\\theta = \\frac{A}{A+B} = \\frac{n + \\alpha-1}{N + \\alpha+\\beta-2}$$"
],
"text/plain": [
"<IPython.core.display.Latex object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%latex\n",
"さて、コインのパラメータのMAP推定に戻る。事後分布を最大化したいので、式にすると以下になる。<br><br>\n",
"$$argmax_\\theta P(\\theta|D) = argmax_\\theta P(D|\\theta)P(\\theta)$$<br>\n",
"$$= argmax_\\theta \\left(\\begin{array}{cc} N \\\\ n \\end{array} \\right) \\theta^n (1-\\theta)^{N-n} \n",
"\\frac{\\Gamma(\\alpha+\\beta)}{\\Gamma(\\alpha)\\Gamma(\\beta)}\\theta^{\\alpha-1}(1-\\theta)^{\\beta-1}$$<br>\n",
"ここで、$$\\left(\\begin{array}{cc} N \\\\ n \\end{array} \\right)$$と\n",
"$$\\frac{\\Gamma(\\alpha+\\beta)}{\\Gamma(\\alpha)\\Gamma(\\beta)}$$は$$\\theta$$に対して定数とみなせるため、最大化の式から除外できる。<br>\n",
"$$=argmax_\\theta \\theta^n (1-\\theta)^{N-n}\\theta^{\\alpha-1}(1-\\theta)^{\\beta-1}$$<br>\n",
"$$=argmax_\\theta \\theta^{\\alpha+n-1}(1-\\theta)^{\\beta+N-n-1}$$<br><br>\n",
"\n",
"この最大化式を解く。<br>\n",
"θで微分して0となる時のθの値が最大化する点であるので、式は以下のようになる。<br><br>\n",
"$$(\\theta^{\\alpha+n-1}(1-\\theta)^{\\beta+N-n-1})'=0$$<br>\n",
"ここで、可読性のため$$A=\\alpha+n-1$$とおき、$$B=\\beta+N-n-1$$とおく。<br>\n",
"$$(\\theta^A(1-\\theta)^B)'=A\\theta ^{A-1} (1-\\theta)^B - \\theta ^A B (1-\\theta)^{B-1}$$<br>\n",
"$$=\\theta ^{A-1}(1-\\theta)^{B-1}(A(1-\\theta)-B\\theta)$$<br>\n",
"ここで、$$\\theta ^{A-1}(1-\\theta)^{B-1}$$は0にならないので、以下を解けば良い。<br>\n",
"$$A(1-\\theta)-B\\theta = 0$$<br>\n",
"つまり、$$\\theta = \\frac{A}{A+B} = \\frac{n + \\alpha-1}{N + \\alpha+\\beta-2}$$"
]
},
{
"cell_type": "code",
"execution_count": 145,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/latex": [
"ここで、最尤推定のθの算出式が$$\\frac{n}{N}$$だったことを考えると、このMAP推定における算出式の$$\\frac{\\alpha-1}{\\alpha+\\beta-2}$$\n",
"の部分が事前分布による重み付けであることがわかる。<br>"
],
"text/plain": [
"<IPython.core.display.Latex object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%latex\n",
"ここで、最尤推定のθの算出式が$$\\frac{n}{N}$$だったことを考えると、このMAP推定における算出式の$$\\frac{\\alpha-1}{\\alpha+\\beta-2}$$\n",
"の部分が事前分布による重み付けであることがわかる。<br>"
]
},
{
"cell_type": "code",
"execution_count": 146,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/latex": [
"では、実際に先ほどのカジノコインの例でパラメータをMAP推定してみる。<br>\n",
"先ほどの例と同様、5回のコイントスのうち4回表が出たとする。<br><br>\n",
"<b>β=1,α=1の場合</b><br>\n",
"$$\\theta = \\frac{n + \\alpha-1}{N + \\alpha+\\beta-2} = \\frac{4 + 1-1}{5 + 1+1-2} = \\frac{4}{5}$$<br>\n",
"これは最尤推定と同様になる。<br><br>\n",
"\n",
"<b>β=2,α=2の場合</b><br>\n",
"$$\\theta = \\frac{n + \\alpha-1}{N + \\alpha+\\beta-2} = \\frac{4 + 2-1}{5 + 2+2-2} = \\frac{5}{7}$$<br>\n",
"この、重み部分が1/2となるケースを特別に<b>ラプラススムージング</b>という。<br><br>\n",
"\n",
"<b>β=10,α=10の場合</b><br>\n",
"$$\\theta = \\frac{n + \\alpha-1}{N + \\alpha+\\beta-2} = \\frac{4 + 10-1}{5 + 10+10-2} = \\frac{13}{23}$$<br>\n",
"ハイパーパラメータが大きいほど修正が大きくなっていることがわかる。<br><br>"
],
"text/plain": [
"<IPython.core.display.Latex object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%latex\n",
"では、実際に先ほどのカジノコインの例でパラメータをMAP推定してみる。<br>\n",
"先ほどの例と同様、5回のコイントスのうち4回表が出たとする。<br><br>\n",
"<b>β=1,α=1の場合</b><br>\n",
"$$\\theta = \\frac{n + \\alpha-1}{N + \\alpha+\\beta-2} = \\frac{4 + 1-1}{5 + 1+1-2} = \\frac{4}{5}$$<br>\n",
"これは最尤推定と同様になる。<br><br>\n",
"\n",
"<b>β=2,α=2の場合</b><br>\n",
"$$\\theta = \\frac{n + \\alpha-1}{N + \\alpha+\\beta-2} = \\frac{4 + 2-1}{5 + 2+2-2} = \\frac{5}{7}$$<br>\n",
"この、重み部分が1/2となるケースを特別に<b>ラプラススムージング</b>という。<br><br>\n",
"\n",
"<b>β=10,α=10の場合</b><br>\n",
"$$\\theta = \\frac{n + \\alpha-1}{N + \\alpha+\\beta-2} = \\frac{4 + 10-1}{5 + 10+10-2} = \\frac{13}{23}$$<br>\n",
"ハイパーパラメータが大きいほど修正が大きくなっていることがわかる。<br><br>"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment