Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save rakhmaevao/7b7e29a9eb309b2aa3b089d3011cbd5a to your computer and use it in GitHub Desktop.
Save rakhmaevao/7b7e29a9eb309b2aa3b089d3011cbd5a to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Руководство для байесовского ниндзя (от студента Дейва)\n",
"\n",
"Это адаптация и перевод материала с канала [Student Dave](https://www.youtube.com/channel/UCUxiT_SKEUs1oWT6i9P3vPQ).\n",
"\n",
"## Задача\n",
"Есть ниндзя-математик, который очень не любит перепелов. Перепел прячется в кустах, а ниндзя сидит на дереве рядом. Ниндзя может одним решительным прыжком на перепела сразить его, но он не знает где точно находится перепел. При этом перепел и издает время от времени звук. По звуку ниндзя может определить местоположение перепела, но очень неточно. Теорема Байеса позволяет ниндзя по серии криков перепела определить местоположение перепела все точнее и точнее. И в какой-то момент количество криков позволит ниндзя нанести сокрушительный удар.\n",
"\n",
"Пример показывает аллгортим итерративного байесовского фильтра.\n",
"\n",
"## Решение\n",
"\n",
"Ниндзя-математик видит кусты как ограниченную область по оси $x$. Истинное положение перепелки $x=3$ пока неизвестно. Вероятность в каждой точке области поиска одна и та же. Априорное распределение равномерное."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"quail= 3 # where the quail is hiding\n",
"D_X = 0.1 \n",
"X_MIN = 0\n",
"X_MAX = 10\n",
"SEARCH_AREA = np.arange(X_MIN, X_MAX, D_X)\n",
"\n",
"# Prior uniform distribution\n",
"prior=np.ones(len(SEARCH_AREA))\n",
"prior=prior/(np.sum(np.sum(prior)) * D_X)\n",
"\n",
"fig, ax = plt.subplots()\n",
"ax.plot([quail, quail], [0, 1], c='red', alpha=1, label = \"Там где сидит перепелка\")\n",
"ax.plot(SEARCH_AREA, prior, label = \"Априорное распределение\")\n",
"ax.set(xlim=(X_MIN, X_MAX), ylim=(0, 2 * np.max(prior)))\n",
"ax.set_xlabel(\"Область поиска\")\n",
"ax.set_ylabel(\"Вероятноть нахождения перепелки\")\n",
"ax.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"В процессе наблюдения (ниндзя славились своей выдержкой) были получены $N=100$ замеров (гипотез) местонахождения.\n",
"К тому же ниндзя знал дисперсию измерения положения перепелки по крику $\\sigma^2 = 4$."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"N = 100 # number of squawk\n",
"SD = 2\n",
"squawks = SD * np.random.randn(N) + quail # Vector with squawks measurement results\n",
"\n",
"fig, ax = plt.subplots()\n",
"\n",
"ax.hist(squawks)\n",
"ax.set(xlim=(X_MIN, X_MAX), title='Гистограмма распределения полученных криков')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Благодаря теореме Байеса есть возможность из равномерного распределения получить нормальное, да и с дисперсией куда меньшей чем дисперсия измерения.\n",
"\n",
"## Теорема Байеса\n",
"\n",
"$$\n",
"f_{posterior}(x) = \\frac{f_{prior}(x) \\cdot f_{изм}(x)}{\\int f_{prior}(x) \\cdot f_{mes}(x) dx},\n",
"$$\n",
"\n",
"где $ f_{posterior}(x)$ - уточненное распределение;\n",
"\n",
"$ f_{prior}(x)$ - распределение известное до опыта;\n",
"\n",
"$ f_{mes}(x)$ - распределение модели измерения (правдоподобие $L_x(sample)$).\n",
"\n",
"Дисперсия распределения модели измерения известна ниндзя заранее. За математическое ожидание принимается точка пространства, а за случайную величину замер (вероятность гипотезы о том, что в этой точке пространства сидит перепелка при получении замера):\n",
"\n",
"$$\n",
"f_{mes}(x) =pdf(x=y, \\mu=x, \\sigma=\\sigma) = \\frac{1}{2 \\pi \\sigma} e^{- \\frac{(y-x)^2}{2\\sigma^2}},\n",
"$$\n",
"\n",
"где $pdf$ - функция плотности нормального распределения;\n",
"\n",
"$\\mu$ - математическое ожидание;\n",
"\n",
"$\\sigma$ - стандартное отклонение измерения;\n",
"\n",
"$y$ - измеренная величина.\n",
"\n",
"Данную формулу необходимо повторить для серии опытов ($N$), каждый раз подставляя вместо априорного распределение апостериорное, которое было получено при предыдущем опыте."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"from scipy.stats import norm\n",
"\n",
"def bayes_formula(prior, y):\n",
" numerator = []\n",
" for i in range(len(SEARCH_AREA)):\n",
" numerator.append(prior[i] * norm.pdf(x=y, loc=SEARCH_AREA[i], scale=SD))\n",
" return numerator/np.sum(numerator)\n",
"\n",
"posteriors = [prior] # Список функций плотностей распределения от опыта к опыту\n",
"\n",
"for squawk in squawks:\n",
" prior = posteriors[len(posteriors)-1]\n",
" posterior = bayes_formula(prior=prior, y=squawk)\n",
" posteriors.append(posterior)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"На анимации ниже видно как меняется распределение от оценки к оценке."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"\n",
"from matplotlib.animation import FuncAnimation\n",
"fig, ax = plt.subplots() \n",
"ax.set(xlim=(X_MIN, X_MAX), ylim=(0, np.max(posteriors)), title='Изменение плотности от опыта к опыту')\n",
"ax.set_xlabel(\"x\")\n",
"ax.set_ylabel(\"p(x)\")\n",
"line, = ax.plot([], [], lw=3)\n",
"\n",
"def init():\n",
" line.set_data([], [])\n",
" return line,\n",
"\n",
"def animate(i):\n",
" line.set_data(SEARCH_AREA, posteriors[i])\n",
" return line,\n",
"\n",
"anim = FuncAnimation(fig, animate, init_func=init, frames=N, interval=80, blit=True)\n",
"anim.save('posteriors.gif', writer='imagemagick')"
]
}
],
"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.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment