Вместо введения


Давным давно была первая часть, теперь настало время для второй части! Здесь затронем вопросы, связанные с теорией вероятностей.


Как и в прошлой статье, будем выделять несколько "уровней" погружения в предмет и его проработку. На самом деле, я считаю, что каждый предмет надо проходить несколько раз на разных "уровнях" сложности: сначала вы погружаетесь в предмет, привыкаете к "словарю", к типичной постановке задач и методам их решения. Через некоторое время, обогащенные знаниями из других областей, вы готовы вновь пройти курс, но уже на несколько более высоком уровне. Вас теперь уже могут интересовать не только стандарные задачи, но и ограничения методологии, нестандартные подходы, возможно какая-то философия, из которой вырос предмет (вечный спор между "frequentist school" и "bayesian school").


Напомню, что мы выделяем три "уровня" сложности:


  1. Bring it on — основная рабочая лошадка; это книги, что называется, «must have».
  2. Hurt me plenty — уровень повыше, позволяет оглядеть с высоты птичьего полёта уровень 1, систематизирует знания, объединяет различные области знаний.
  3. Nightmare — для сильных духом, уровень мехмата, для любителей математики и башен из слоновой кости.

В большинстве случаев я указываю те книги, которые либо прочел сам, либо которые пользуются большой популярностью в (математическом) сообществе — их советуют на stackoverflow, goodreads, quora и т.д.


Классическая вероятность


Я убежден, что нет смысла прыгать сразу через три ступеньки и сходу погружаться в мир байесовского вывода, не изучив предварительно классические разделы: теорию вероятностей и статистику.


Что (минимально) я должен знать после курса по классической вероятности?


  • Базовые понятия: событие, (собственно) вероятность, условная вероятность (одного события при условии, что произошло какое-то событие);
  • Случайные величины, их распределения, мат. ожидание, дисперсия;
  • Независимость случайных величин: обычная/попарная, в чем различие, корреляция;
  • Классические примеры распределений: Бернулли, геометрическое, биномиальное, Пуассон, экспоненциальное, нормальное;
  • Предельные теоремы: закон больших чисел, центральная предельная теорема;

Практически любой учебник по теории вероятностей покрывает упомянутые темы (и как правило — много чего ещё). Это самый базовый аппарат, на котором строятся уже более сложные модели.


Что я должен знать дополнительно, чтобы комфортно ощущать себя в машинном обучении?


  • Условное математическое ожидание: во всей общности это довольно сложное понятие, но к счастью, для дискретных и абсолютно непрерывных случайных величин (а эти два класса покрывают бОльшую часть того, с чем приходится сталкиваться обычному смертному в вероятностых моделях) определяется не очень трудно, и достаточно принять "на веру" всего несколько теорем без вмешательства сигма-алгебр и интегралов Лебега и прочей фигни.
  • Многомерное нормальное распределение: основная рабочая лошадка регрессионного анализа. Можно целый курс прочесть по геометрии этого распределения (собственно, это обычно и происходит, когда читают курс по линейной регрессии).
  • Марковские цепи: ещё одна отправная точка многих методов и моделей (от MCMC до марковских случайных полей)
  • Сопряженные распределения: Бета, Гамма;
  • Вероятности отклонений: неравенства Маркова,
  • Контрпримеры: помимо основных теорем неплохо бы знать, когда теоремы нарушаются и почему?

Bring it on


Из англоязычных источников я очень рекомендую книгу Blitzstein & Hwang "Introduction to Probability"; есть соответствующая страничка в интернете, посвященная курсу: stat110. Там же есть ссылки на курс на youtube и курс на edx stat110x. Советую пробовать все три источника и выбирать то, что ближе вам. В 110х дополнительно есть автоматическая проверка задач и некоторые симпатичные визуализации и симуляции.
Книга очень хороша своей подборкой задач, решения к части из них можно найти на том же сайте. Вообще я очень рекомендую решать как можно больше задач: от простых на "набить руку" до содержательных.


Из российских аналогов: есть хороший курс от Райгородского на coursera/лектории МФТИ/openedu (см. например openedu). Есть своя специфика: много задач в курсе посвящены случайным графам.
По книгам можно посоветовать:


  1. Классический учебник Е.С. Вентцель "Теория вероятностей".
  2. Очень-очень классная книга от Чжун Кай Лай, АитСахлиа Фарид: "Элементарный курс теории вероятностей. Стохастические процессы и финансовая математика". Много задачек, от простых до "на подумать".

Hurt me plenty


Опять же из англоязычного есть хороший курс от MIT
Как учебник я бы советовал Grimmett, Stirzaker "Probability and random processes" , и соответствующий задачник (с прорешанными!!! задачами): One Thousand Exercises in Probability.
Отдельно выделю очень интересную книгу от Michael Mitzenmacher, Eli Upfal: "
Probability and Computing: Randomization and Probabilistic Techniques in Algorithms and Data Analysis (2nd Edition)". Примечательна эта книга тем, что применяет вероятностные методы в "real-world" задачах


На русском языке:


  1. Хорошая книга от Тутубалина "Теория вероятностей" от 2008 года;
  2. "Курс теории вероятностей" от Гнеденко;
  3. Конспект курса теории вероятностей от Н. Черновой: Чернова;

Особо крепкие могут попробовать пройти курс на Степике: Храбров. Но там маловато задачек для набивания руки.


Nightmare


Этот раздел содержит книги уровня мехмата МГУ. В них абсолютно строго излагаются основы теории вероятностей с опорой на теорию меры и интеграл Лебега. Такие вещи конечно же никогда не помешают, но
Вот уж каких книг на русском языке полно, можно взять любую, все очень хорошие:


  1. Ширяев, "Вероятность";
  2. Боровков, "Теория вероятностей";

Смысла советовать книги на английском не вижу: наши и так достаточно хорошие.