Skip to content

Instantly share code, notes, and snippets.

@taku-y
Last active June 15, 2016 12:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save taku-y/97a506c2482b0776a6a295a942de1fdc to your computer and use it in GitHub Desktop.
Save taku-y/97a506c2482b0776a6a295a942de1fdc to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 初期設定"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# 図をインラインで表示するように指定します. \n",
"%matplotlib inline \n",
"\n",
"import numpy as np # Numpyモジュールをインポートします. as以降でnpという別名を与えます.\n",
"import matplotlib.pyplot as plt # Matplotlibモジュールをインポートします. pltという別名を与えます. \n",
"import seaborn as sns # 図を綺麗に表示するモジュールです. このモジュールは省略できます. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## ベルヌーイ分布\n",
"* 実現値として0か1を取る離散型確率分布です. \n",
"* 確率分布関数は次式で表されます($x\\in\\{0,1\\}$):\n",
"\n",
"\\begin{eqnarray}\n",
"P(x) = \\theta^{x}\\cdot(1-\\theta)^{1-x}\n",
"\\end{eqnarray}\n",
"\n",
"* $\\theta\\in [0, 1]$は$x=1$となる確率です. 実際, $P(x=1)=\\theta$となることが式から分かります. \n",
"* $\\theta$はベルヌーイ分布のパラメータと呼ばれます. \n",
"* 確率分布なので$\\sum_{x\\in\\{0,1\\}}P(x)=1$となります. \n",
"\n",
"\\begin{eqnarray}\n",
"P(0)+P(1) &=& \\theta^{0}\\cdot(1-\\theta)^{1}+\\theta^{1}\\cdot(1-\\theta)^{0}\\\\\n",
" &=& (1-\\theta)+\\theta = 1\n",
"\\end{eqnarray}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 乱数の生成"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1 1 1 1 0 1 0 1 1 0]\n"
]
}
],
"source": [
"rng = np.random.RandomState(0) # シード0を与えて乱数生成器を生成します. シードの値はなんでも良いです. \n",
"x = rng.binomial(n=1, p=0.5, size=10) # ベルヌーイ分布はサンプル数n=1としたときの二項分布と等価です. \n",
"print(x)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 複数サンプルから成るデータの出現確率\n",
"* サンプルが独立同分布から出現すると仮定すると, その出現確率は各サンプルの出現確率の積になります. 例えばサンプル数が3の場合($x_{1}, x_{2}, x_{3}$と名前を付けます), その出現確率は次式で表されます. \n",
"\n",
"\\begin{eqnarray}\n",
"P(x_{1},x_{2},x_{3}) &=& P(x_{1})\\cdot P(x_{2})\\cdot P(x_{3})\n",
"\\end{eqnarray}\n",
"\n",
"* サンプルが独立同分布から生成されたとすれば, $P(x)$がベルヌーイ分布でなくても上の式は成り立ちます. \n",
"* 記号の簡略化のため, 次のように書きます.\n",
"\n",
"\\begin{eqnarray}\n",
"P(D) &=& \\prod_{n=1}^{N}P(x_{n})\\\\\n",
"D &=& \\{x_{n}\\}_{n=1}^{N}\n",
"\\end{eqnarray}\n",
"\n",
"* $D$は$N$個のサンプルから成るデータを表します. \n",
"* $P(x_{n})$が小さくて$N$が大きい場合, 例えば$P(x_{n})=0.01$で$N=1000$の場合, $P(D)$は10の-2000乗という非常に小さな値になるため, 計算機で取り扱うのが大変です. $P(D)$の対数を取ると, 積が和になるのでそのような不都合が解消されます. \n",
"\n",
"\\begin{eqnarray}\n",
"\\log P(D) &=& \\sum_{n=1}^{N}\\log P(x_{n})=\\sum_{n=1}^{N}\\left[x\\log\\theta + (1-x)\\log(1-\\theta)\\right]\n",
"\\end{eqnarray}\n",
"\n",
"* 対数の計算に慣れない場合は参考書で勉強しましょう. \n",
"* しばしば確率の対数を考える本当の理由はよく分かりませんが, 計算が便利になる場合が多いです. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### データに基づくパラメータの推定:最尤推定\n",
"* データ$D$が与えられたとき, そのデータを生成した尤もらしいパラメータ$\\theta$を推定することを考えます. 簡単な推定方法として, 複数の$\\theta$の値に対して対数確率$\\log P(D)$を計算し, その値が最小のものを取りましょう. \n",
"* データ$D$を固定して, 対数確率を$\\theta$の関数$L(\\theta)\\equiv\\log P(D)$と見做した場合, これを対数尤度関数と呼びます. 最も尤もらしいパラメータは\n",
"\n",
"\\begin{eqnarray}\n",
"\\theta^{*} &=& {\\rm arg}\\max_{\\theta}L(\\theta)\n",
"\\end{eqnarray}\n",
"\n",
"と与えられ, これを最尤推定量と呼びます. $\\theta^{*}$を求める手続きは最尤推定と呼ばれます. \n",
"\n",
"* 最尤推定のために, 対数尤度を計算する関数を定義します. "
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def log_likelihood(xs, theta):\n",
" # log()は成分ごとに適用されます. \n",
" return np.sum(xs * np.log(theta) + (1-xs) * np.log(1-theta))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* $\\theta=0.85$としてテスト用データを作成します. この$\\theta$の値をデータから推定できるかどうか確認するのが目的です. "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"n_samples = 100\n",
"theta = 0.85\n",
"rng = np.random.RandomState(0)\n",
"data = rng.binomial(n=1, p=theta, size=n_samples)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* $\\theta=0.1, 0.2, ..., 0.9$と変えて対数確率$\\log P(D)$を計算します. "
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"theta = 0.1, logP(D) = -206.09\n",
"theta = 0.2, logP(D) = -145.69\n",
"theta = 0.3, logP(D) = -111.08\n",
"theta = 0.4, logP(D) = -87.17\n",
"theta = 0.5, logP(D) = -69.31\n",
"theta = 0.6, logP(D) = -55.54\n",
"theta = 0.7, logP(D) = -44.99\n",
"theta = 0.8, logP(D) = -37.56\n",
"theta = 0.9, logP(D) = -34.71\n"
]
}
],
"source": [
"for theta in np.arange(0.1, 1.0, 0.1):\n",
" print('theta = {:1.1f}, logP(D) = {:3.2f}'.format(theta, log_likelihood(data, theta)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* もっと細かく$\\theta$の値を変えて, グラフをプロットしてみます. \n",
"* $\\theta=0.85$辺りで対数尤度が最大値を取ることが分かります. "
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f9ef254c358>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAF5CAYAAAA/GEgLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8VPW9//HXJDPZJyvJECAEWQNkQURuVUw1VhCUza22\nNVZotVovtdyr/cm1ImrjbXuv9Va5rdgq1tLeWhdAiwoCImgVAYGwbxISQjJJyD7ZJpnz+yMwlYKY\nhVky834+HjxCzpyZ85mvmHnne76LyTAMAxEREREvCfF1ASIiIhJcFD5ERETEqxQ+RERExKsUPkRE\nRMSrFD5ERETEqxQ+RERExKsUPr7Exo0bue6665gyZQrPP/+8r8sREREJGAof5+ByuXjiiSd44YUX\n+Nvf/saqVas4cuSIr8sSEREJCAof51BYWEh6ejoDBw7EYrFw/fXXs27dOl+XJSIiEhAUPs7BbreT\nmprq/t5ms1FRUeHDikRERAKHwoeIiIh4lcLHOdhsNk6cOOH+3m63k5KSct7naIscERGRrjH7ugB/\nlJWVRXFxMaWlpSQnJ7Nq1Sp+9atfnfc5JpOJysoGL1UYnJKTrWpjL1A7e57a2PP8uY0TL8kEoHrb\nbh9X0nvJydYePU/h4xxCQ0N55JFHmDt3LoZhcPPNNzNs2DBflyUiIhIQFD6+RG5uLrm5ub4uQ0RE\nJOBozIeIiIh4lcKHiIiIeJXCh4iIiHiVxnyIiIh4USDMcukt9XyIiIiIVyl8iIiIiFcpfIiIiIhX\nKXyIiIiIVyl8iIiIiFcpfIiIiHhR4iWZ7v1dgpXCh4iIiHiVwoeIiIh4lcKHiIiIeJXCh4iIiHiV\nwoeIiIh4lfZ2ERER8SLt7aKeDxEREfEyhQ8RERHxKt12ERER6QGXy6DV2YGz3UVbe+dXZ7sLZ4eL\njg6Djg4X7S6j8+8uA8MwMKDzqwEmE4SYTJhMYDKZCA0xYTaHYAkNwRwagsUcQnhYKBGWUCLCQrGY\nQzCZTL5+2xeEwoeIiASd9g4XjpZ2mlqcOJrbaWxx0tTipKmlnabWdppa2mluPfWnrYOWtnZa2jpo\naW2n1elyhw5vCjGZiIowExNpISbKgjXSgjXKQoI1gkRrOImxESTGhtMvLhKL2b9vbCh8iIhIn+ds\nd9HQ1Eado416RxscreaEvYGGJif1TW00NDlpbG6jsdlJY7OT5taObr1+iMlEZHhnD4Q1ykI/SwTh\nllDCw0IJM4dgMXf2TISZQzCbQzCHmjCHhBAaaiI0JIQQE5hCTISYTISc6rzo7AUBl2FguDp7R5wd\nLto7DNo7XDhPhZyWtnZanB20tHXQ1NJOY1MbFTXNuAzjS2tNTohkQFIUA/pFMzA5muED40iKjfCb\nnhOFDxER8VvNre3UNrZS29h26msrdaf+Xu/oDBu1jW00t7Z/5WuZQ0OwRllIio0kJtJMdKSFmEgL\n0REWoiPMREWYiY6wEBlhJircTOTpPxf4lsfpfV16M+vFZRg0t7ZT72ijur6V6voWqhtaOVnfQnl1\nE2VVDrZXN7H9UJX7OQnWcIYPjGPEoDiyh/cjJT6y1++lpxQ+RETE6wzDoKm1nZN1LdQ0tFLT0Ep1\nQws19a1UN3SGjJqGVlrazt9DERNpIdEaTmx/K3HRYVijwoiNtjCofyxGh4vYqDCsUZ23J8ItoX7z\nm39vhZhMp0KThdSk6LMeNwyD+iYnJ6ocFNsbOHy8jkPHa9myv4It+yv489pDXJRqZeJoG5dmpJAY\nG+HV+hU+RETkgnO5DGpO/SZ+sq6FqvoWqutbOFnfQnV95/HW8wSLmEgL/eIiSbCGk2ANIy46nHhr\nOPExYcTHhBMXHUZsdBjm0HOPbUhOtlJZ2eCpt+f3TCYTcdFhxEWHMTo9gSkTOwNJRW0zB4pr2bq/\ngr1FNRwta+CV9YcZnZ7A7CuHMnxQnFfqU/gQEZFuO/2bdWVtM1W1zZ1f61pO/Wmmur6VDte5xyRE\nR5hJiY8kKTaCBGs4ibHhJFo7B0smWMOJjwknzBLq5XcU+EwmE7aEKGwJUeTmDKC+qY3PDlTyyV47\n+47VsO/YNi4e0Y+brxp2zt6UCylow8fixYv561//SlJSEgDz588nNzcXgCVLlvD6668TGhrKww8/\nzKRJk3xZqoiIT7R3uDhZ14K9pjNcVNY2U3H673XNtDnPPdsjLiaMIalW+sV1BoykuIjOr7GdMzIi\nw4P2o8evxEaFcdXFA7nq4oEcOl7Lq+8fYfuhKnYcruLK7AHcfNUwYiItHrl2UP8LmDNnDnPmzDnj\n2JEjR3jnnXd4++23KS8vZ86cOaxZsyZg7hOKiHzRPwJGE/bqZuw1TVTUdIaMqrqWc86oiAgLpX9C\nFMnxkSTHR9IvPoJ+cZEkx3eGDPVa9D0jBsWz4Pbx7DhUxWsfHGHjzhN8fqKOn3x7vEcCSFCHD+Mc\n/1OtW7eOadOmYTabGTRoEOnp6RQWFpKTk+ODCkVEeu/0LZLykw7KqpuwVzdRfrKJ8prOWybnuj0S\nGx3G0IGx2OIjSU6IJCWhM2ikxEcSE2nRL2S94K97u5hMJi4emUz28CT+/N4h3t9eylN/2cGD3xpH\nVMSFDSBBHT6WLVvGypUryczM5KGHHsJqtWK32xk3bpz7HJvNht1u92GVIiJd0+FyUVHTTPnJJk6c\ndFB+somy6ibKTjadcypqTKSFIf2t2BKjOv8kRGJLiCIlIVK3RoJYaEgI35k8kg6Xi407y3jqlZ08\ncNu4C/pvIqD/dc2ZM4eqqqqzjs+fP59vf/vb3HfffZhMJp5++ml+/vOfU1BQ4IMqRUS6x9nuwl7d\nGTBOVJ36c7KzR+OfezFCQ0ykJEQyOj2B/olRnX+SOr966n6+9H0hJhN3XJdBe4fB33eX8/SrO/m3\nW3OICLswsSGgw8fSpUu7dN6tt97KPffcA3T2dJSVlbkfKy8vx2azdel1kpOt3S9SukVt7B1qZ8/r\nSht3dLg4UeXgWHk9x8oaOFZeT3F5A2UnHbj+KWREhpsZNiiOQSlW0mxW0lJiGGSz0j8xitAvmY4a\n6PTvuPd+8t2J/OpP29i4o5SX3j3II9/7lwvyugEdPs6nsrKS5ORkAN577z1GjhwJQF5eHg888AB3\n3nkndrud4uJisrOzu/iawTun3BuCfd6+t6idPe+f29gwOtfEOF7poLSykZLKRkorHZSddNDecXbI\nGJoay4B+0Z1LZ/eLJjUpigRr+DnGYRhUVzu88I78j/4dXzi3XzsCl8uFo9l5Vpv2NOAFbfj4r//6\nL/bt20dISAgDBw7k8ccfB2D48OFMnTqV66+/HrPZzKOPPqqBVSJywbQ5OzhUUkPhgQqOVzRSUtHI\n8cpGHC1njskIs4SQlhLDwH4xDEzuDBkDk2OIjwnTzyTxKnNoCHOnjb6gr2kyzjXlQ3pEKduz9JuM\nd6idL5z6pjZK7I0UVzSc+tpI2UkHX/ypawJSEiIZlBLDoOTOP2kp0fSLjyREIaPH/Pnf8YXY28Vf\nqOdDRMRHTt82OVbewDF7A8X2Ro7ZG6hpaD3jvPCwUIYNjGPk4AT6xYZ3jsvoF0N4mNbFkOCi8CEi\n0g2GYVBd30pReT1F5Q3uwNHQ5DzjvLiYMLKHJTHYFsPgFCuDbTHu3gx//q1cxBsUPkREzqO2sZWj\nZfUcLWugqLyeY+VnB41+cRGMHBlPen8rg21W0k/tsCoi56bwISJySnNrO0Vl9Xx+KmwcLas/69ZJ\nv7gIRo6KZ0h/K0P6x5Le36r1MkS6SeFDRIKSy2VQWuXg8xN1HDlRz+cn6imrcvDFEfhx0WGMG96P\nIalWLkqNZUh/K9Yo9WiI9JbCh4gEhcZmJ0dK6zhcWseR0jqOljfQ2tbhfjzcEsqowfFclBrLRamx\nDB0Q+yVrZ4j0TiDMcukthQ8RCTguw6D8ZBOHS+s4dLyWw6X12KubzjhnQL9ohg6IZdiAWIYNiGNA\nv2hCQhQ0RLxB4UNE+jxnu4ui8noOHa/jYEktR0rrzli0KzI8lLFDEhg2MI7hA+MYOiD2gu/SKSJd\np/AhIn1Oc2s7h0s7g8bBklqOljXQ3uFyP94vLoLsYUkMHxTP8IFxDFSvhohfUfgQEb/X2OzkUEkt\nB079KbY3uFcJNZlgcIqVEYPiGJHWGTYSrOG+LVhEzkvhQ0T8jqPFyYHiWvYX13CguJbjFY3uWSjm\nUBPDBsYxKi2ekafCRmS4fpSJ9CX6P1ZEfK65tZ1Dx2vZd6yG/cdO9WyceswcGsKowZ1BY9TgBIYN\niCXMouXIpe8KpL1dekrhQ0S8ztnu4khpHXuP1bD/WA1Hy+rpcHXGDXOoiZFp8WSkJ5AxOJ6hA+Kw\nmEN8XLGIXEgKHyLicYZhcLzSwd6iavYUVXOwpJY2Z+cAUZMJLkqNZXR6AqPTExg+ME49GyIBTuFD\nRDyiztHG3qJqdn9ezd6iauocbe7HBvSLZnR6AmOGJDAqLYGoCP0oEgkm+j9eRC6I9o7OWym7j1az\n6/OTFNsb3Y/FRodx2VgbY4YkMmZIomajiAQ5hQ8R6bGahlZ2fX6SXUdOsvdYNc2tncuVm0NNjE5P\nIPOiRMZelMiglBhCtEy5iJyi8CEiXeZyGXxeVk/hkSoKD5+kuOIfvRvJ8RFcNrY/mUOTyBgcT0SY\nfryInEswz3I5TT8dROS8mlvb2XO0mh2Hqyg8cpLGZifQ2bsx9qJEsocmkT0sCVtilI8rFZG+QuFD\nRM5ysq6FHYer2HGokv3Fte5psPExYeTmDCBneBKj0xPUuyEiPaKfHCKCYRiUVDSy/VAVu45W83lp\nnfux9P5Wxg3vx7jh/Rhsi9EW8yLSawofIkHK5TI4XFrHZwcr2X6oksraFqDzdkrmRYlcPKIfOcP7\nkRgb4eNKRSTQKHyIBJEOl4sDxbVsO1DJtoOV1J9aeyMiLJSJo1MYPzKZqyem42ho8XGlIhLIFD5E\nAlx7h4v9xTVs3V/BZwer3ANGYyIt5OakMn5kCqPTE9xLmEdFWBQ+RDxIe7sofIgEpA6Xi/3FtWzZ\nV8FnByvdgSMuOoyrxw9kwqgURqbFERqiPVNExPsCPny8++67LF68mCNHjvDaa68xduxY92NLlizh\n9ddfJzQ0lIcffphJkyYBsGfPHh566CHa2trIzc3l4Ycf9lX5Il3mMgwOH6/j0312tu6voL7pH4Hj\nmvGDuHR0CsMHxWmxLxHxuYAPHyNHjmTx4sUsXLjwjONHjhzhnXfe4e2336a8vJw5c+awZs0aTCYT\nixYtoqCggOzsbO666y42bdrElVde6aN3IPLlTs9S+WSvnU/32amubwXAGmXh6osHMnF0CiMGxRMS\nosAhIv4j4MPH0KFDgc4f0l+0bt06pk2bhtlsZtCgQaSnp1NYWMiAAQNwOBxkZ2cDMGvWLNauXavw\nIX7lZF0Ln+wt55O9dkorHQBEhodyRVZ//mW0jdFDEnRLRUT8VsCHjy9jt9sZN26c+3ubzYbdbic0\nNJT+/fufdVzE15pb29l6oIKPd5ezv7gW6JwWO35kMpeNtZE9LAmLWVvRi4j/C4jwMWfOHKqqqs46\nPn/+fPLy8nxQkciF4XIZ7DtWw0e7y/jsQCVt7S4ARqbFc3lmfy4ZlUx0hMXHVYpIdwTzLJfTAiJ8\nLF26tNvPsdlslJWVub8vLy/HZrOdddxut2Oz2br0msnJ1m7XId0TLG1cVuVg3ZZi1m0toaq2GYDU\nftHkTUjj6kvSPL6PSrC0sy+pjT1Pbey/AiJ8dNUXx33k5eXxwAMPcOedd2K32ykuLiY7OxuTyYTV\naqWwsJCsrCxWrFhBfn5+l16/srLBU6ULnT9IArmN25wdbDtQyabCE+7bKhFhoeTmDGBSVirDBsZ2\nLm3e0eHRdgj0dvYHamPPUxt7R08DXsCHj7Vr1/LEE09QU1PDPffcQ0ZGBr///e8ZPnw4U6dO5frr\nr8dsNvPoo4+696xYuHAhCxYsoLW1ldzcXHJzc338LiSQlVQ0snHHCT7eU05TazsAGYPjmZSdyiUj\nUwgP0zgOEQksJuOfp4FIjylle1Yg/SbT6uxgy74K3t9eytGyeqBzPY5J2alMyk7FluC77ekDqZ39\nldrY89TG3qGeD5E+oOykg/e3l/L3XZ29HCYge1gSX88ZQNawJMyhmh4rIoFP4UPEwzpcLnYePsm6\nbcfZd6wGgNjoMG64JJ3cnAH0i4v0cYUi4k3a20XhQ8RjGpra2LjzBBu2l3Ly1MqjGYPjuXr8IC4e\n0U+9HCIStBQ+RC6w4xWNvLe1hI/32GnvcBFuCeXqiweSN34gA5NjfF2eiIjPKXyIXAAuw6DwyEne\n21LivrWSEh/JNRMGcUVmKlER+l9NROQ0/UQU6QVnewd/313O6k9LKK9uAmB0egLXTkgje1iSNnQT\nETkHhQ+RHmhsdrL+s+Os33ac+iYnoSEmrsjsz+SJg0lL0a0VEZHzUfgQ6Ybq+hZWf1rCBztLaXO6\niAw3M+1r6VxzySASrOG+Lk9E+oBgnuVymsKHSBeUnXTwzifFfLynnA6XQYI1nBuvTOPKnAFEhut/\nIxGR7tBPTZHzOF7ZyN/+XsSWfRUYQP/EKKZ+bTCXje2vqbIiIj2k8CFyDsfKG/jb34vYdrASgMG2\nGG64bAjjRyZrEKmISC8pfIh8QbG9gZUfHmX7oSoALkqNZcYVQ8geluTeeFBERHpH4UMEKK1sZOWH\nR9l6oLOnY9jAWGZOuoixQxIVOkRELjCFDwlq9pomVm46yua9dgzgolQrs64cSuZFCh0i4hna20Xh\nQ4JUXWMrb35UxMadJ+hwGQxOiWHWlUPJGa7bKyIinqbwIUGlqaWddz89xpotJbQ5XaQkRHJj7lAm\nZKQQotAhIuIVCh8SFNo7XHyw4wQrPzxKY7OTuJgwbsu7iEnZqZoyKyLiZQofEtAMw2DH4Speff8I\n5dVNRISFcmPuUK69NI1wS6ivyxMRCUoKHxKwSioa+b+1B9lfXEuIycTVFw9k5qSLiI0O83VpIiJB\nTeFDAk5js5PlGz9nw45SDAOyhyVx69XDGdAv2teliYgE9SyX0xQ+JGB0uFxs2H6CFZs+x9HSTmpS\nFN+6ZgSZQ5N8XZqIiHyBwocEhCOldfxx9QGKKxqJDA/ltrzh5F0ySINJRUT8kMKH9GmNzU5e23CE\njTtPADApK5WbrxqmcR0iIn5M4UP6JMMw+GhXOX99/zCNzU4GJkeTP3kUI9PifV2aiIh8BYUP6XMq\napr4w7sH2HeshnBLKLdePZxvTNAtFhGRvkLhQ/qMjg4X72w+xspNR2lrd5E9LIk7powiMTbC16WJ\niHSZ9nYJgvDx7rvvsnjxYo4cOcJrr73G2LFjASgtLWXatGkMHToUgJycHBYtWgTAnj17eOihh2hr\nayM3N5eHH37YV+XLKSUVjRQs28aR43VYoyzMmTaaiaNTtA+LiEgfFPDhY+TIkSxevJiFCxee9djg\nwYNZvnz5WccXLVpEQUEB2dnZ3HXXXWzatIkrr7zSG+XKP+lwuXj7k2Le/PAoHS6DyzP7c9s1I4iJ\ntPi6NBER6aGADx+nezYMw+jS+ZWVlTgcDrKzswGYNWsWa9euVfjwgRNVDl5YtZejZQ3ExYTx49vG\nk94vytdliYhILwV8+Dif48ePM3v2bGJiYrj//vuZMGECdrud/v37u8+x2WzY7XYfVhl8XIbB2i0l\nvPbB57R3uLhsrI1vfWMkFw1OpLKywdfliYhILwVE+JgzZw5VVVVnHZ8/fz55eXnnfE5KSgobNmwg\nLi6OPXv2cN9997Fq1ape1ZGcbO3V8wVO1jXzzF+2s+NgJXExYdx3cw6XZQ1wP6429g61s+epjT3P\nb9s4pHOsmt/W5wUBET6WLl3a7edYLBbi4uIAGDt2LGlpaRQVFWGz2SgrK3OfZ7fbsdlsXXpN/Vbe\nO9sPVbL07f00NjvJHpbE3GmjiY0Oc7drcrJVbewFamfPUxt7nl+38ZZdnV/9tb5u6GmACojw0VVf\nHPdRXV1NfHw8ISEhlJSUUFxcTFpaGrGxsVitVgoLC8nKymLFihXk5+f7sOrA1+bs4C/rD7NheykW\ncwjfuXYkeeMHaiaLiEiACvjwsXbtWp544glqamq45557yMjI4Pe//z1bt27lmWeewWKxYDKZePzx\nx4mNjQVg4cKFLFiwgNbWVnJzc8nNzfXxuwhc5dVN/Gb5bo5XNjIoOZofzBjLwOQYX5clIiIeZDK6\nOg1EvpLfdvH5qU/32Vn6zn5a2zq4+uKB3HbNcCzm0C8936+7UQOI2tnz1Maepzb2Dt12kT7D2e7i\nL+sP8f5npYSHhfKDGWP5lzFdG1cjIiJ9n8KHeFV1fQuL39hFUXkDg5KjuXdWJqlJ0b4uS0REvEjh\nQ7zmYEktv1m+i/omJ1dk9uf2KaMIt3z5bRYRkUCkvV0UPsQLDMNgw/ZS/rz2EIBms4iIBDmFD/Eo\nZ7uLP713gI07y7BGWfjhrExGDU7wdVkiIuJDCh/iMY3NTha/sYuDJbWk26z8641ZJMVF+LosERHx\nMYUP8Qh7TRP/89ed2GuamTAqme/fMIYwje8QEREUPsQDDpbUsviNXTQ2O5n2tXRu/PpQQjS+Q0RE\nTlH4kAtq8147L6zai8sFd07NIDdnwFc/SUQkiATzLJfTFD7kglm7tYQ/rz1EZHgoP5yVxdiLEn1d\nkoiI+CGFD+k1wzBYsekob/29iLjoMObfmsNgW/BuFS0iIuen8CG94nIZ/Om9g7y/vZTk+Aj+/baL\nSYmP9HVZIiLixxQ+pMfaO1z87q29bNlfQVpKDP92aw5xMeG+LktERPycwof0SHuHi9+u2M32Q1WM\nHBTHj27OJirC4uuyRESkD1D4kG5ztrv4zfJd7DxykjFDEph3U7b2aBER6SLt7aLwId3kbO9g8Ru7\n2fX5ScZelMi8G7O0eJiIiHSLwod0WZuzg8Vv7GL30WqyhibxrzdmYjEreIiISPcofEiXtHe4WLy8\nM3hkD0vivtlZWMwhvi5LRET6IH16yFdyuQyef2svuz9X8BARkd7TJ4icl2EYvLx6P1v3VzAyLZ57\nZ2UqeIiISK9csNsubW1tHDp0iIMHD3Lo0CFqampobGzE4XBgsViIjIwkOTmZgQMHMmrUKLKysoiJ\niblQlxcPMAyDV98/wsadZaTbrNx/s2a1iIj0VjDPcjmtV+HD4XCwZs0a1q1bx0cffURLSwvQ+aF1\nPiaTCZPJRFZWFtdddx3Tpk3DZrP1phTxgFUfH+PdT4tJTYpi/jdziAzXECEREek9k/FVSeEc6urq\nePnll1m2bBl1dXXExcWRnZ3NmDFjSEtLw2azkZiYSEREBGFhYTidTlpbW6mrq8Nut1NaWsr+/fvZ\ntWsXZWVlmM1mpk6dyj333MOwYcM88T69orKywdclXDAfFpbx4tv7SIqNYMHt40mMjfB1SSQnWwOq\njf2V2tnz1Maepzb2juTknu3j1e1fZd98802eeOIJLBYLN910E1OmTCE7OxuTydSjAo4cOcK6det4\n/fXXmTlzJrfffjv3338/kZHaH8RX9hVV84d39xMdYebfvpnjF8FDREQCR5d7Ppqbm/l//+//sWPH\nDu69915uvvlmLJYLu5z2hg0b+J//+R86Ojr4zW9+Q1pa2gV9fU8LhJR9osrBk3/cRquzgwduG8eo\nwQm+LslNv8l4h9rZ89TGnqc29o6e9nx0adpCc3Mzd911F/Hx8bz77rt861vfuuDBA+Cqq65i+fLl\nzJ49m9tvv53Dhw/3+jV/+ctfMnXqVGbOnMm8efNobGx0P7ZkyRImT57M1KlT+fDDD93H9+zZw/Tp\n05kyZQoFBQW9rqGvqHe08T+v7qSptZ2500b7VfAQEZHA0aXw8cMf/pBbbrmFxx9/nKioKI8WZDKZ\nmDt3LosXL+bBBx+kqqqqV683adIkVq1axcqVK0lPT2fJkiUAHD58mHfeeYe3336b3/3udzz22GPu\ngbKLFi2ioKCA1atXU1RUxKZNm3r9vvxdm7ODZ18vpKquhRlXDOGyzP6+LklEJCAlXpLp3t8lWHUp\nfDz66KPMnDnT07WcISsri+eee67XYz8uv/xyQkI63+a4ceMoLy8HYP369UybNg2z2cygQYNIT0+n\nsLCQyspKHA4H2dnZAMyaNYu1a9f27s34OcMweOmd/Rw5Uc9lY23MnHSRr0sSEZEA1qXwMWTIEA+X\ncW42m43o6OgL9nqvvfYaX//61wGw2+2kpqaecS273Y7dbqd///5nHQ9k67Yd55O9doYNjOXOqaN7\nPHhYRESkK3q0cENLSwvr169nx44dVFRU0NDQgNVqJTExkdGjR5OVlUVGRsaFrvVLzZkz55y3Z+bP\nn09eXh4Av/3tb7FYLNxwww0eq6OnA298ac/nJ3ll/WHiY8J55HtfIynOv2cZ9cU27ovUzp6nNvY8\nv23jkM5f8Py2Pi/odvhYt24djzzyCDU1NWctJvbF35hTUlKYPHkyN910k8eDyNKlS8/7+BtvvMEH\nH3zAyy+/7D5ms9koKytzf19eXo7NZjvruN1u7/ICaH1tZHVtYyv/+dIWDAPunj4GV1u7X78HjV73\nDrWz56mNPc+f2zjR1fnZWe2n9XWHV9b5OHbsGA8++CDTp093L4/e0NBARUUFBw8eZPfu3ZSWlgKd\nH9rLli1j2bJlfO1rX+Pee+9l4sSJPSqyNzZu3MgLL7zAsmXLCAsLcx/Py8vjgQce4M4778Rut1Nc\nXOxer8RqtVJYWEhWVhYrVqwgPz/f63V7WnuHi9+u2E2do41brx5ORrpmtoiIiHd0a4XTP/zhD4SH\nh3Pbbbd96TmlpaXMnTuXoUOH8umnn+JwODovZDIxbdo0Fi5cSFxcXO8r76LJkyfjdDqJj48HICcn\nh0WLFgGdU21fe+01zGYzDz/8MJMmTQJg9+7dLFiwgNbWVnJzc/npT3/apWv5a8o+l/9be4j3tpYw\nISOFe2eO7RPjPPz5N5lAonb2PLWx56mNvaOnPR/dCh9/+tOfCA8P5+abbz7vefn5+fzxj3/E6XTy\n8ccf8/pFdyV8AAAgAElEQVTrr7N+/XqcTidpaWk8++yzXh0T4i195R/69kOVPPv6LlKTovjpHRP6\nzJ4t+mHiHWpnz1Mbe57a2Ds8usjYabm5ubz44ovu3owvc/q3aIvFQm5uLr/+9a/ZuHEjDz74IA6H\ng9tuu43Nmzf3qGDpnbrGVpa+vR9zaAj3zsrsM8FDREQCR7fCR1paGpdddhm33XYbe/fu7daFEhIS\n+N73vsd7773HjBkz+NGPfkRFRUW3XkN6xzAMXnh7H43NTm65ahiDkmN8XZKIiAShboUPgIceeoiU\nlBRuvvlmfvSjH7Fly5ZuPT86OprHH3+cH/zgBzz77LPdvbz0wvrPStn9eTVjL0rkmgmDfF2OiIgE\nqW6HD4vFwpIlS7jllltYs2YNd9xxBzNmzOCll146Y4rqV5k7dy6HDh3q7uWlh0qrHPz1/cPERFr4\n3vWjCekDA0xFRCQwdTt8AJjNZh577DF+/vOfY7VaOXjwIL/4xS/Iy8vjlltu4cSJExQWFtLR0fGl\nr9HU1PSVY0fkwnC2u3j+zT04213cOTWD+JhwX5ckIhK0tLdLD1c4PW3WrFlcddVVPPfcc7zyyis0\nNzeza9cuTCYT3/zmN4mIiGDMmDFkZGSQlpZGTEwMbW1tlJaWsmbNGp+s+xGM3vzoKCUVjeTmpDJ+\nZLKvyxERkSDX66kO8fHxPPTQQ/zwhz9k5cqVvPvuu+zcuZP29naam5vZtm0bn3322RnPMQyDyZMn\n8/DDD/f28vIVSioaeXdzMUmxEdx2zQhflyMiItL78HFabGws+fn55Ofn43A42Lx5Mzt37qSkpIS6\nujqgc8bLiBEjyMvLY8QIfRB6mstl8Id399PhMsifMoqIME2rFRER3/PIp1F0dDR5eXnuTd3EN97f\nXsrnJ+qZODqF7GFJvi5HREQE6OGAU/F/1fUtvP7BEaLCzXzrGyN9XY6IiIib+uED1J/eO0hLWwd3\nTs0gLjrsq58gIiJeUb1tt69L8Lmv7PkoLi7moYcewul0eqMeN7vdzj333OPVawaKbQcq2X6oilFp\n8VyZnerrckRERM7wleFj8ODBjB49mrlz52K3271RE1u3buW73/0ud911l1euF0ha2zr489qDmENN\n3HHdqD6xW62IiASXLt12+e53v4vZbGbmzJnMmzePb37zm5jNF/6OTXV1Nf/7v//L6tWrefrpp7nk\nkksu+DUC3epPi6lpaOWGy4eQmhTt63JERETO0uUBp9/5zndYvHgxS5cu5dprr2Xp0qVUVlZekCIO\nHTrEk08+ybXXXsv+/fv561//yqWXXnpBXjuY1Da28s7mYmKjw5j6L4N9XY6IiMg5dav7YsKECaxa\ntYrnnnuOZ599lqeeeoqcnBwuu+wycnJyGDlyJDab7byv4XK5KCkpYe/evezYsYNNmzZx9OhRbDYb\nP/3pT5k9e3av3lAwW7Hpc1qdHdx2zXAiwzWWWERE/JPJMAyjJ09saGjg//7v/3jzzTc5fPiwe2xB\nWFgYSUlJxMfHEx4ejtlspq2tjdbWVqqrqzl58iQul6vz4iYT48eP5+abb+aGG27wyK0cb6qsbPDZ\ntY9XNPLo0k8ZkBTNormXEhoSeLOok5OtPm3jYKF29jy1sef5cxuf3tclEGa9JCdbe/S8Hn/aW61W\n7r77bu6++26OHDnCJ598wvbt2zl48CDHjx/nxIkTZz0nMTGRsWPHMnr0aMaPH88VV1xBv379elqC\nfMFf3z+MYcAtVw8PyOAhIiKB44J0NQwbNoxhw4bxne98x32submZpqYmnE4n4eHhREdHExam9SY8\nYffnJ9l9tJqxQxLIGpro63JERETOy2P3OSIjI4mMjPTUy8spLpfBK+8fxkRnr4em1oqIiL9T/3wf\n99HuMkorHVyRlcpgW8/uvYmIiHiTx8PH/v37vbY4WbDpcLlY9fExzKEmZl15ka/LERER6RKPTy+p\nrq5mwYIF9OvXj5tuuolrrrkGi8Xi6csGhS37K6ioaebr4waQGBvh63JERKQLAmGWS295vOfj8ssv\nZ/ny5eTn57Ns2TKuvPJKCgoK2Ldvn6cvHdBchsGqj48RYjIx9Wvpvi5HRESky7w25iM3N5dly5bx\nyCOP8Nprr3HjjTdy6623euvyAWfHoSpKKx38y5gUUuI1sFdERPqOboePV155pVcXvP7663nqqacA\n2LVrV69eqyt++ctfMnXqVPe+NI2NjQCUlpaSk5PD7NmzmT17NosWLXI/Z8+ePUyfPp0pU6ZQUFDg\n8Rq7yzAM/vb3IkzAtMuG+LocERGRbul2+FixYkWvL5qXl8dNN93U69fpikmTJrFq1SpWrlxJeno6\nS5YscT82ePBgli9fzvLly88IH4sWLaKgoIDVq1dTVFTEpk2bvFJrV+0pqqaovIHxo5IZ2E+bx4mI\nSN/S7fDR1tZ2QS58++23X5DX+SqXX345IadW/Bw3bhzl5eXnPb+yshKHw0F2djYAs2bNYu3atR6v\nszv+9vdjANygXg8REemDuh0+LtROthkZGVit3l2X4rXXXiM3N9f9/fHjx5k9ezb5+fls3boVALvd\nTv/+/d3n2Gw2v5oqfLCkloMltWQNTSK9v9b1EBHpaxIvyXTv7xKsuj3VtqKigl/84hfMnDmTjIyM\nXl38q3bA7ao5c+ZQVVV11vH58+eTl5cHwG9/+1ssFgvTp08HICUlhQ0bNhAXF8eePXu47777WLVq\nVa/q6OkGO92xeEXnFK3bp432yvX8TTC+Z19QO3ue2tjz/LaNQzpXovbb+rygR+t8vPTSS7z00kvE\nxsYyYcIEJk6cyMSJExk9enS3Xic2NrYnlz/L0qVLz/v4G2+8wQcffMDLL7/sPmaxWIiLiwNg7Nix\npKWlUVRUhM1mo6yszH2e3W7vckjy9A6KZScdfLa/gpGD4kiOCfPbHRs9xZ93qQwkamfPUxt7nj+3\ncaKrczP5aj+trzu8uqutYXQ2XF1dHevXr2f9+vVA5063l1xyiTuMjBkzxud7jWzcuJEXXniBZcuW\nnbGxXXV1NfHx8YSEhFBSUkJxcTFpaWnExsZitVopLCwkKyuLFStWkJ+f78N38A8f7OjcKTjvkkE+\nrkRERKTnuh0+EhISeOaZZygsLOTTTz9l27Zt7umr9fX1bNiwgQ0bNgAQHR3tDiOXXnopmZmZ7sGf\n3vKzn/0Mp9PJ3LlzAcjJyWHRokVs3bqVZ555BovFgslk4vHHH3f3xCxcuJAFCxbQ2tpKbm7uGeNE\nfKXN2cFHu8qwRlkYPzLZ1+WIiIj0WLfDx8CBA7n00ku59NJL+d73vofL5WLv3r1s2bKFzZs389ln\nn1FfXw9AY2MjGzduZOPGjQBERUUxfvx4Jk6cyIQJE6irq7uw7+Yc1qxZc87jkydPZvLkyed8LDMz\nk7feesuTZXXb1gMVOFramfa1dMyh2g9QRET6rm6Hj9TU1DO+DwkJITMzk8zMTObMmYNhGOzbt49P\nP/3U3TNyOmQ4HA4+/PBDPvzwwwtTfRDZsP0EJiB33ABflyIiIr2gvV16ED6effbZ8z5uMpkYM2YM\nY8aM4c4778QwDA4cOMDmzZvZsmULW7ZscYcRX48H6StKKho5XFpH5tBELaUuIiJ9nsd3tTWZTGRk\nZJCRkcF3v/tdAPbv38+aNWv47W9/6+nLB4QNO0oBuHrcQB9XIiIi0nseDx/ncjqMvPnmm764fJ/S\n0tbOx7vLSbCGkz08ydfliIiI9JpPRy4mJib68vJ9wua9dlraOsjNGUCol2cKiYiIeIJPP80yM4N7\nedmvYhgG728vJcRkIjdHA01FRCQw+DR8LFy40JeX93tF5Q0U2xsZN6IfCdZwX5cjIiIXgPZ28XH4\nkPP7eE/nDry5OalfcaaIiEjfofDhp1yGwbYDlURHmBkzRGNjREQkcCh8+KnPS+upaWhl3Ih+WtFU\nREQCij7V/NSW/RUAXJqR4uNKRERELiyFDz/kMgy2HqggKly3XEREJPD4ZJExOb+jJzpvuVyR2V+3\nXEREAoz2dlHPh186fctlgm65iIhIAFL48DOGYbDtQAWR4WbGXqRbLiIiEngUPvzM52X1nKxv5WLN\nchERkQClTzc/s/X0LZdRuuUiIiKBSeHDjxiGwdb9lUSGh+qWi4iIBCyFDz9ytKyBk/UtjBveD4tZ\n/2lERAKR9nZR+PArWzXLRUREgoDChx/57FAlEWGhZOqWi4iIBDCFDz9RVddMRU0zGYMTsJhDfV2O\niIiIxyh8+In9x2oBGJ2e4ONKREREPEvhw0/sL64BFD5ERCTwaW8XP2AYBvuO1RATaWFAcrSvyxER\nEQ/S3i5B0PPx61//mhkzZjBr1iy+973vUVlZ6X5syZIlTJ48malTp/Lhhx+6j+/Zs4fp06czZcoU\nCgoKPF5jRU0zNQ2tZKQnEGIyefx6IiIivhTw4eP73/8+b775JitWrOCqq65i8eLFABw+fJh33nmH\nt99+m9/97nc89thjGIYBwKJFiygoKGD16tUUFRWxadMmj9a4T7dcREQkiAR8+IiO/sdtjObmZkJC\nOt/y+vXrmTZtGmazmUGDBpGenk5hYSGVlZU4HA6ys7MBmDVrFmvXrvVojfuPdYaPjMHxHr2OiIiI\nPwiKMR9PP/00K1euxGq18vLLLwNgt9sZN26c+xybzYbdbic0NJT+/fufddxTTo/3iI8Jo39ilMeu\nIyIi4i8CInzMmTOHqqqqs47Pnz+fvLw85s+fz/z583n++edZtmwZ8+bN80GV51Za5aChycllY22Y\nNN5DRESCQECEj6VLl3bpvOnTp3P33Xczb948bDYbZWVl7sfKy8ux2WxnHbfb7dhsti69fnKytXuF\nA5/s7xwAe+nY1B49P9iojbxD7ex5amPP89s2HjKk82tRkS+r8KmACB/nc+zYMdLT0wFYu3YtQ4cO\nBSAvL48HHniAO++8E7vdTnFxMdnZ2ZhMJqxWK4WFhWRlZbFixQry8/O7dK3KyoZu17dlT2fQGZQY\n2aPnB5PkZKvayAvUzp6nNvY8f27jRFfn5IZqP62vO3oa8AI+fDz11FMcPXqUkJAQBgwYwGOPPQbA\n8OHDmTp1Ktdffz1ms5lHH33Ufdtj4cKFLFiwgNbWVnJzc8nNzfVIbS6XwYHiWvrFRdAvPtIj1xAR\nEfE3JuP0/FLpte6m7GPlDTz20hYmZacyd9poD1UVOPz5N5lAonb2PLWx5/lzGydekgkExmJjPe35\nCPiptv5s3zGt7yEiIsFH4cOH9rnX91D4EBGR4BHwYz78VXuHi4PHa0lNiiLBGu7rckRExEsC4XZL\nb6nnw0eKyhtobetQr4eIiAQdhQ8fKSqrB2D4oDgfVyIiIuJdCh8+UlLRCEBaSoyPKxEREfEuhQ8f\nOV7ZiDnUpP1cREQk6Ch8+IDLZVBa6WBAUjTmUP0nEBGR4KJPPh+w1zTR1u7SLRcRkSCUeEmme6Gx\nYKXw4QOnx3sMUvgQEZEgpPDhAxpsKiIiwUzhwweOq+dDRESCmMKHD5RUNhIXE0ZsVJivSxEREfE6\nhQ8va2x2Ul3fSlqyej1ERCQ4aW8XLyut1HgPEZFgpr1d1PPhdcUabCoiIkFO4cPLNNhURESCncKH\nl5VUaFl1EREJbgofXtThclFapWXVRUQkuOkT0Isqappxall1EREJcgofXqSVTUVERHu7KHx4lfZ0\nERERUfjwKoUPERERhQ+vOq5l1UVERBQ+vMW9rLp6PUREJMgF/PLqv/71r1m3bh0hISEkJSXx85//\nnOTkZEpLS5k2bRpDhw4FICcnh0WLFgGwZ88eHnroIdra2sjNzeXhhx/udR2nFxfTni4iIhLsAj58\nfP/73+f+++8H4I9//COLFy/mscceA2Dw4MEsX778rOcsWrSIgoICsrOzueuuu9i0aRNXXnllr+oo\n0Z4uIiKC9naBILjtEh0d7f57c3MzISHnf8uVlZU4HA6ys7MBmDVrFmvXru11HZpmKyIi0ingez4A\nnn76aVauXInVauXll192Hz9+/DizZ88mJiaG+++/nwkTJmC32+nfv7/7HJvNht1u73UNJ6ochIaY\nsGlZdRERCXIBET7mzJlDVVXVWcfnz59PXl4e8+fPZ/78+Tz//PMsW7aMefPmkZyczIYNG4iLi2PP\nnj3cd999rFq1ymM11jS0kmAN17LqIiIS9AIifCxdurRL502fPp27776befPmERYWRlhY55TXsWPH\nkpaWRlFRETabjbKyMvdz7HY7NputS6+fnGw95/GODhd1ja2MSk/80nOka9R+3qF29jy1seepjf1X\nQISP8zl27Bjp6ekArF271j27pbq6mvj4eEJCQigpKaG4uJi0tDRiY2OxWq0UFhaSlZXFihUryM/P\n79K1Kisbznm8pqEVlwExEeYvPUe+WnKyVe3nBWpnz1Mbe57a2Dt6GvACPnw89dRTHD16lJCQEAYM\nGOCe6bJ161aeeeYZLBYLJpOJxx9/nNjYWAAWLlzIggULaG1tJTc3l9zc3F7VUNPQCkCCNbx3b0ZE\nRPq80/u6BPOsl4APH88888w5j0+ePJnJkyef87HMzEzeeuutC1aDwoeIiMg/aPSjF9Q0tAAKHyIi\nIqDw4RU1jZ09H/ExCh8iIiIKH15Qq9suIiIibgofXnB6zId6PkRERIJgwKk/qGlswxplwWJW1hMR\nCXbBPMvlNH0aephhGNQ0tJCgXg8RERFA4cPjmlvbaXO6iNd4DxEREUDhw+O0xoeIiMiZFD487PQ0\nW4UPERGRTgofHubu+dCYDxEREUDhw+N020VERL4o8ZJM9/4uwUrhw8NOLzCmAaciIiKdFD48TD0f\nIiIiZ1L48LCaxlbCLCFEhWs9NxEREVD48LiahlYSYsIxmUy+LkVERMQvKHx4kLPdRUOTU7dcRERE\nvkD3AjyorlGDTUVE5Eza20U9Hx6lBcZERETOpvDhQVpgTERE5GwKHx6kabYiIiJnU/jwoBotMCYi\nInIWhQ8Pqm3UbRcREZF/pvDhQTUNrZhMEBcT5utSRETET2hvF4UPj6ppaCUuOozQEDWziIjIafpU\n9BDDMKhtbNVgUxERkX8SNOHjxRdfJCMjg9raWvexJUuWMHnyZKZOncqHH37oPr5nzx6mT5/OlClT\nKCgo6NH1GpqdtHcYxGu8h4iIyBmCInyUl5fz0UcfMWDAAPexI0eO8M477/D222/zu9/9jsceewzD\n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\n/W2IOAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f9ef4d555c0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"thetas = np.arange(0.01, 1.0, 0.01)\n",
"lls = [log_likelihood(data, theta) for theta in thetas] # 内包表記です. 便利なので覚えましょう. \n",
"plt.plot(thetas, lls)\n",
"\n",
"theta_opt = thetas[np.argmax(lls)] # Argmaxで対数確率の最大値を与えるθの値を取得します. \n",
"plt.plot([theta_opt, theta_opt], [-450, 0], c='r', ls='--')\n",
"plt.xlabel('$\\\\theta$', fontsize=30) # 文字列はLatexの数式記号です. 「Latex 数式」で検索してみてください. \n",
"plt.ylabel('$L(\\\\theta)$', fontsize=30)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### サンプル数による最尤推定量のばらつき\n",
"* 対数尤度関数はデータ$D$に依存します. データが確率的にばらつく場合, 対応する対数尤度関数がどの程度ばらつくかを確認します. \n",
"* データを100回生成し, それぞれについて対数尤度関数をプロットします. \n",
"* サンプル数を10, 100, または1000とします. サンプル数が多いほど関数のばらつきが小さいことが分かります. "
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nrkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f9ef227f668>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def plot_lls(theta=0.7, n_samples=100): # Pythonは関数の引数にデフォルト値を与えることができます. \n",
" thetas = np.arange(0.01, 1.0, 0.01)\n",
" rng = np.random.RandomState(0) # ループの外側で乱数生成器を初期化します. \n",
" \n",
" for i in range(100):\n",
" data = rng.binomial(n=1, p=theta, size=n_samples)\n",
" lls = [log_likelihood(data, theta) for theta in thetas]\n",
" plt.plot(thetas, lls)\n",
" plt.xlabel('$\\\\theta$')\n",
"\n",
"fig = plt.figure(figsize=(15, 3))\n",
"fig.add_subplot(131)\n",
"plot_lls(n_samples=10)\n",
"plt.title('N=10')\n",
"plt.ylabel('$L(\\\\theta)$')\n",
"\n",
"fig.add_subplot(132)\n",
"plot_lls(n_samples=100)\n",
"plt.title('N=100')\n",
"\n",
"fig.add_subplot(133)\n",
"plot_lls(n_samples=1000)\n",
"plt.title('N=1000');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* サンプル数10の場合に顕著ですが, データに関わらず対数尤度関数が常にある1点を通っていることが分かります. 理由を考えてみましょう. "
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"* 今度は尤度関数ではなく最尤推定量自体のばらつきを確認します. サンプル数が増えると推定量のばらつきが小さくなることが分かります. "
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nICIihoaG4oILLoiIiDPOOCP27dsXzz333CHOHg6uVtb2TPbc5bXJdDsZqieXy8Ull1wSy5cvj8sv\nv3zKc3fddVds2rQpcrnclJ+fcsop8a1vfeug77lnz5447rjjYt68fzX2iSeeOO0+jDAbqrW2/70h\n+/j4eJx44omTY4vFYpRKpTjhhBOy+pUgIuZ+bf/7uVfbc/fxxx9P/v0amZg6jB1zzDGxatWq+MEP\nfhBHHnnk5M+XL18ey5cvn8OZQRprm3o1l2vbbSVnj5g6zH30ox+NVatWxYUXXjj5s39/wvlv7e3t\n037CaWtrixdeeCEmJiZi3rx5sXPnzigWi7Myb6ikWmu7UCjEzp07J8da98y2uV7bL7300oz23GXm\nxNRh6t+fMI477rh4//vfH7fffvvk/zFn+gnn1T6lnHnmmfGLX/wizjvvvPjJT35ywD6MMNuqvba7\nurpiy5Ytcd5558Vjjz0Wxx57rK/4mBW1srbb2tom99zN5/MxODgYGzZsyPA3bTwuQD9M/ef36v39\n/bF3794DvmufziWXXBJXXXVVPPzww/Hud787fvOb30RExGc/+9m4+eabo7u7O55//vno7e3NfO4w\nnWqv7bPPPjte//rXxznnnBPXXnutf83HrKmVtd3U1BQDAwPR398f559/fvT09ERHR0eGv2njsTcf\nAEACZ6YAABKIKQCABGIKACCBmAIASCCmAAASiCkAgARiCgAggZgCAEjw/6kak74JwDSiAAAAAElF\nTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f9ef1dfc9e8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def calc_theta_opts(theta=0.7, n_samples=10):\n",
" thetas = np.arange(0.01, 1.0, 0.01)\n",
" rng = np.random.RandomState(0) # ループの外側で乱数生成器を初期化します. \n",
" theta_opts = []\n",
" \n",
" for i in range(100):\n",
" data = rng.binomial(n=1, p=theta, size=n_samples)\n",
" lls = [log_likelihood(data, theta) for theta in thetas]\n",
" theta_opts.append(thetas[np.argmax(lls)])\n",
" \n",
" return theta_opts\n",
"\n",
"theta_opts_10 = calc_theta_opts(n_samples=10)\n",
"theta_opts_100 = calc_theta_opts(n_samples=100)\n",
"theta_opts_1000 = calc_theta_opts(n_samples=1000)\n",
"\n",
"data_to_plot = [theta_opts_10, theta_opts_100, theta_opts_1000]\n",
"fig = plt.figure(figsize=(10, 6))\n",
"ax = fig.add_subplot(111)\n",
"ax.boxplot(data_to_plot)\n",
"ax.set_xticklabels(['N=10', 'N=100', 'N=1000']);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 勾配法による最尤推定"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* 全ての$\\theta$の値について対数尤度を計算するのは非効率的です. そこで勾配法を用います. \n",
"* 勾配法は次式に基づいてパラメータを逐次的に更新します. \n",
"\n",
"\\begin{eqnarray}\n",
"\\theta(t+1) &=& \\theta(t) + \\eta(t)\\nabla_{\\theta}L(\\theta)\\mid_{\\theta(t)}\n",
"\\end{eqnarray}\n",
"\n",
"* ここで$\\nabla_{\\theta}\\equiv\\partial/\\partial\\theta$は$\\theta$に関する偏微分を表します. \n",
"* $\\eta(t)$は学習係数と呼ばれ, パラメータの変化量を制御します. 通常は小さな値を設定します. \n",
"* 学習係数を自動的に調整するアルゴリズムとしてモーメント法, Adagrad, Adam, RMSpropなどがあります. \n",
"* ここでは簡単のために$\\eta(t)=0.01$とします. \n",
"* 実際にベルヌーイ分布の対数尤度の偏微分を計算してみます. 対数関数の微分$(\\log x)'=1/x$を使います. \n",
"\n",
"\\begin{eqnarray}\n",
"\\nabla_{\\theta}L(\\theta) &=& \\sum_{n=1}^{N}\\left[x\\frac{1}{\\theta} - (1-x)\\frac{1}{1-\\theta}\\right]\n",
"\\end{eqnarray}\n",
"\n",
"* この式の意味を明らかにするため, 式を変形してみましょう. $n_{1}=\\sum_{n=1}x_{n}$と定義します. これはデータに含まれる1の個数です. \n",
"\n",
"\\begin{eqnarray}\n",
"\\sum_{n=1}^{N}\\left[x\\frac{1}{\\theta} - (1-x)\\frac{1}{1-\\theta}\\right]\n",
"&=& n_{1}\\left(\\frac{1}{\\theta} + \\frac{1}{1-\\theta}\\right) + N\\frac{1}{1-\\theta} \\\\\n",
"&=& n_{1}\\frac{1}{\\theta(1-\\theta)} + N\\frac{\\theta}{\\theta(1-\\theta)}\\\\\n",
"&=& \\frac{n_{1}N^{-1}-\\theta}{\\theta(1-\\theta)}\n",
"\\end{eqnarray}\n",
"\n",
"* 最後の式から何が言えるのか, 考えてみましょう. \n",
"* $\\theta\\in[0, 1]$という制約を満たすようにアルゴリズムを構成する必要があります(制約付き最適化). しかしそれは手間なので, $\\theta$を別のパラメータ$\\lambda$を用いてシグモイド関数で表します. \n",
"\n",
"\\begin{eqnarray}\n",
"\\theta &=& \\frac{1}{1+\\exp(-\\lambda)}\n",
"\\end{eqnarray}\n",
"\n",
"* こうすると先ほどの制約が自動的に満たされるので, $L(\\theta)$の$\\lambda$に関する制約なし最適化を解けばよいこととなります. \n",
"* 実際のコードでは, $\\theta=0$または$1$とならないようにシグモイド関数を適当に打ち切る場合があります. \n",
"* 変数の置き換えを行ったので, 対数尤度関数を$L(\\lambda)$と表します. \n",
"* 改めて対数尤度関数を$\\lambda$で微分します. チェーンルールを使います. \n",
"\n",
"\\begin{eqnarray}\n",
"\\nabla_{\\lambda}L(\\lambda) &=& \\frac{\\partial L}{\\partial\\theta}\\frac{\\partial\\theta}{\\partial\\lambda}\n",
"\\end{eqnarray}\n",
"\n",
"* $\\partial\\theta/\\partial\\lambda$の部分は次のようになります. \n",
"\n",
"\\begin{eqnarray}\n",
"\\frac{\\partial\\theta}{\\partial\\lambda} &=& \\frac{\\exp(-\\lambda)}{(1+\\exp(-\\lambda))^{2}}\\\\\n",
" &=& \\theta(1-\\theta)\n",
"\\end{eqnarray}\n",
"\n",
"* したがって, 次式が成り立ちます. \n",
"\n",
"\\begin{eqnarray}\n",
"\\nabla_{\\lambda}L(\\lambda) &=& n_{1}N^{-1} - \\theta\n",
"\\end{eqnarray}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* 勾配法を実装する前に, データ中の1の回数を数える方法を確認します. "
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ True True False False True]\n",
"[1 1 1]\n",
"3\n"
]
}
],
"source": [
"xs = np.array([1, 1, 0, 0, 1])\n",
"print(xs == 1)\n",
"print(xs[xs == 1])\n",
"print(xs[xs == 1].sum())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* では, 勾配法を実装しましょう. "
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def opt_grad(xs, n_iter, eta, lmd_init):\n",
" lmd = lmd_init # パラメータの初期値を設定します. \n",
" theta = lambda lmd: 1 / (1 + np.exp(-lmd)) # θ(λ)を定義します. \n",
" thetas = []\n",
" lls = []\n",
" ratio = xs[xs == 1].sum() / float(len(xs))\n",
"\n",
" for i in range(n_iter):\n",
" lmd += eta * (ratio - theta(lmd)) # パラメータ更新則です. \n",
" lls.append(log_likelihood(xs, theta(lmd)))\n",
" thetas.append(theta(lmd))\n",
"\n",
" return lls, thetas"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* 実際に使用してみます. "
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f9ef02389e8>"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n17/+tbFp0ybDMAxj48aNRmlpqWEYhvHFF18Y06dPN4LBoHHy5EkjLy/P6O7uNgzDMGbNmmVUV1cb\nhmEYjz76qLF3794ofCL72bx5s7F06VJj0aJFhmEY1M5Enn76aWP79u2GYRhGMBg0WlpaqJ9J1NXV\nGV6v1+jq6jIMwzCefPJJo7y8nPrFsI8//tiora01CgsLI20DWa/XX3/dWL16tWEYhrFz506jpKSk\nzzFZakavpqZG119/vUaPHi23261p06apsrIy2sOyvYyMDN18882SpISEBI0bN0719fWqrKzUzJkz\nJUkzZ87UX/7yF0nSrl27vvX9xg0NDWpra4ucozhjxozI92Dw1NXV6a9//at+/OMfR9qonTn4/X5V\nVVXpgQcekCS5XC4lJSVRPxPp7u5WR0eHQqGQOjs7lZmZSf1i2O23367k5OQL2gayXt/sq6CgQH/7\n29/6HJOlgt63vRf37NmzURwRLnbq1CkdOXJEt912m77++mt5PB5JPWHw3Llzki7/fuP6+nqNHDny\nknYMrueff17Lly+/4PxKamcOp06dUlpamp555hnNnDlTv/zlL9XR0UH9TCIzM1PFxcW6++67NWXK\nFCUlJWny5MnUz2TOnTs3YPU6e/Zs5JrT6VRycrKampqueH9LBT3Etra2Ni1evFgrVqxQQkLCJQdf\ncxB27NmzZ488Ho9uvvlmGVc4cpPaxaZQKKTa2lrNmTNHFRUVio+P16ZNm/jZM4mWlhZVVlZq9+7d\n+vDDD9XR0aG3336b+pncQNbrSr+Xe1kq6GVmZl7wYGJ9fb2uu+66KI4IvUKhkBYvXqzp06crLy9P\nknTttdeqsbFRktTQ0KD09HRJl3+/8cXt9fX1vPd4kH366afatWuX7rnnHi1dulQHDx7UU089JY/H\nQ+1MYOTIkRo5cqRuvfVWSVJ+fr5qa2v52TOJ/fv3a+zYsUpNTZXT6VReXp4+++wz6mcyA1mv6667\nTnV1dZKkcDgsv9+v1NTUK97fUkHv1ltv1YkTJ3T69GkFAgHt3LlT99xzT7SHBfXsRBo/frwefvjh\nSJvX61V5ebkkqaKiIlKry73fOCMjQ0lJSaqpqZFhGHrrrbeo7yD7+c9/rj179qiyslLr16/XnXfe\nqdLSUv3oRz+idibg8XiUlZWlY8eOSZIOHDig8ePH87NnEqNGjVJ1dbW6urpkGAb1M4mLZ9kGsl5e\nr1cVFRWSpPfee0+TJk3qczyWewXa3r179dxzz8kwDM2aNUsLFy6M9pBs75NPPtFDDz2k7OxsORwO\nORwOLVmyRBMnTlRJSYnOnDmj0aNH67e//W3kIdaNGzdq+/btcrlcWrlypXJyciRJn3/+uZ555hl1\ndXVpypQpWrVqVTQ/mq38/e9/16uvvqqXXnpJTU1N1M4kjhw5opUrVyoUCmns2LF64YUXFA6HqZ9J\nbNiwQTt37pTL5dItt9yiNWvWqK2tjfrFqN6Vj6amJnk8Hj3xxBPKy8vTk08+OSD1CgQCeuqpp/SP\nf/xDqampWr9+vcaMGXPFMVku6AEAAKCHpZZuAQAA8B8EPQAAAIsi6AEAAFgUQQ8AAMCiCHoAAAAW\nRdADAACwKIIeAMvxer06evSoKioq9OWXXw54/62trXrllVcuaFu1apU++eSTAb8XAPwvCHoALMfh\ncMgwDJWXl+v48eNX/f19HS/a3Nx8SdBbs2aNvv/971/1vQBgMHFgMgDL8Xq9WrBggdatWyePx6PE\nxEQtX75cd911l15++WV98MEHCoVCyszM1Jo1a3Tttddqw4YN+uKLL+T3+3XmzBn96U9/0u9//3tV\nVVUpGAwqLS1Nzz//vLKysrRo0SLt27dPN954o6655hqVlZVp3rx5evTRR5Wbm6uvv/5aq1ev1okT\nJyRJ8+fP14wZMyJjmzFjhvbv36+GhgbNnz9fc+fOjeZ/FwALc0V7AAAw0BwOh+68805NmDAhEr4k\n6e2339bJkye1bds2SVJZWZleeOEFrVu3TpJ06NAhVVRUKCUlRZK0aNEiPf3005KkN954Q6WlpVq/\nfr2effZZzZo1K/LOyYutWbNG2dnZ2rBhgxoaGlRUVKQJEyZo/PjxkqTOzk5t3bpVp0+fVmFhoYqK\nihQfHz+o/ycA7ImgB8A2du3apcOHD0dm18LhcOSdk5I0ZcqUSMiTpD179qisrEzt7e0KhUJyOBz9\nus/+/fv1i1/8QpKUkZGh3NxcHTx4MBL0pk2bJkkaPXq0UlNTVVdXp+9+97sD8hkB4JsIegBswzAM\n/exnP1NRUdG3Xh8xYkTk71999ZVefPFFlZeXa9SoUfrss8+0bNmyft2nr0AYFxd3wdeGw+F+9QsA\nV4vNGAAsp/fR48TERLW0tETavV6vtmzZEmkLBAI6cuTIt/bh9/s1fPhweTwedXd3q6ysLHItMTFR\nnZ2dlw1okydP1htvvCFJamho0N69ezVp0qQB+WwAcDWY0QNgOb0zag8++KBefPFFvfrqq1q+fLmm\nT5+upqYmPfTQQ3I4HOru7tacOXN00003XdJHdna27r33Xk2dOlXp6enKzc2NHJ+SkpIin88nn8+n\nlJQUlZWVXTCLt3LlSj377LO6//77JUnLli3TuHHjLhjbxWMFgMHArlsAAACLYukWAADAogh6AAAA\nFkXQAwAAsCiCHgAAgEUR9AAAACyKoAcAAGBRBD0AAACL+n9mjUU1YWm4nQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f9ef1f8a780>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"rng = np.random.RandomState(0)\n",
"data = rng.binomial(n=1, p=0.3, size=100)\n",
"lls, thetas = opt_grad(data, n_iter=10000, eta=1e-2, lmd_init=0) # λ=0の場合θ=0.5となります. \n",
"\n",
"fig = plt.figure(figsize=(10, 8))\n",
"ax1 = fig.add_subplot(211)\n",
"ax1.plot(thetas)\n",
"ax1.set_ylabel('$\\\\theta$')\n",
"\n",
"ax2 = fig.add_subplot(212)\n",
"ax2.plot(lls)\n",
"ax2.set_ylabel('Log likelihood')\n",
"ax2.set_xlabel('Iteration')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"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.1"
},
"widgets": {
"state": {},
"version": "1.1.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment