Математика для программистов: теория вероятностей

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

Возможно, вам известно, что теория вероятностей условно делится на 2 части. Дискретная теория вероятностей изучает явления, которые можно описать распределением с конечным (или счетным) количеством возможных вариантов поведения (бросания игральных костей, монеток). Непрерывная теория вероятностей изучает явления, распределенные на каком-то плотном множестве, например на отрезке или в круге.

Можно рассмотреть предмет теории вероятностей на простом примере. Представьте себя разработчиком шутера. Неотъемлемой частью разработки игр этого жанра является механика стрельбы. Ясно, что шутер в котором всё оружие стреляет абсолютно точно, будет малоинтересен игрокам. Поэтому, обязательно нужно добавлять оружию разброс. Но простая рандомизация точек попадания оружия не позволит сделать его тонкую настройку, поэтому, корректировка игрового баланса будет сложна. В то же время, используя случайные величины и их распределения можно проанализировать то, как будет работать оружие с заданным разбросом, и поможет внести необходимые корректировки.

Пространство элементарных исходов

Допустим, из некоторого случайного эксперимента, который мы можем многократно повторять (например, бросание монеты), мы можем извлечь некоторую формализуемую информацию (выпал орел или решка). Эта информация называется элементарным исходом, при этом целесообразно рассматривать множество всех элементарных исходов, часто обозначаемое буквой Ω (Омега).

Структура этого пространства целиком зависит от природы эксперимента. Например, если рассматривать стрельбу по достаточно большой круговой мишени, — пространством элементарных исходов будет круг, для удобства размещенный с центром в нуле, а исходом — точка в этом круге.

Кроме того, рассматривают множества элементарных исходов — события (например, попадание в «десятку» — это концентрический круг маленького радиуса с мишенью). В дискретном случае всё достаточно просто: мы можем получить любое событие, включая или исключая элементарные исходы за конечное время. В непрерывном же случае всё гораздо сложнее: нам понадобится некоторое достаточно хорошее семейство множеств для рассмотрения, называемое алгеброй по аналогии с простыми вещественными числами, которые можно складывать, вычитать, делить и умножать. Множества в алгебре можно пересекать и объединять, при этом результат операции будет находиться в алгебре. Это очень важное свойство для математики, которая лежит за всеми этими понятиями. Минимальное семейство состоит всего из двух множеств — из пустого множества и пространства элементарных исходов.

Мера и вероятность

Вероятность — это способ делать выводы о поведении очень сложных объектов, не вникая в принцип их работы. Таким образом, вероятность определяется как функция от события (из того самого хорошего семейства множеств), которая возвращает число — некоторую характеристику того, насколько часто может происходить такое событие в реальности. Для определённости математики условились, что это число должно лежать между нулем и единицей. Кроме того, к этой функции предъявляются требования: вероятность невозможного события нулевая, вероятность всего множества исходов единичная, и вероятность объединения двух независимых событий (непересекающихся множеств) равна сумме вероятностей. Другое название вероятности — вероятностная мера. Чаще всего используется Лебегова мера, обобщающая понятия длина, площадь, объём на любые размерности (n-мерный объем), и таким образом она применима для широкого класса множеств.

Вместе совокупность множества элементарных исходов, семейства множеств и вероятностной меры называется вероятностным пространством. Рассмотрим, каким образом можно построить вероятностное пространство для примера со стрельбой в мишень.

Рассмотрим стрельбу в большую круглую мишень радиуса R, в которую невозможно промахнуться. Множеством элементарных событий положим круг с центром в начале координат радиуса R. Поскольку мы собираемся использовать площадь (меру Лебега для двумерных множеств) для описания вероятности события, то будем использовать семейство измеримых (для которых эта мера существует) множеств.

Примечание На самом деле, это технический момент и в простых задачах процесс определения меры и семейства множеств не играет особой роли. Но понимать, что эти два объекта существуют, необходимо, ведь во многих книгах по теории вероятности теоремы начинаются со слов: «Пусть (Ω,Σ,P) — вероятностное пространство …».

Как уже сказано выше, вероятность всего пространства элементарных исходов должна равняться единице. Площадь (двумерная мера Лебега, которую мы обозначим λ2 (A), где А — событие) круга по хорошо известной со школы формуле равна π *R2. Тогда мы можем ввести вероятность P(A) = λ2 (A) / (π *R2), и эта величина уже будет лежать между 0 и 1 для любого события А.

Если предположить, что попадание в любую точку мишени равновероятно, поиск вероятности попадания стрелком в какую-то то область мишени сводится к поиску площади этого множества (отсюда можно сделать вывод, что вероятность попадания в конкретную точку нулевая, ведь площадь точки равна нулю).

Например, мы хотим узнать, какова вероятность того, что стрелок попадёт в «десятку» (событие A — стрелок попал в нужное множество). В нашей модели, «десятка» представляется кругом с центром в нуле и радиусом r. Тогда вероятность попадания в этот круг P(A) = λ2/(A)π *R2 = π * r2/(π R2)= (r/R)2.

Это одна из самых простых разновидностей задач на «геометрическую вероятность», — большинство таких задач требуют поиска площади.

Случайные величины

Случайная величина — функция, переводящая элементарные исходы в вещественные числа. К примеру, в рассмотренной задаче мы можем ввести случайную величину ρ(ω) — расстояние от точки попадания до центра мишени. Простота нашей модели позволяет явно задать пространство элементарных исходов: Ω = {ω = (x,y) такие числа, что x2+y2 ≤ R2}. Тогда случайная величина ρ(ω) = ρ(x,y) = x2+y2.

Средства абстракции от вероятностного пространства. Функция распределения и плотность

Хорошо, когда структура пространства хорошо известна, но на самом деле так бывает далеко не всегда. Даже если структура пространства известна, она может быть сложна. Для описания случайных величин, если их выражение неизвестно, существует понятие функции распределения, которую обозначают Fξ(x) = P(ξ < x) (нижний индекс ξ здесь означает случайную величину). Т.е. это вероятность множества всех таких элементарных исходов, для которых значение случайной величины ξ на этом событии меньше, чем заданный параметр x.

Функция распределения обладает несколькими свойствами:

  1. Во-первых, она находится между 0 и 1.
  2. Во-вторых, она не убывает, когда ее аргумент x растёт.
  3. В третьих, когда число -x очень велико, функция распределения близка к 0, а когда само х большое, функция распределения близка к 1.

Вероятно, смысл этой конструкции при первом чтении не слишком понятен. Одно из полезных свойств — функция распределения позволяет искать вероятность того, что величина принимает значение из интервала. Итак, P (случайная величина ξ принимает значения из интервала [a;b]) = Fξ(b)-Fξ(a). Исходя из этого равенства, можем исследовать, как изменяется эта величина, если границы a и b интервала близки.

Пусть d = b-a, тогда b = a+d. А следовательно, Fξ(b)-Fξ(a) = Fξ(a+d) - Fξ(a). При малых значениях d, указанная выше разность так же мала (если распределение непрерывное). Имеет смысл рассматривать отношение pξ(a,d)= (Fξ(a+d) - Fξ(a))/d. Если при достаточно малых значениях d это отношение мало отличается от некоторой константы pξ(a), не зависящей от d, то в этой точке случайная величина имеет плотность, равную pξ(a).

Примечание Читатели, которые ранее сталкивались понятием производной, могут заметить что pξ(a) — производная функции Fξ(x) в точке a. Во всяком случае, можно изучить понятие производной в посвященной этой теме статье на сайте Mathprofi.

Теперь смысл функции распределения можно определить так: её производная (плотность pξ, которую мы определили выше) в точке а описывает, насколько часто случайная величина будет попадать в небольшой интервал с центром в точке а (окрестность точки а) по сравнению с окрестностями других точек. Другими словами, чем быстрее растёт функция распределения, тем более вероятно появление такого значения при случайном эксперименте.

Вернемся к примеру. Мы можем вычислить функцию распределения для случайной величины, ρ(ω) = ρ(x,y) = x2+y2, которая обозначает расстояние от центра до точки случайного попадания в мишень. По определению Fρ(t) = P(ρ(x,y) < t). т.е. множество {ρ(x,y) < t)} — состоит из таких точек (x,y), расстояние от которых до нуля меньше, чем t. Мы уже считали вероятность такого события, когда вычисляли вероятность попадания в «десятку» — она равна t2/R2. Таким образом, Fρ(t) = P(ρ(x,y) < t) = t2/R2, для 0<t.

Мы можем найти плотность pρ этой случайной величины. Сразу заметим, что вне интервала [0,R] она нулевая, т.к. функция распределения на этом промежутке неизменна. На концах этого интервала плотность не определена. Внутри интервала её можно найти, используя таблицу производных (например из [PDF] на сайте Mathprofi) и элементарные правила дифференцирования. Производная от t2/R2 равна 2t/R2. Значит, плотность мы нашли на всей оси вещественных чисел.

Ещё одно полезное свойство плотности — вероятность того, что функция принимает значение из промежутка, вычисляется при помощи интеграла от плотности по этому промежутку (ознакомиться с тем, что это такое, можно в статьях о собственном, несобственном, неопределенном интегралах на сайте Mathprofi).

При первом чтении, интеграл по промежутку [a; b] от функции f(x) можно представлять себе как площадь криволинейной трапеции. Ее сторонами являются фрагмент оси Ох, промежуток [a,b] (горизонтальной оси координат), вертикальные отрезки, соединяющие точки (a,f(a)), (b,f(b)) на кривой с точками (a,0), (b,0) на оси Ох. Последней стороной является фрагмент графика функции f от (a,f(a)) до (b,f(b)). Можно говорить об интеграле по промежутку (-∞; b], когда для достаточно больших отрицательных значений, a значение интеграла по промежутку [a;b] будет меняться пренебрежимо мало по сравнению с изменением числа a. Аналогичным образом определяется и интеграл по промежуткам [a;+∞), (-∞,∞).

Следующее важное свойство плотности — интеграл от плотности любой случайной величины равен единице. Трактовка этого свойства такова: вероятность того, что функция принимает любое значение равна единице. Кроме того, при вычислении интегралов от плотностей случайных величин, значения которых лежат в ограниченном промежутке, нужно брать интеграл только по этому промежутку.

Итак, мы разобрались с несколькими важными понятиями: со строгим построением вероятностного пространства и построением случайных величин на нём. Кроме того, мы научились абстрагироваться от конкретного вероятностного пространства при помощи функции распределения и плотности.

Иван Камышан

Ещё интересное для вас:
Тест: какой язык программирования вам стоит выбрать для изучения?
Тест: как хорошо вы разбираетесь в Data Science?
Соревнования и бесплатная онлайн-школа для программистов