Вероятностное программирование и байесовский метод для хакеров

http://nbviewer.jupyter.org/github/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/blob/master/Prologue/Prologue.ipynb
  • Перевод
Здравствуйте, коллеги. Сегодня хотели поинтересоваться, насколько востребованной вам кажется слегка устаревшая книга "Bayesian Methods for Hackers", опубликованная в оригинале в 2015 году, но пока не переведенная на русский язык.


Книга позиционируется как прикладная, максимально избавленная от математики и неустаревающая.

Под катом — немного сокращенный перевод обзора этой книги, выложенного автором на Github.
Поучаствуйте пожалуйста в голосовании

Байесовский метод – естественный подход к логическому выводу, однако, во многих книгах на эту тему суть байесовского метода полностью теряется за целыми главами тягостного математического анализа. Типичная книга по байесовской теории начинается с двух-трех глав о теории вероятности, после чего рассказывается, что же такое байесовский вывод. К сожалению, из-за невозможности представить большинство байесовских моделей на математическом языке, читателю демонстрируются лишь простые, искусственные примеры. Таким образом, у человека может сложиться мнимое впечатление, что он якобы разобрался в байесовском выводе – тогда как на самом деле он усвоил лишь авторскую трактовку этого метода.

После того, как байесовские методы оказались явно успешными на соревнованиях по машинному обучению, я решил вновь исследовать эту тему. Даже с моим математическим багажом я потратил целых три дня штудирование примеров и попытки собрать все фрагменты воедино, чтобы разобраться со всеми методами. Для того, чтобы применить теорию на практике, мне просто не хватало литературы. Такое непонимание возникло из-за того, что мне не удавалось перекинуть мостик между байесовской математикой и вероятностным программированием. Итак, я натерпелся, и хочу избавить читателей от подобных страданий. Именно ради этого я и написал такую книгу сам.

Если байесовский вывод — наша цель, то математический анализ – лишь один из путей к ней. С другой стороны, вычислительные мощности сейчас стали гораздо дешевле, и мы можем воспользоваться альтернативным путем, то есть, вероятностным программированием. Второй вариант гораздо удобнее, поскольку не требует прибегать к математике на всех этапах решения задачи, иными словами, позволяет обойтись без математического анализа, который зачастую оказывается непреодолимым препятствием на пути к байесовскому выводу. Образно выражаясь, во втором случае мы движемся из начала в конец мелкими перебежками, а в первом – огромными скачками, из-за чего можем приземлиться довольно далеко от цели. Более того, без серьезной математической подготовки читатель, возможно, просто не справится с анализом из первого варианта.

Книга Bayesian Methods for Hackers задумывалась как введение в байесовский вывод с упором на понимание ключевых концепций и использование вычислительных мощностей (математика при этом вторична). Разумеется, эта книга вводная, вводной она и останется. Тем, кто подкован в математике, она может просто подогреть любопытство, а далее открыть к другим текстам, написанным с опорой на серьезный математический анализ. Для энтузиаста, заинтересованного в практическом применении байесовских методов, а не в их математической подоплеке, книга будет достаточно информативной и интересной.

Для вероятностного программирования в этой книге выбран язык PyMC, на то есть две причины. К моменту написания книги в Интернете не было централизованного ресурса с примерами и объяснениями приемов работы на в экосистеме PyMC. Официальная документация предполагает, что читатель уже имеет представление о байесовском выводе и вероятностном программировании. Надеемся, что эта книга побудит читателей с любым уровнем подготовки присмотреться к PyMC.

При работе с PyMC приходится учитывать зависимости, а именно, от NumPy (по ситуации) от SciPy. Чтобы не ограничивать читателя, в примерах из этой книги используется только PyMC, NumPy, SciPy и Matplotlib.

Содержание

(Перечисленные ниже главы отображаются в nbviewer на сайте nbviewer.ipython.org, доступны только для чтения и открываются в реальном времени. Интерактивные блокноты и примеры можно загрузить клонированием!)

  • Пролог: Зачем этим заниматься.
  • Глава 1: Введение в байесовские методы. Знакомство с философией и практикой байесовских методов, рассказ о том, что такое вероятностное программирование. Некоторые примеры:

 Изменение человеческого поведения – вывод на основе частоты отправки СМС.

  • Глава 2: Немного подробнее о PyMC Мы обсудим моделирование байесовских задач на примерах, в которых будет использоваться библиотека PyMC (язык Python). Как создавать байесовские модели? Среди примеров:
  •  Вычисление вероятности крушения космического челнока «Челленджер»

  • Глава 3: Открываем черный ящик MCMC Поговорим о том, как работает MCMC и диагностические инструменты. Среди примеров:
  •  Байесовская кластеризация на примере смешанных моделей

  • Глава 4: Величайшая теорема, о которой вам никогда не рассказывали.Здесь мы исследуем невероятно полезную и опасную теорему: закон больших чисел. Среди примеров:
  •  Исследование множества данных Kaggle и подводные камни наивного анализа
  •  Как отсортировать комментарии с Reddit от лучших к худшим (все не так просто как вам кажется)

  • Глава 5: С чем бы вы предпочли расстаться – с рукой или с ногой? Знакомство с функциями потерь и их (бесподобном) применении в байесовских методах. Среди примеров:
  •  Оптимизация финансовых прогнозов
  •  Выигрышное решение для состязания Kaggle Dark World

  • Глава 6: Уточнение приоритетов. Пожалуй, наиболее важная глава. Здесь мы отвечаем на вопросы, прибегая к экспертным мнениям. Среди примеров:
  •  Многорукие бандиты и байесовское решение такой задачи.
  •  Каково отношение между размером выборки и априорными данными?
  •  Оценка финансовых неизвестных при помощи экспертных априорных данных.
  • Также здесь вы найдете ценные советы об объективности при анализе и о распространенных ловушках, связанных с априорными вероятностями.

Установка и конфигурация

Если вы желаете запустить блокнот IPython на локальном компьютере, то потребуется установить следующее:

  • IPython 0.13 – необходима для просмотра файлов ipynb. Скачать ее можно здесь.
  • Пользователи Linux должны без труда установить Numpy, Scipy и PyMC. Для пользователей Windows найдутся заранее скомпилированные версии, если вдруг возникнут какие-то сложности.

В каталоге styles/ найдется ряд файлов, адаптированных для работы с блокнотом. Они не только разработаны специально для книги, но и специально оптимизированы для работы с matplotlib и IPython.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Актуальность книги
  • +32
  • 10,7k
  • 5
Поделиться публикацией
Похожие публикации
Комментарии 5
  • 0
    Очень ждем, Питер — лучшие!
    • 0

      Я б взял. Давно ищу что-то подобное.

      • 0
        Проголосовал против. Название книги и содержание (сужу по оглавлению) не соответствуют друг другу. Материал похож на что-то из области принятия решений. Была в советское время книга авторов Р.Кини, Х.Райфа 1981, и в ней нет конечно никаких скриптов на Питоне, но как теоретическая база она хороша.
        Название главы 4 — это «кликбейт», как сейчас модно говорить. Студенты 2-3 курса это всё знают, базовый курс ТВ и МС. Глава 3 и Глава 6, возможно, наиболее интересны, но слишком мало информации вы предоставили.
        Когда уже написал комментарий, то решил пройтись по ссылкам. Мнение изменилось. Материал интересный, переводите, пусть математики редактируют грамотно, но слово «Хакер» в названии ни к чему.
        • 0
          > но слово «Хакер» в названии ни к чему
          Полностью поддерживаю. В английском языке слово «hacker» традиционно используется как синоним «крутой компьютерщик», а в русском — четкая ассоциация с чем-то противозаконным. "… для профессионалов", как вариант.

          p.s. Но такую книгу бы купил с любым названием :)
        • 0
          Я бы точно купил, на русском языке про вероятностное программирование вообще мало чего есть, а в купе с байесовскими методами вообще будет очень интересно почитать.

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое