Теория вероятностей на собесе DS почти всегда сводится к условной вероятности, Байесу, матожиданию и дисперсии. Задачи короткие, но в них легко ошибиться, если путать P(A | B) и P(B | A).
Условная вероятность и независимость
P(A | B) = P(A ∩ B) / P(B)
Мы сужаем мир до исходов, где произошло B. События независимы, если P(A ∩ B) = P(A)·P(B), то есть знание B не меняет вероятность A.
Ловушка: несовместные события с положительными вероятностями сильно зависимы. Если произошло A, то B точно не произошло.
Формула полной вероятности
Если гипотезы H₁…Hₙ делят все исходы на непересекающиеся части:
P(A) = Σ P(A | Hᵢ) · P(Hᵢ)
Завод A делает 60% деталей с браком 2%, завод B 40% с браком 5%: P(брак) = 0.6·0.02 + 0.4·0.05 = 0.032.
Теорема Байеса
P(H | D) = P(D | H) · P(H) / P(D)
- P(H) приор, что мы думали до данных;
- P(D | H) правдоподобие;
- P(H | D) апостериор;
- P(D) нормировка по формуле полной вероятности.
Классическая задача: болезнь у 1% людей, тест находит 99% больных и ложно срабатывает у 5% здоровых. Посчитаем на 10 000 человек:
больные: 100, положительных 99
здоровые: 9 900, положительных 495
P(болен | +) = 99 / (99 + 495) ≈ 0.17
Тест хороший, а болезнь редкая, поэтому ложных срабатываний больше, чем настоящих. В ML это precision модели на редком классе: антифрод с маленьким FPR всё равно выдаёт много ложных тревог.
Ещё одно следствие: если модель обучали на сбалансированной выборке, а в проде класс редкий, её вероятности завышены. Шансы p/(1-p) нужно умножить на отношение новых и старых приорных шансов или перекалибровать модель.
Матожидание и дисперсия
- E[X] это среднее значение. Для кубика 3.5.
- Var X = E[(X - EX)²] = E[X²] - (EX)². Для кубика 35/12 ≈ 2.92.
- E[aX + b] = aE[X] + b, Var(aX + b) = a²Var X.
- E[X + Y] = E[X] + E[Y] всегда, даже для зависимых величин.
- Var(X + Y) = Var X + Var Y + 2Cov(X, Y). Складывать дисперсии можно только при нулевой ковариации.
Нулевая корреляция не означает независимость: X равномерна на [-1, 1] и Y = X² некоррелированы, но Y полностью определяется X.
Наивный Байес
Классификатор считает P(класс | признаки) по Байесу и допускает, что признаки условно независимы при известном классе:
P(y | x) ∝ P(y) · Π P(xᵢ | y)
Обучение сводится к подсчёту частот. Сглаживание Лапласа (+1 к счётчикам) не даёт невиданному слову обнулить произведение, а логарифмы спасают от underflow. Хороший бейзлайн для текстов, но вероятности у него плохо откалиброваны.
Частые ошибки
- Путать P(+ | болен) и P(болен | +).
- Считать несовместные события независимыми.
- Складывать дисперсии зависимых величин.
- Выводить независимость из нулевой корреляции.
Что спросят на собесе
- Задача на Байеса с тестом или антифродом, лучше считать через 10 000 объектов.
- Формула полной вероятности на примере.
- Чем независимость отличается от несовместности и от некоррелированности.
- Как устроен наивный Байес и что в нём наивного.
- Свойства матожидания и дисперсии суммы.