Математическое ожидание ⚖️
Открой исходники любой библиотеки машинного обучения и найди там строчку, где считается функция потерь. Скорее всего, ты увидишь что-то вроде loss = (predictions - targets).pow(2).mean(). Обрати внимание на последнее слово: mean(). Среднее. Ты берёшь ошибку на каждом объекте батча и усредняешь. И вот тут прячется вещь, о которой редко говорят вслух: то, что ты усредняешь по батчу — это оценка совсем другой величины. Настоящая цель обучения — не «сделать маленькой сумму ошибок на этих 64 картинках», а «сделать маленьким математическое ожидание ошибки на всём потоке данных, который модель встретит в реальной жизни». Батч — это выборка. Матожидание — это то, к чему выборка приближается.
Математическое ожидание — самая скромная и самая рабочая характеристика случайной величины. У неё простая формула, детская интуиция («это среднее») и обманчивая лёгкость. Но именно через неё определяются все остальные характеристики: дисперсия, моменты, ковариация, энтропия, KL-дивергенция, любой функционал риска. Если ты понимаешь матожидание как оператор — как машинку, которая берёт случайность и возвращает число, — то дальнейшая теория вероятностей превращается в набор упражнений с этой машинкой. Если не понимаешь — будешь спотыкаться на каждом шаге.
В этом уроке мы разберём матожидание с двух сторон. Со стороны вычислений: как считать его для дискретной величины (сумма) и для непрерывной (интеграл), как считать матожидание функции от случайной величины, не находя её распределение. И со стороны свойств: почему линейность работает всегда — даже если величины дико зависимы, и почему это самый мощный трюк во всей элементарной теории вероятностей. Отдельно разберём случаи, когда матожидания не существует — распределение Коши и петербургский парадокс. Это не экзотика: тяжёлые хвосты в реальных данных ломают наивные средние регулярно.
И, конечно, ML-контекст будет предметным, а не декоративным: почему обучение — это минимизация оценки матожидания, откуда в reinforcement learning берётся дисконтирование и почему без него ряд может расходиться, почему градиент по батчу — несмещённая оценка полного градиента, сколько нейронов в среднем остаётся живыми при dropout и как считать ожидаемую стоимость ошибки, когда ложное срабатывание и пропуск стоят разных денег.
🎯 Ты узнаешь:
- Как считать $E(X)$ для дискретной величины ($\sum x_i p_i$) и для непрерывной ($\int x p(x)\,dx$), и почему это одна и та же операция
- Почему матожидание — это буквально центр тяжести распределения, и что это даёт на практике
- Почему $E(X+Y) = E(X) + E(Y)$ всегда, без всякой независимости — и почему $E(XY) = E(X)E(Y)$ только для независимых
- Как приём «матожидание индикатора равно вероятности» решает задачи, которые в лоб не решаются вообще
- Когда математического ожидания просто нет (Коши, петербургский парадокс) и что с этим делать в реальных данных
История: откуда это взялось?
Всё началось с не доигранной партии. В 1654 году французский аристократ и заядлый игрок шевалье де Мере задал Блезу Паскалю задачу о разделе ставки: двое играют до пяти побед, ставка на кону общая, но игру пришлось прервать при счёте 4:3. Как честно поделить деньги? Наивные ответы («пополам», «в отношении 4:3») не выдерживали критики. Паскаль обсудил задачу в переписке с Пьером Ферма, и в этой переписке — считается, что летом и осенью 1654 года — родилась сама идея: справедливая доля игрока равна средневзвешенному его будущих выигрышей, где весами служат вероятности исходов. Это и есть математическое ожидание, только слова такого ещё не было.
Слово появилось у голландца Христиана Гюйгенса. В 1657 году он выпустил трактат «De ratiociniis in ludo aleae» («О расчётах в азартной игре») — первую печатную книгу по теории вероятностей вообще. Гюйгенс не знал переписки Паскаля и Ферма в деталях, он восстановил логику сам, и построил всю книгу вокруг понятия, которое назвал латинским expectatio — «ожидание», «то, чего стоит ждать». Его первое предложение звучит примерно так: если у меня равные шансы получить $a$ или $b$, то моя позиция стоит ровно $(a+b)/2$. Отсюда — «expected value», «математическое ожидание», а в русской традиции ещё и буква $M$ (от «математическое») наряду с $E$.
Дальше история сделала важный поворот. В 1713 году Николай Бернулли сформулировал задачу, которая ломала всю красивую конструкцию: игра, где ожидание бесконечно, но никто в здравом уме не заплатит за неё много. Его двоюродный брат Даниил Бернулли разобрал эту задачу в 1738 году в статье, опубликованной в трудах Петербургской академии наук — отсюда и название «петербургский парадокс». Даниил предложил считать ожидание не денег, а полезности денег, и фактически изобрёл идею, на которой сегодня стоит вся теория принятия решений и функции выгоды в экономике. А строгую форму — матожидание как интеграл Лебега по вероятностной мере — понятие получило только в 1933 году, в аксиоматике Андрея Николаевича Колмогорова, где $E(X) = \int_\Omega X \, dP$ и дискретный, и непрерывный случай наконец стали одной формулой.
Сегодня эта же конструкция стоит в основании машинного обучения. Когда в статье пишут «minimize the expected risk $\mathbb{E}_{(x,y)\sim \mathcal{D}}[\ell(f(x), y)]$» — это буквально гюйгенсовское expectatio, только вместо игральных костей поток данных, а вместо выигрыша — величина ошибки. И когда в reinforcement learning агент максимизирует ожидаемую сумму наград, он решает ту же задачу де Мере: сколько стоит недоигранная партия.
Дискретный случай: средневзвешенное по вероятностям
Интуиция
Представь, что ты смотришь на доход от одного показа рекламы. В 97 случаях из 100 пользователь ничего не делает — доход 0. В 2 случаях из 100 он кликает — доход 5 рублей. И в 1 случае из 100 он покупает — доход 300 рублей. Вопрос: сколько стоит один показ?
Обычное среднее арифметическое трёх чисел $(0 + 5 + 300)/3 = 101{,}67$ — это полная чушь, и понятно почему: оно делает вид, будто все три исхода равноправны. А они не равноправны: нулевой исход случается в сто раз чаще покупки. Значит, каждому значению надо дать вес, равный его вероятности:
$$0 \cdot 0{,}97 + 5 \cdot 0{,}02 + 300 \cdot 0{,}01 = 0 + 0{,}1 + 3 = 3{,}1$$Вот эти 3 рубля 10 копеек — реальная стоимость показа. Именно по такому числу маркетолог решает, стоит ли покупать трафик по 2 рубля за показ (да, стоит) или по 4 рубля (нет, не стоит).
Есть вторая интуиция, физическая, и она даже полезнее. Представь невесомую линейку, на которой в точках $x_1, x_2, \dots, x_n$ насажены грузики массами $p_1, p_2, \dots, p_n$ (общая масса равна 1, потому что вероятности в сумме дают единицу). Где надо подставить палец, чтобы линейка не перевешивалась ни влево, ни вправо? Ровно в точке $E(X)$. Матожидание — это центр тяжести распределения. Не «типичное значение», не «самое частое», а именно точка баланса.
Из этой картинки сразу следуют две вещи, которые многих спасают от ошибок. Первая: центр тяжести не обязан совпадать ни с одним из грузиков. Матожидание числа очков на кубике равно 3,5 — значения 3,5 на кубике нет и быть не может. Матожидание числа детей в семье 1,7 — полутора детей не бывает. Это нормально: центр тяжести гантели находится в пустоте между шарами. Вторая: один тяжёлый груз далеко на краю утаскивает точку баланса к себе. Отсюда классическое «средняя зарплата по стране» — одна фигура из списка Forbes сдвигает среднее так, что оно перестаёт описывать хоть кого-нибудь.
Определение: Пусть дискретная случайная величина $X$ принимает значения $x_1, x_2, x_3, \dots$ с вероятностями $p_1, p_2, p_3, \dots$, где $p_i = P(X = x_i)$ и $\sum_i p_i = 1$. Математическим ожиданием $X$ называется число
$$E(X) = \sum_i x_i p_i,$$при условии, что этот ряд сходится абсолютно, то есть $\sum_i |x_i| p_i < \infty$. Если абсолютной сходимости нет, говорят, что математического ожидания не существует.
Обозначения: в русской литературе часто пишут $M(X)$ или $MX$, в англоязычной и в ML — $E[X]$, $\mathbb{E}[X]$, иногда $\mathbb{E}_{X \sim P}[X]$ с явным указанием распределения. Это одно и то же. Мы будем писать $E(X)$, а в ML-контексте — $\mathbb{E}$, как принято в статьях.
Оговорка про абсолютную сходимость — не формальное занудство. Если значений бесконечно много, порядок суммирования не должен влиять на ответ: величина «сколько я в среднем получу» не может зависеть от того, в каком порядке я перечисляю исходы. Абсолютная сходимость — ровно это условие. Мы вернёмся к нему, когда будем разбирать петербургский парадокс.
Свойства, которые видно прямо из определения:
- Если $X$ принимает единственное значение $c$ (то есть $X$ — константа), то $E(X) = c \cdot 1 = c$
- $E(X)$ всегда лежит между минимальным и максимальным возможными значениями $X$: центр тяжести не может оказаться за пределами линейки
- Если все значения $X$ неотрицательны, то $E(X) \geq 0$
- Матожидание — это число, а не случайная величина. Как только ты его посчитал, случайность закончилась
Примеры с разбором
Пример 1 (простой): игральная кость
Найди математическое ожидание числа очков при одном броске правильной шестигранной кости.
Решение:
Шаг 1. Выпишем распределение. Значения: $1, 2, 3, 4, 5, 6$. Кость правильная, значит все вероятности равны $\tfrac{1}{6}$.
Шаг 2. Подставим в формулу:
$$E(X) = 1 \cdot \frac{1}{6} + 2 \cdot \frac{1}{6} + 3 \cdot \frac{1}{6} + 4 \cdot \frac{1}{6} + 5 \cdot \frac{1}{6} + 6 \cdot \frac{1}{6}$$Шаг 3. Вынесем общий множитель $\tfrac{1}{6}$:
$$E(X) = \frac{1}{6}(1 + 2 + 3 + 4 + 5 + 6) = \frac{21}{6} = 3{,}5$$Проверим наш ответ: распределение симметрично относительно точки 3,5 (пары 1 и 6, 2 и 5, 3 и 4 дают одинаковые суммы). Центр тяжести симметричной картинки лежит на оси симметрии — сходится ✅
Ответ: $E(X) = 3{,}5$
📌 Обрати внимание: значения 3,5 кость выдать не может. Матожидание — точка баланса, а не «типичный исход».
Пример 2 (средний): стоит ли играть
В лотерее билет стоит 100 ₽. С вероятностью $0{,}001$ выигрыш составляет 10 000 ₽, с вероятностью $0{,}01$ — 500 ₽, в остальных случаях выигрыша нет. Найди математическое ожидание чистой прибыли игрока с одного билета.
Решение:
Шаг 1. Аккуратно определим случайную величину. Пусть $X$ — чистая прибыль, то есть выигрыш минус стоимость билета. Тогда значения такие:
- $X = 10000 - 100 = 9900$ с вероятностью $0{,}001$
- $X = 500 - 100 = 400$ с вероятностью $0{,}01$
- $X = -100$ с вероятностью $1 - 0{,}001 - 0{,}01 = 0{,}989$
Шаг 2. Проверим, что вероятности в сумме дают единицу: $0{,}001 + 0{,}01 + 0{,}989 = 1$ ✅
Шаг 3. Считаем матожидание:
$$E(X) = 9900 \cdot 0{,}001 + 400 \cdot 0{,}01 + (-100) \cdot 0{,}989$$$$E(X) = 9{,}9 + 4 - 98{,}9 = -85$$Шаг 4. Интерпретируем. В среднем каждый билет приносит игроку минус 85 рублей. При этом никакой конкретный билет минус 85 не приносит — он приносит либо $-100$, либо $+400$, либо $+9900$. Но на дистанции в тысячи билетов суммарный итог будет близок к $-85$ за билет.
Ответ: $E(X) = -85$ ₽
📌 Полезный приём для проверки: можно было посчитать матожидание выигрыша (без вычета цены): $10000 \cdot 0{,}001 + 500 \cdot 0{,}01 + 0 \cdot 0{,}989 = 10 + 5 = 15$, а потом вычесть 100: $15 - 100 = -85$. Совпало ✅ Почему так можно — увидим в разделе про линейность.
Пример 3 (сложный): бесконечное число значений
Ты бросаешь монету до первого орла. Пусть $X$ — число сделанных бросков. Найди $E(X)$.
Решение:
Шаг 1. Найдём распределение. Событие $\{X = k\}$ означает: сначала $k-1$ решка подряд, потом орёл. Броски независимы, значит
$$P(X = k) = \left(\frac{1}{2}\right)^{k-1} \cdot \frac{1}{2} = \frac{1}{2^k}, \qquad k = 1, 2, 3, \dots$$Шаг 2. Проверим, что это распределение: $\sum_{k=1}^{\infty} \tfrac{1}{2^k} = \tfrac{1/2}{1 - 1/2} = 1$ ✅
Шаг 3. Записываем матожидание:
$$E(X) = \sum_{k=1}^{\infty} k \cdot \frac{1}{2^k} = \frac{1}{2} + \frac{2}{4} + \frac{3}{8} + \frac{4}{16} + \dots$$Шаг 4. Здесь удобнее не суммировать ряд в лоб, а использовать приём «расщепления первого шага». Обозначим $E(X) = m$. Первый бросок мы делаем всегда — это даёт вклад 1. Дальше два случая:
- с вероятностью $\tfrac{1}{2}$ выпал орёл, и всё закончилось (добавка 0)
- с вероятностью $\tfrac{1}{2}$ выпала решка, и мы оказались ровно в исходной ситуации: ждать орла заново, то есть в среднем ещё $m$ бросков
Шаг 5. Получаем уравнение:
$$m = 1 + \frac{1}{2} \cdot 0 + \frac{1}{2} \cdot m$$$$m - \frac{m}{2} = 1 \quad \Rightarrow \quad \frac{m}{2} = 1 \quad \Rightarrow \quad m = 2$$Проверим наш ответ: посчитаем частичные суммы ряда: $0{,}5 + 0{,}5 + 0{,}375 + 0{,}25 + 0{,}15625 + 0{,}09375 = 1{,}875$ за шесть слагаемых, дальше сумма продолжает расти и подбирается к 2 ✅
Ответ: $E(X) = 2$
📌 Это частный случай геометрического распределения с $p = \tfrac12$: в общем виде $E(X) = 1/p$. Ждать события с вероятностью $p$ приходится в среднем $1/p$ попыток — правило, которым удобно оценивать всё на свете, от числа запросов до первой ошибки API до числа эпох до срабатывания early stopping.
Почему это важно
Дискретное матожидание — это калькулятор решений. Любой выбор в условиях неопределённости («брать трафик по такой цене или нет», «включать ретрай или нет», «какой порог поставить классификатору») сводится к сравнению двух чисел $E(\text{вариант A})$ и $E(\text{вариант B})$. Причём считать надо именно взвешенно: интуиция человека систематически переоценивает редкие яркие исходы (выигрыш в лотерею) и недооценивает частые скучные (потеря ста рублей), и формула $\sum x_i p_i$ — единственный способ поставить их на одни весы.
В ML дискретное матожидание встречается буквально в каждом softmax-выходе. Когда модель выдаёт распределение по классам $p_1, \dots, p_K$, а каждому классу приписана цена ошибки, ожидаемая цена решения — это сумма $\sum_i c_i p_i$. Именно так работает cost-sensitive классификация, и именно поэтому argmax по вероятности — не всегда оптимальное решение.
Непрерывный случай: сумма превращается в интеграл
Интуиция
Вернёмся к линейке с грузиками. Дискретный случай — это отдельные грузики в отдельных точках. А что, если масса размазана по линейке непрерывно, как неоднородный стержень? Тогда «масса кусочка» шириной $dx$ около точки $x$ равна $p(x)\,dx$, где $p(x)$ — плотность (та самая, из урока 236). Момент этого кусочка относительно нуля — «плечо × масса», то есть $x \cdot p(x)\,dx$. Складываем по всему стержню — и сумма превращается в интеграл.
Формула буквально получается заменой трёх символов: $\sum \to \int$, $x_i \to x$, $p_i \to p(x)\,dx$. Больше ничего не меняется. Это очень типичная для теории вероятностей ситуация: дискретный и непрерывный случай — два лица одной операции, и в общей теории (интеграл по вероятностной мере) они пишутся одной строчкой.
Определение: Пусть непрерывная случайная величина $X$ имеет плотность распределения $p(x)$. Математическим ожиданием $X$ называется число
$$E(X) = \int_{-\infty}^{+\infty} x \, p(x)\, dx,$$при условии, что интеграл сходится абсолютно, то есть $\int_{-\infty}^{+\infty} |x| \, p(x)\, dx < \infty$. Если абсолютной сходимости нет, математического ожидания не существует.
Практическое замечание: интегрировать «от минус до плюс бесконечности» приходится редко. Если плотность равна нулю вне отрезка $[a; b]$, интеграл сжимается до $\int_a^b x\,p(x)\,dx$ — за пределами отрезка подынтегральная функция тождественно нулевая, и вклада не даёт.
Полезные ориентиры, которые стоит запомнить сразу:
- Если плотность симметрична относительно точки $c$ (то есть $p(c + t) = p(c - t)$ для всех $t$) и матожидание существует, то $E(X) = c$. Симметричный стержень балансируется в центре
- Равномерное распределение на $[a; b]$: $E(X) = \dfrac{a+b}{2}$
- Показательное (экспоненциальное) распределение с параметром $\lambda$: $E(X) = \dfrac{1}{\lambda}$
- Нормальное распределение $\mathcal{N}(\mu, \sigma^2)$: $E(X) = \mu$ (параметр $\mu$ и есть матожидание, и это видно из симметрии колокола)
Отдельно стоит проговорить одну вещь, которая многих сбивает. Плотность $p(x)$ — это не вероятность. Она может быть больше единицы (например, плотность равномерного распределения на $[0; 0{,}1]$ равна 10). Вероятностью становится только произведение $p(x)\,dx$ — «масса кусочка». Поэтому в формуле матожидания $x$ умножается именно на $p(x)\,dx$, а не на $p(x)$, и интеграл имеет размерность самого $x$, а не размерность вероятности.
Примеры с разбором
Пример 4 (простой): равномерное распределение
Время ожидания автобуса $X$ равномерно распределено на отрезке $[0; 12]$ минут. Найди $E(X)$.
Решение:
Шаг 1. Выпишем плотность. Для равномерного распределения на $[a; b]$ плотность постоянна и равна $\dfrac{1}{b-a}$ внутри отрезка и нулю снаружи. Здесь $a = 0$, $b = 12$:
$$p(x) = \begin{cases} \dfrac{1}{12}, & 0 \leq x \leq 12 \\[4pt] 0, & \text{иначе} \end{cases}$$Шаг 2. Подставим в формулу и сузим пределы:
$$E(X) = \int_{0}^{12} x \cdot \frac{1}{12}\, dx = \frac{1}{12}\int_0^{12} x\, dx$$Шаг 3. Берём интеграл:
$$\frac{1}{12} \cdot \left.\frac{x^2}{2}\right|_0^{12} = \frac{1}{12} \cdot \frac{144}{2} = \frac{72}{12} = 6$$Проверим наш ответ: по формуле $\dfrac{a+b}{2} = \dfrac{0+12}{2} = 6$ ✅ И это логично: плотность симметрична относительно середины отрезка.
Ответ: $E(X) = 6$ минут
Пример 5 (средний): треугольная плотность
Случайная величина задана плотностью $p(x) = 2x$ при $x \in [0; 1]$ и $p(x) = 0$ вне этого отрезка. Найди $E(X)$.
Решение:
Шаг 1. Сначала проверим, что это вообще плотность — интеграл по всей прямой должен равняться единице:
$$\int_0^1 2x\, dx = \left. x^2 \right|_0^1 = 1 - 0 = 1 \ \checkmark$$Шаг 2. Считаем матожидание:
$$E(X) = \int_0^1 x \cdot 2x\, dx = \int_0^1 2x^2\, dx$$Шаг 3. Берём интеграл:
$$\left. \frac{2x^3}{3} \right|_0^1 = \frac{2}{3} - 0 = \frac{2}{3} \approx 0{,}667$$Шаг 4. Проверим на разумность. Плотность растёт линейно: около нуля масса маленькая, около единицы — большая. Значит, центр тяжести должен быть смещён вправо от середины отрезка, то есть больше $0{,}5$. Получили $0{,}667$ — сдвиг вправо есть ✅
Ответ: $E(X) = \dfrac{2}{3}$
📌 Обрати внимание на шаг 1. Проверка нормировки — не ритуал. Если бы кто-то дал тебе «плотность» $p(x) = x$ на $[0;1]$, её интеграл равнялся бы $0{,}5$, и любые дальнейшие вычисления были бы мусором. Всегда проверяй нормировку, прежде чем считать матожидание.
Пример 6 (сложный): показательное распределение
Время до отказа сервера $X$ (в часах) имеет показательное распределение с плотностью $p(x) = \lambda e^{-\lambda x}$ при $x \geq 0$ и $p(x) = 0$ при $x < 0$, где $\lambda = 0{,}004$. Найди среднее время до отказа.
Решение:
Шаг 1. Запишем интеграл:
$$E(X) = \int_0^{+\infty} x \cdot \lambda e^{-\lambda x}\, dx$$Шаг 2. Берём по частям. Положим $u = x$, $dv = \lambda e^{-\lambda x} dx$. Тогда $du = dx$, а $v = -e^{-\lambda x}$ (проверка: производная $-e^{-\lambda x}$ равна $\lambda e^{-\lambda x}$ ✅).
$$E(X) = \left. \left(-x e^{-\lambda x}\right) \right|_0^{+\infty} + \int_0^{+\infty} e^{-\lambda x}\, dx$$Шаг 3. Разберёмся с первым слагаемым. При $x \to +\infty$ экспонента $e^{-\lambda x}$ убывает быстрее, чем растёт $x$, поэтому $x e^{-\lambda x} \to 0$. При $x = 0$ выражение тоже равно нулю. Значит, первое слагаемое даёт 0.
Шаг 4. Второй интеграл:
$$\int_0^{+\infty} e^{-\lambda x}\, dx = \left. \left(-\frac{1}{\lambda} e^{-\lambda x}\right) \right|_0^{+\infty} = 0 - \left(-\frac{1}{\lambda}\right) = \frac{1}{\lambda}$$Шаг 5. Итого $E(X) = \dfrac{1}{\lambda}$. Подставляем $\lambda = 0{,}004$:
$$E(X) = \frac{1}{0{,}004} = 250 \text{ часов}$$Проверим наш ответ: параметр $\lambda$ — это «интенсивность отказов», отказов в час. Если сервер ломается 0,004 раза в час, то один отказ приходится примерно на $1/0{,}004 = 250$ часов. Размерность и смысл сходятся ✅
Ответ: $E(X) = 250$ часов
📌 Формула $E(X) = 1/\lambda$ — рабочая лошадка в надёжности, теории очередей и оценке latency. И заметь красивую перекличку с геометрическим распределением из примера 3: там ждать события с вероятностью $p$ надо в среднем $1/p$ шагов, здесь ждать события с интенсивностью $\lambda$ надо в среднем $1/\lambda$ времени. Показательное распределение — непрерывный аналог геометрического.
Почему это важно
Непрерывное матожидание — это то, что реально вычисляется под капотом почти всех вероятностных моделей в ML. Когда вариационный автоэнкодер (VAE) оптимизирует ELBO, там стоит $\mathbb{E}_{z \sim q(z|x)}[\log p(x|z)]$ — матожидание по непрерывному распределению латентного кода. Когда байесовская модель делает предсказание, она усредняет по апостериорному распределению параметров: $\mathbb{E}_{\theta \sim p(\theta|D)}[f_\theta(x)]$. Интегралы в этих формулах чаще всего не берутся аналитически, и их заменяют выборочными средними (Монте-Карло) — но объект, который оценивают, это всегда интеграл $\int x p(x) dx$ в той или иной обёртке.
Для инженера практический вывод такой: если ты умеешь читать запись $\mathbb{E}_{x \sim p}[g(x)]$ как «взвешенное среднее $g$ по плотности $p$», ты можешь читать почти любую формулу в ML-статье. А если не умеешь — каждая формула выглядит как непонятная закорючка.
Матожидание как «среднее на длинной дистанции»
Интуиция
У матожидания есть вторая жизнь — экспериментальная. Пусть ты много раз повторяешь один и тот же случайный опыт и записываешь результаты $X_1, X_2, \dots, X_n$. Возьми обычное среднее арифметическое:
$$\overline{X}_n = \frac{X_1 + X_2 + \dots + X_n}{n}$$Это случайная величина: при каждом новом наборе экспериментов получится другое число. Но чем больше $n$, тем меньше она гуляет, и тем ближе прижимается к $E(X)$. Брось кубик 10 раз — среднее может оказаться и 2,9, и 4,1. Брось 10 000 раз — среднее почти наверняка будет между 3,45 и 3,55.
Почему так — строго разбирается в уроке 242 (закон больших чисел), и там же выясняется, при каких условиях это верно, а при каких ломается. Сейчас нам достаточно рабочей интуиции: матожидание — это то, к чему сходится выборочное среднее. Формула $\sum x_i p_i$ и «усреднить много опытов» — два способа добраться до одного числа: первый теоретический, второй экспериментальный.
Эта двойственность — самая полезная мысль урока для практика. Она объясняет, что мы вообще делаем в машинном обучении:
- Настоящая цель — минимизировать $\mathbb{E}_{(x,y) \sim \mathcal{D}}[\ell(f(x), y)]$, ожидаемую потерю на всём распределении данных $\mathcal{D}$
- Распределение $\mathcal{D}$ нам недоступно: мы не знаем, как устроен весь поток данных мира
- Зато у нас есть выборка — обучающий датасет. И мы минимизируем выборочное среднее $\frac{1}{n}\sum_{i=1}^n \ell(f(x_i), y_i)$
- Это называется минимизацией эмпирического риска (Empirical Risk Minimization, ERM), и вся её законность держится ровно на том, что выборочное среднее приближает матожидание
📌 И вот отсюда сразу видно, откуда берётся переобучение. Выборочное среднее приближает матожидание, если выборка фиксирована, а функция — тоже. Но мы делаем хитрее: мы подбираем функцию так, чтобы выборочное среднее было минимальным. Модель может «подогнаться» под конкретные $n$ точек и получить эмпирический риск почти ноль, при этом настоящее матожидание ошибки останется огромным. Разрыв между «средним по выборке» и «матожиданием» — это буквально определение переобучения. Валидационная выборка нужна ровно затем, чтобы получить честную оценку матожидания на данных, которые в подгонке не участвовали.
Пример 7 (средний): А/В-тест и практический смысл матожидания
Новый алгоритм рекомендаций увеличивает средний чек с вероятностью $0{,}6$ на 40 ₽, с вероятностью $0{,}25$ не меняет его, и с вероятностью $0{,}15$ уменьшает на 120 ₽. Стоит ли катить его на всех пользователей, если раскатка стоит 30 ₽ на пользователя?
Решение:
Шаг 1. Пусть $X$ — изменение чека на одном пользователе. Значения и вероятности:
- $+40$ с вероятностью $0{,}6$
- $0$ с вероятностью $0{,}25$
- $-120$ с вероятностью $0{,}15$
Шаг 2. Проверим сумму вероятностей: $0{,}6 + 0{,}25 + 0{,}15 = 1$ ✅
Шаг 3. Считаем матожидание выигрыша:
$$E(X) = 40 \cdot 0{,}6 + 0 \cdot 0{,}25 + (-120) \cdot 0{,}15 = 24 + 0 - 18 = 6$$Шаг 4. Сравниваем с ценой раскатки: ожидаемый прирост 6 ₽ на пользователя, а стоимость раскатки — 30 ₽ на пользователя. Чистое ожидаемое изменение: $6 - 30 = -24$ ₽.
Шаг 5. Интерпретация: несмотря на то что «в большинстве случаев (60%) становится лучше», в среднем изменение убыточно — редкий, но тяжёлый минус в 120 ₽ съедает выигрыш, а стоимость внедрения добивает.
Ответ: $E(X) = 6$ ₽ прироста, что меньше 30 ₽ затрат; катить не стоит, чистое ожидание $-24$ ₽ на пользователя.
📌 Здесь виден классический капкан: «в 60% случаев лучше» и «в среднем лучше» — разные утверждения. Первое — про медиану-подобную характеристику, второе — про центр тяжести. Матожидание учитывает не только частоту, но и размер исходов.
Почему это важно
Связка «матожидание ↔ среднее по многим опытам» — фундамент всего Монте-Карло. Не можешь взять интеграл $\int g(x)p(x)dx$? Насэмплируй $n$ точек из $p$, посчитай $\frac{1}{n}\sum g(x_i)$ — и получишь оценку. Так работает MC-dropout для оценки неопределённости, так оценивается ожидаемая награда в policy gradient, так считается почти любая байесовская величина в практических пайплайнах. Знак $\mathbb{E}$ в статье и цикл по батчу в коде — это одно и то же, увиденное с разных сторон.
Линейность: главное свойство и главный источник ошибок
Интуиция
Из всех свойств матожидания одно стоит особняком по силе и по частоте использования. Это линейность. Формулируется она в двух кусках, и оба стоит выучить наизусть.
Первый кусок — про константы. Если ты умножаешь случайную величину на число и что-то к ней прибавляешь, центр тяжести двигается ровно так же:
$$E(aX + b) = a\,E(X) + b$$Интуиция физическая и абсолютно прозрачная: умножение на $a$ — это растяжение линейки в $a$ раз (центр тяжести растягивается вместе с ней), прибавление $b$ — сдвиг всей линейки вправо на $b$ (центр тяжести едет вместе). Массы грузиков при этом не меняются, меняются только координаты. Отсюда, кстати, полезное следствие: $E(c) = c$ для константы и $E(-X) = -E(X)$.
Второй кусок — про сумму двух величин, и вот здесь начинается самое интересное:
$$E(X + Y) = E(X) + E(Y)$$Это равенство верно всегда. Для любых случайных величин, у которых матожидания существуют. Независимость не нужна. Величины могут быть связаны как угодно жёстко — одна может полностью определять другую, — матожидание суммы всё равно равно сумме матожиданий.
Давай проверим на предельно зависимом примере. Бросаем кость, $X$ — выпавшее число, а $Y = 7 - X$ (число на противоположной грани). Более зависимых величин трудно придумать: зная $X$, ты знаешь $Y$ точно. Считаем: $E(X) = 3{,}5$, $E(Y) = E(7 - X) = 7 - 3{,}5 = 3{,}5$. А сумма $X + Y = 7$ всегда, при любом броске, то есть это константа, и $E(X+Y) = 7$. Сравниваем: $3{,}5 + 3{,}5 = 7$ ✅ Линейность выдержала полную зависимость.
Почему так? Потому что матожидание работает «поэлементно» по элементарным исходам, а не по совместному распределению. В каждом исходе $\omega$ значение суммы — это сумма значений: $(X+Y)(\omega) = X(\omega) + Y(\omega)$. При усреднении по исходам суммы разваливаются на две суммы независимо от того, как исходы устроены. Никакого места, где могла бы понадобиться независимость, в этом рассуждении просто нет.
Свойство (линейность математического ожидания): Для любых случайных величин $X$ и $Y$, имеющих математические ожидания, и любых чисел $a, b, c$ выполняется
$$E(aX + bY + c) = a\,E(X) + b\,E(Y) + c.$$Независимость $X$ и $Y$ не требуется. В общем случае для $n$ величин:
$$E\left(\sum_{i=1}^{n} a_i X_i\right) = \sum_{i=1}^{n} a_i E(X_i).$$
Докажем для дискретного случая, чтобы было видно, где именно «не нужна независимость». Пусть $(X, Y)$ принимают пары значений $(x_i, y_j)$ с совместными вероятностями $p_{ij}$. Тогда
$$E(X+Y) = \sum_i \sum_j (x_i + y_j) p_{ij} = \sum_i \sum_j x_i p_{ij} + \sum_i \sum_j y_j p_{ij}$$В первой двойной сумме вынесем $x_i$ и просуммируем по $j$: $\sum_j p_{ij} = P(X = x_i) = p_i$ — это маргинальная вероятность. Получаем $\sum_i x_i p_i = E(X)$. Аналогично вторая сумма даёт $E(Y)$. Разложить $p_{ij}$ в произведение $p_i q_j$ (что как раз и означало бы независимость) нам нигде не потребовалось ✅
А вот с произведением всё иначе.
Свойство: Если $X$ и $Y$ независимы, то
$$E(XY) = E(X)\,E(Y).$$Без независимости это равенство, вообще говоря, неверно.
Здесь независимость критична, и вот почему: в доказательстве приходится писать $E(XY) = \sum_i\sum_j x_i y_j p_{ij}$ и разваливать двойную сумму на произведение двух — а это возможно только если $p_{ij} = p_i q_j$. Ровно то, чего в случае суммы не требовалось.
Контрпример строится за десять секунд. Возьмём тот же кубик: $X$ — выпавшее число, $Y = X$. Тогда $E(X)E(Y) = 3{,}5 \cdot 3{,}5 = 12{,}25$. А $E(XY) = E(X^2) = \frac{1+4+9+16+25+36}{6} = \frac{91}{6} \approx 15{,}17$. Разница почти три единицы. Величины зависимы — равенство разваливается.
📌 Мнемоника, которая спасает на экзаменах и в проде: сумма — всегда, произведение — только для независимых. Если перепутать, ошибка будет тихой: формула даст правдоподобное число, которое окажется неверным.
Примеры с разбором
Пример 8 (простой): линейное преобразование
Известно, что $E(X) = 12$. Найди $E(5X - 3)$ и $E\!\left(\frac{X - 12}{4}\right)$.
Решение:
Шаг 1. Первое выражение — прямое применение формулы $E(aX+b) = aE(X)+b$ с $a = 5$, $b = -3$:
$$E(5X - 3) = 5 \cdot 12 - 3 = 60 - 3 = 57$$Шаг 2. Второе выражение перепишем в стандартном виде: $\frac{X-12}{4} = \frac{1}{4}X - 3$, то есть $a = \tfrac14$, $b = -3$:
$$E\!\left(\frac{X-12}{4}\right) = \frac{1}{4}\cdot 12 - 3 = 3 - 3 = 0$$Шаг 3. Осмыслим второй результат: мы вычли из величины её собственное матожидание и поделили на число — получили величину с нулевым матожиданием. Это ровно первая половина операции стандартизации (z-score), которую в ML делают перед обучением почти всегда. Вторая половина — деление на стандартное отклонение — тема следующего урока.
Ответ: $E(5X-3) = 57$; $E\!\left(\frac{X-12}{4}\right) = 0$
Пример 9 (средний): сумма зависимых величин
Из колоды в 36 карт наугад вытягивают 4 карты без возвращения. Пусть $X$ — число тузов среди вытянутых. Найди $E(X)$.
Решение:
Шаг 1. В лоб задача неприятная: надо находить распределение $X$ (гипергеометрическое), считать четыре вероятности $P(X=0), \dots, P(X=4)$ через сочетания и суммировать. Пойдём другим путём.
Шаг 2. Разложим $X$ на слагаемые. Пусть $I_k = 1$, если $k$-я вытянутая карта — туз, и $I_k = 0$ иначе, $k = 1, 2, 3, 4$. Тогда
$$X = I_1 + I_2 + I_3 + I_4$$Шаг 3. Найдём $E(I_k)$. Матожидание величины, принимающей значения 0 и 1, равно $1 \cdot P(I_k = 1) + 0 \cdot P(I_k = 0) = P(I_k = 1)$. А вероятность того, что любая конкретная по счёту карта окажется тузом, равна $\tfrac{4}{36} = \tfrac19$ — по симметрии: до того как мы что-то увидели, все позиции в колоде равноправны, и вторая карта имеет ровно такие же шансы быть тузом, как и первая.
Шаг 4. Важно: $I_1, I_2, I_3, I_4$ зависимы — если первая карта туз, шансы второй падают. Но линейность нам независимости и не требует:
$$E(X) = E(I_1) + E(I_2) + E(I_3) + E(I_4) = 4 \cdot \frac{1}{9} = \frac{4}{9} \approx 0{,}444$$Проверим наш ответ: можно рассуждать иначе. Всего в колоде 4 туза; каждый конкретный туз попадает в выборку из 4 карт с вероятностью $\tfrac{4}{36} = \tfrac19$. Ожидаемое число попавших тузов $= 4 \cdot \tfrac19 = \tfrac49$ ✅ Совпало.
Ответ: $E(X) = \dfrac{4}{9} \approx 0{,}44$
📌 Вот она, сила линейности: задача, требующая гипергеометрического распределения, решена в три строки — просто потому, что нам нужно только среднее, а не всё распределение.
Пример 10 (сложный): произведение зависимых и независимых
Бросают две правильные монеты. Пусть $X$ — число выпавших орлов, $Y$ — число выпавших решек. Найди $E(X)$, $E(Y)$, $E(X+Y)$ и $E(XY)$. Сравни $E(XY)$ с $E(X)E(Y)$.
Решение:
Шаг 1. Распределение $X$: значения 0, 1, 2 с вероятностями $\tfrac14, \tfrac12, \tfrac14$. Тогда
$$E(X) = 0\cdot\frac14 + 1\cdot\frac12 + 2\cdot\frac14 = 0 + 0{,}5 + 0{,}5 = 1$$По симметрии $E(Y) = 1$.
Шаг 2. Заметим, что $X + Y = 2$ всегда (монет две, каждая дала либо орёл, либо решку). Значит, $E(X+Y) = 2$. Проверяем линейность: $E(X) + E(Y) = 1 + 1 = 2$ ✅ И это при том, что $Y = 2 - X$, то есть величины максимально зависимы.
Шаг 3. Теперь произведение. Поскольку $Y = 2 - X$, имеем $XY = X(2-X) = 2X - X^2$. Найдём распределение $XY$ напрямую:
- $X = 0 \Rightarrow XY = 0 \cdot 2 = 0$, вероятность $\tfrac14$
- $X = 1 \Rightarrow XY = 1 \cdot 1 = 1$, вероятность $\tfrac12$
- $X = 2 \Rightarrow XY = 2 \cdot 0 = 0$, вероятность $\tfrac14$
Шаг 4. Сравниваем: $E(X)E(Y) = 1 \cdot 1 = 1$, а $E(XY) = 0{,}5$. Не равны! Величины зависимы, и правило про произведение не работает.
Шаг 5. Для контраста возьмём независимый случай: пусть $U$ — число орлов на первой монете, $V$ — число орлов на второй. Они независимы, $E(U) = E(V) = 0{,}5$. Произведение $UV$ равно 1 только если обе монеты дали орла (вероятность $\tfrac14$), иначе 0. Значит $E(UV) = 0{,}25 = 0{,}5 \cdot 0{,}5 = E(U)E(V)$ ✅
Ответ: $E(X) = E(Y) = 1$, $E(X+Y) = 2 = E(X)+E(Y)$, $E(XY) = 0{,}5 \neq 1 = E(X)E(Y)$; для суммы линейность работает при любой зависимости, для произведения — только при независимости.
📌 Кстати, разница $E(XY) - E(X)E(Y)$ — не просто «ошибка». Это осмысленная величина, называется ковариацией, и она измеряет, насколько величины связаны линейно. Здесь она равна $0{,}5 - 1 = -0{,}5$: отрицательная, потому что больше орлов означает меньше решек. Подробно — в уроке 244.
Почему это важно
Линейность матожидания — это математическая причина, по которой стохастический градиентный спуск вообще имеет право работать. Полная функция потерь — это среднее по всему датасету: $L(\theta) = \frac{1}{N}\sum_{i=1}^N \ell_i(\theta)$. Градиент батча — это среднее градиентов по случайно выбранным $B$ объектам. Возьмём матожидание по случайному выбору батча:
$$\mathbb{E}\left[\frac{1}{B}\sum_{i \in \text{batch}} \nabla \ell_i(\theta)\right] = \frac{1}{B}\sum_{i \in \text{batch}} \mathbb{E}\left[\nabla \ell_i(\theta)\right] = \frac{1}{B} \cdot B \cdot \frac{1}{N}\sum_{j=1}^{N}\nabla \ell_j(\theta) = \nabla L(\theta)$$Мы вынесли матожидание внутрь суммы — это ровно линейность — и получили: градиент батча есть несмещённая оценка полного градиента. Слово «несмещённая» означает буквально «его матожидание равно тому, что мы хотим оценить». Именно поэтому шумный шаг по батчу в среднем идёт в правильную сторону, и именно поэтому SGD сходится, хотя каждый отдельный шаг может уводить не туда.
И заметь важнейшую деталь: объекты в батче при выборке без возвращения зависимы (если объект №5 попал в батч, шансы объекта №7 слегка меняются). Если бы линейность требовала независимости, всё рассуждение развалилось бы. Она не требует — и не разваливается.
Матожидание функции: закон бессознательного статистика
Интуиция
Очень частая задача: у тебя есть величина $X$, и тебе нужно среднее не от неё самой, а от какой-то функции — $E(X^2)$, $E(e^X)$, $E(\ln X)$, $E(|X - 5|)$. Например, $X$ — предсказание модели, а тебе нужна средняя квадратичная ошибка $E((X - y)^2)$.
Наивный путь: найти распределение новой величины $Y = g(X)$ (то есть выяснить, какие значения она принимает и с какими вероятностями), а потом применить обычную формулу. Путь честный, но часто мучительный: найти распределение $e^X$, когда $X$ нормальная, — отдельная история.
Хорошая новость: этого делать не надо. Работает такая формула:
$$E(g(X)) = \sum_i g(x_i)\, p_i \qquad \text{(дискретный случай)}$$$$E(g(X)) = \int_{-\infty}^{+\infty} g(x)\, p(x)\, dx \qquad \text{(непрерывный случай)}$$То есть: берёшь старые вероятности (старую плотность), но применяешь к значениям функцию $g$. Распределение $g(X)$ искать не нужно.
У этой формулы есть шуточное, но общепринятое имя — Law of the Unconscious Statistician, «закон бессознательного статистика». Название родилось из того, что статистики применяли её машинально, «не приходя в сознание», как будто она очевидна, — хотя строго её надо доказывать.
Почему она верна, видно из простого рассуждения. Матожидание — это усреднение по элементарным исходам. В исходе $\omega$ величина $g(X)$ принимает значение $g(X(\omega))$, а вес этого исхода — его вероятность. Значит, при усреднении к каждому значению $x_i$ приклеен тот же вес $p_i$, что и раньше, просто само значение теперь пропущено через $g$. Единственная тонкость: если разные $x_i$ дают одинаковое $g(x_i)$, их вероятности в «настоящем» распределении $g(X)$ склеятся — но при суммировании это ничего не меняет, потому что склеенные слагаемые всё равно складываются.
Свойство (закон бессознательного статистика, LOTUS): Пусть $g$ — функция, для которой $E(g(X))$ существует. Тогда
$$E(g(X)) = \sum_i g(x_i) p_i \quad \text{или} \quad E(g(X)) = \int g(x)p(x)\,dx,$$причём распределение самой величины $g(X)$ находить не требуется.
⚠️ И сразу самое главное предупреждение урока по этой теме: в общем случае $E(g(X)) \neq g(E(X))$. Матожидание нельзя «занести внутрь» нелинейной функции. Оно линейно — и только с линейными функциями коммутирует свободно.
Проверим на кубике. $E(X) = 3{,}5$, значит $(E(X))^2 = 12{,}25$. А $E(X^2) = \frac{1+4+9+16+25+36}{6} = \frac{91}{6} \approx 15{,}17$. Разница есть, и она не случайна: для выпуклой функции (какой является $x^2$) всегда $E(g(X)) \geq g(E(X))$ — это неравенство Йенсена, и мы с ним ещё встретимся в курсе. Для вогнутой (логарифм, корень) — наоборот.
Практическое следствие этого различия огромно. «Средний логарифм» и «логарифм среднего» — разные числа, и именно поэтому среднее геометрическое доходностей не равно среднему арифметическому. «Средний квадрат ошибки» больше «квадрата средней ошибки» — и именно поэтому модель, у которой ошибки $+10$ и $-10$ поровну, имеет нулевую среднюю ошибку и стократный MSE.
Примеры с разбором
Пример 11 (простой): E(X²) через LOTUS
Величина $X$ принимает значения $-2, 0, 3$ с вероятностями $0{,}3;\ 0{,}5;\ 0{,}2$. Найди $E(X)$ и $E(X^2)$.
Решение:
Шаг 1. Обычное матожидание:
$$E(X) = (-2)\cdot 0{,}3 + 0 \cdot 0{,}5 + 3 \cdot 0{,}2 = -0{,}6 + 0 + 0{,}6 = 0$$Шаг 2. Теперь $E(X^2)$ по LOTUS: возводим в квадрат значения, вероятности оставляем прежними:
$$E(X^2) = (-2)^2 \cdot 0{,}3 + 0^2 \cdot 0{,}5 + 3^2 \cdot 0{,}2 = 4 \cdot 0{,}3 + 0 + 9 \cdot 0{,}2 = 1{,}2 + 1{,}8 = 3$$Шаг 3. Сравним с $(E(X))^2 = 0^2 = 0$. Разница колоссальная: 3 против 0.
Ответ: $E(X) = 0$, $E(X^2) = 3$; $E(X^2) \neq (E(X))^2$.
📌 Величина с нулевым матожиданием совсем не обязана быть «маленькой» — она просто симметрично разбросана вокруг нуля. Насколько сильно разбросана — измеряет как раз $E(X^2)$ и связанная с ним дисперсия, которой посвящён следующий урок.
Пример 12 (средний): нелинейная функция от непрерывной величины
Величина $X$ равномерно распределена на $[0; 3]$. Найди $E(X^2)$ и $E(\sqrt{X})$.
Решение:
Шаг 1. Плотность: $p(x) = \tfrac13$ на $[0;3]$, ноль вне отрезка.
Шаг 2. По LOTUS считаем $E(X^2)$:
$$E(X^2) = \int_0^3 x^2 \cdot \frac13\, dx = \frac13 \cdot \left.\frac{x^3}{3}\right|_0^3 = \frac13 \cdot \frac{27}{3} = \frac13 \cdot 9 = 3$$Шаг 3. Теперь $E(\sqrt{X})$. Запишем корень как степень: $\sqrt{x} = x^{1/2}$.
$$E(\sqrt X) = \int_0^3 x^{1/2}\cdot \frac13 \, dx = \frac13 \cdot \left. \frac{x^{3/2}}{3/2}\right|_0^3 = \frac13 \cdot \frac{2}{3} \cdot 3^{3/2}$$Шаг 4. Посчитаем $3^{3/2} = 3\sqrt3 \approx 5{,}196$:
$$E(\sqrt X) = \frac{2}{9}\cdot 3\sqrt3 = \frac{2\sqrt3}{3} \approx \frac{2 \cdot 1{,}732}{3} \approx 1{,}155$$Шаг 5. Проверим на разумность. $E(X) = 1{,}5$. Тогда $\sqrt{E(X)} = \sqrt{1{,}5} \approx 1{,}225$, а $E(\sqrt X) \approx 1{,}155$ — меньше. Так и должно быть: корень — вогнутая функция, для неё $E(g(X)) \leq g(E(X))$ ✅ А для выпуклого квадрата наоборот: $E(X^2) = 3$ против $(E(X))^2 = 2{,}25$ — больше ✅
Ответ: $E(X^2) = 3$, $E(\sqrt X) = \dfrac{2\sqrt3}{3} \approx 1{,}155$
Почему это важно
LOTUS — это то, чем ты пользуешься каждый раз, когда пишешь функцию потерь. Cross-entropy loss — это $-\mathbb{E}_{y \sim p}[\log q(y)]$: берёшь истинное распределение $p$ и усредняешь по нему логарифм предсказанных вероятностей. Ты не ищешь распределение величины «$\log q$» — ты просто применяешь $\log$ к значениям и взвешиваешь старыми вероятностями. То же самое с KL-дивергенцией $\mathbb{E}_p[\log \frac{p}{q}]$ и с энтропией $-\mathbb{E}_p[\log p]$.
И различие $E(g(X)) \neq g(E(X))$ — это не педантизм, а источник реальных багов в проде. Классика: посчитать среднее логарифмов цен, а потом взять экспоненту и назвать это «средней ценой». Получится среднее геометрическое, оно систематически ниже арифметического. Или: усреднить предсказанные вероятности нескольких моделей, а потом применить сигмоиду — не то же самое, что применить сигмоиду к каждой и усреднить (первое — усреднение логитов, второе — усреднение вероятностей, и ансамбли работают по-разному в этих двух режимах).
Индикаторы: приём, который решает нерешаемое
Интуиция
Есть один трюк, который по соотношению «простота / мощность» не имеет равных во всей элементарной теории вероятностей. Он состоит из одной формулы и одного наблюдения.
Формула. Пусть $A$ — какое-то событие. Определим индикатор этого события — случайную величину
$$I_A = \begin{cases} 1, & \text{если } A \text{ произошло} \\ 0, & \text{если } A \text{ не произошло} \end{cases}$$Тогда её матожидание считается в одну строку:
$$E(I_A) = 1 \cdot P(A) + 0 \cdot (1 - P(A)) = P(A)$$Свойство: Математическое ожидание индикатора события равно вероятности этого события:
$$E(I_A) = P(A).$$
Само по себе это выглядит как тавтология и ничего не даёт. Мощь появляется, когда добавляешь второе наблюдение: очень многие «числа объектов» раскладываются в сумму индикаторов. Число тузов в раздаче = сумма индикаторов «$k$-я карта туз». Число совпадений = сумма индикаторов «$k$-й элемент совпал». Число выживших нейронов при dropout = сумма индикаторов «$k$-й нейрон выжил». Число пустых корзин = сумма индикаторов «$k$-я корзина пуста».
А дальше — линейность, которой независимость не нужна. И получается схема из трёх шагов, работающая почти механически:
- Разложи величину: $X = I_1 + I_2 + \dots + I_n$
- По линейности: $E(X) = E(I_1) + \dots + E(I_n)$
- Каждое $E(I_k)$ — это просто вероятность $P(A_k)$, которую обычно легко посчитать по симметрии
Ключевой момент, ради которого всё затевалось: на шаге 2 индикаторы могут быть как угодно зависимы. Это делает приём применимым там, где совместное распределение — кошмар, а ответ нужен один и простой.
Примеры с разбором
Пример 13 (средний): задача о совпадениях (задача Монмора)
Секретарь напечатал $n = 5$ писем и $5$ конвертов с адресами, но разложил письма по конвертам совершенно случайно. Пусть $X$ — число писем, попавших в «свой» конверт. Найди $E(X)$.
Решение:
Шаг 1. Осознаем масштаб проблемы, если решать в лоб. Нужно распределение $X$: вероятности того, что совпало ровно 0, 1, 2, 3, 5 писем (ровно 4 совпадения невозможно — если четыре на месте, пятое тоже). Это классическая задача о беспорядках (субфакториалы), считается неприятно. Нам же нужно только среднее — идём через индикаторы.
Шаг 2. Пусть $I_k = 1$, если $k$-е письмо попало в свой конверт, и $0$ иначе, $k = 1, \dots, 5$. Тогда, очевидно по построению,
$$X = I_1 + I_2 + I_3 + I_4 + I_5$$Шаг 3. Найдём $E(I_k) = P(k\text{-е письмо в своём конверте})$. Письмо $k$ равновероятно попадает в любой из 5 конвертов, «свой» ровно один:
$$P(I_k = 1) = \frac{1}{5}$$Шаг 4. Индикаторы зависимы: если письма 1–4 попали в свои конверты, то $I_5 = 1$ гарантированно. Но линейность работает и здесь:
$$E(X) = 5 \cdot \frac{1}{5} = 1$$Шаг 5. Обобщим на произвольное $n$: $E(I_k) = \tfrac1n$, слагаемых $n$ штук, значит
$$E(X) = n \cdot \frac{1}{n} = 1$$Ответ: $E(X) = 1$ — причём при любом $n$.
📌 Это один из самых красивых результатов в теории вероятностей. Разложи хоть 5 писем, хоть 5 миллионов — в среднем ровно одно попадёт куда надо. Интуиция тут ломается: кажется, что при большом $n$ совпадений «должно быть больше» (объектов же больше!) или «меньше» (шанс каждого меньше!). А эти два эффекта в точности компенсируют друг друга: $n \cdot \frac1n = 1$.
Тот же результат в переформулировке: перемешай случайно колоду карт и клади её рядом с эталонной колодой, сравнивая позиции. В среднем ровно одна карта окажется на своём месте — что в колоде из 36 карт, что из 52.
Пример 14 (сложный): dropout и ожидаемое число активных нейронов
В скрытом слое нейросети 512 нейронов. На каждой итерации обучения применяется dropout: каждый нейрон независимо отключается с вероятностью $p = 0{,}4$. Найди ожидаемое число активных нейронов. Затем — ожидаемое число активных нейронов, если dropout применяется одновременно к двум слоям по 512 и 256 нейронов с вероятностями отключения $0{,}4$ и $0{,}25$.
Решение:
Шаг 1. Введём индикаторы: $I_k = 1$, если $k$-й нейрон остался активным. Вероятность выжить: $1 - 0{,}4 = 0{,}6$. Значит $E(I_k) = 0{,}6$.
Шаг 2. Число активных нейронов $A = I_1 + I_2 + \dots + I_{512}$. По линейности:
$$E(A) = 512 \cdot 0{,}6 = 307{,}2$$Шаг 3. Для второго слоя: вероятность выжить $1 - 0{,}25 = 0{,}75$, нейронов 256:
$$E(A_2) = 256 \cdot 0{,}75 = 192$$Шаг 4. Суммарное ожидаемое число активных нейронов по двум слоям — снова по линейности (слои независимы, но нам это опять-таки неважно):
$$E(A_1 + A_2) = 307{,}2 + 192 = 499{,}2$$Ответ: $E(A_1) = 307{,}2$ активных нейрона в первом слое; суммарно по двум слоям $499{,}2$.
📌 Число 307,2 — не «ошибка округления», а честный центр тяжести: в конкретной итерации активных нейронов будет целое число (305, 312, 299), но среднее по итерациям — 307,2.
И вот главный инженерный вывод, который прямо следует из этого расчёта. Если во время обучения выход слоя в среднем составляет $0{,}6$ от «полного», а на инференсе dropout выключен и работают все нейроны, масштаб сигнала на инференсе окажется примерно в $1/0{,}6 \approx 1{,}67$ раза больше, чем модель привыкла видеть при обучении. Слои дальше по сети получат вход не того масштаба, и качество просядет. Ровно поэтому существует inverted dropout: на обучении выжившие активации сразу делят на $(1-p)$, чтобы матожидание выхода слоя не менялось: $E\!\left[\frac{I_k}{1-p} x_k\right] = \frac{(1-p)}{1-p} x_k = x_k$. Тогда на инференсе можно вообще ничего не менять. Стандартный dropout в PyTorch и TensorFlow реализован именно так — и это буквально применение формулы $E(aX) = aE(X)$ в коде фреймворка.
Почему это важно
Приём с индикаторами — универсальная отмычка для задач вида «сколько в среднем объектов обладает свойством». В ML он встречается постоянно:
- Сколько в среднем уникальных объектов попадёт в бутстрэп-выборку размера $n$ из $n$ объектов? Каждый объект не выбран ни разу с вероятностью $(1-\tfrac1n)^n \to e^{-1} \approx 0{,}368$, значит ожидаемая доля уникальных $\approx 0{,}632$ — знаменитая константа из метода .632 bootstrap и из out-of-bag оценки в random forest
- Сколько в среднем коллизий в хеш-таблице при $n$ ключах и $m$ ячейках? Сумма индикаторов по всем парам ключей, каждый со средним $\tfrac1m$: ожидаемое число коллизий $= \binom{n}{2}\cdot\frac1m$
- Сколько в среднем документов в корпусе содержат данное слово? Сумма индикаторов вхождения — база для расчёта IDF
- Сколько в среднем отрицательных примеров попадёт в батч при заданной доле класса? Сумма индикаторов — база для планирования балансировки
Во всех случаях схема одна: разложить в сумму индикаторов, посчитать одну вероятность, умножить на количество.
Когда математического ожидания не существует
Интуиция
Мы всё время писали в определениях оговорку: «при условии абсолютной сходимости». Пора разобраться, зачем она — потому что это не формальность, а вполне живая ситуация, с которой сталкиваются в финансах, в сетевом трафике, в анализе размеров файлов и в оценке ущерба от инцидентов.
Идея простая. Матожидание — это центр тяжести. Но если масса распределена так, что далеко-далеко на хвосте её всё ещё «достаточно много», линейка становится бесконечно тяжёлой на краю, и точки баланса просто не существует. Формально это выражается в расходимости ряда или интеграла $\sum |x_i| p_i$, $\int |x| p(x)dx$.
Такие распределения называют тяжелохвостыми. У них хвост убывает медленно — как степень $1/x^{\alpha}$, а не как экспонента $e^{-x}$. Экспонента давит любой полином, поэтому у показательного и нормального распределений матожидание всегда есть. Степенной хвост полином не давит, и там всё зависит от показателя.
Разберём два классических случая. Они выглядят как математические курьёзы, но оба — про реальные вещи.
Случай первый: распределение Коши
Определение: Стандартное распределение Коши задаётся плотностью
$$p(x) = \frac{1}{\pi(1+x^2)}, \qquad x \in \mathbb{R}.$$У этого распределения математического ожидания не существует.
Пример 15 (сложный): почему у Коши нет матожидания
Покажем это аккуратно.
Шаг 1. Сначала убедимся, что это действительно плотность:
$$\int_{-\infty}^{+\infty}\frac{dx}{\pi(1+x^2)} = \frac{1}{\pi}\left.\arctan x\right|_{-\infty}^{+\infty} = \frac{1}{\pi}\left(\frac{\pi}{2} - \left(-\frac{\pi}{2}\right)\right) = \frac{1}{\pi}\cdot\pi = 1 \ \checkmark$$Всё в порядке: плотность нормирована, распределение существует, оно симметрично относительно нуля, у него есть красивый колоколообразный график.
Шаг 2. Теперь проверим абсолютную сходимость. Считаем $\int |x| p(x)\,dx$. Из симметрии подынтегральной функции удвоим интеграл по положительной полуоси:
$$\int_{-\infty}^{+\infty}\frac{|x|\,dx}{\pi(1+x^2)} = \frac{2}{\pi}\int_0^{+\infty}\frac{x\,dx}{1+x^2}$$Шаг 3. Подстановка $u = 1 + x^2$, $du = 2x\,dx$:
$$\frac{2}{\pi}\int \frac{x\,dx}{1+x^2} = \frac{1}{\pi}\ln(1+x^2)$$Шаг 4. Подставляем пределы: при $x \to +\infty$ выражение $\ln(1+x^2) \to +\infty$. Интеграл расходится.
Шаг 5. Значит, условие абсолютной сходимости нарушено, и $E(X)$ не существует.
Ответ: у распределения Коши математического ожидания нет: $\int |x|p(x)dx = \infty$.
📌 И вот тонкий момент, ради которого стоит на этом задержаться. Кажется, что «по симметрии должно быть 0» — ведь плотность симметрична! Но симметрия даёт только то, что «положительная бесконечность» и «отрицательная бесконечность» уравновешивают друг друга, а $\infty - \infty$ не определено. Формально: если считать $\lim_{T\to\infty}\int_{-T}^{T} x p(x)dx$, получится 0 (главное значение по Коши), но стоит взять несимметричные пределы $\int_{-T}^{2T}$ — и предел будет другим. Ответ зависит от способа подсчёта, а значит, числа «$E(X)$» просто нет. Именно от этого нас страхует требование абсолютной сходимости.
Практический смысл: у Коши выборочное среднее не сходится ни к чему. Возьми 10 наблюдений, посчитай среднее; возьми 10 000 — среднее будет прыгать так же дико. Закон больших чисел (урок 242) для Коши не работает, потому что его условие — существование матожидания — не выполнено. Это отличная проверка на понимание: закон больших чисел не «закон природы», у него есть предпосылка.
Где Коши встречается по-настоящему? Отношение двух независимых нормальных величин с нулевым средним имеет ровно распределение Коши. То есть любое место, где ты делишь одну шумную центрированную величину на другую (отношение сигналов, нормировка на шумный знаменатель, отношение градиентов), — потенциальный источник тяжёлого хвоста. Отсюда практическое правило: средним по отношениям пользоваться опасно, надёжнее медиана или отношение средних.
Случай второй: петербургский парадокс
Пример 16 (сложный): игра, за которую не стоит платить бесконечность
Правила: подбрасываем честную монету до первого орла. Если орёл выпал на $k$-м броске, ты получаешь $2^k$ рублей. Сколько справедливо заплатить за право сыграть?
Решение:
Шаг 1. Найдём распределение выигрыша $X$. Орёл впервые на $k$-м броске — это $k-1$ решка и орёл:
$$P(X = 2^k) = \frac{1}{2^k}, \qquad k = 1, 2, 3, \dots$$Проверка: $\sum_k 2^{-k} = 1$ ✅
Шаг 2. Считаем матожидание:
$$E(X) = \sum_{k=1}^{\infty} 2^k \cdot \frac{1}{2^k} = \sum_{k=1}^{\infty} 1 = 1 + 1 + 1 + \dots$$Шаг 3. Каждое слагаемое равно ровно единице. Ряд расходится: $E(X) = +\infty$.
Ответ: матожидание выигрыша бесконечно; «справедливая цена» по критерию матожидания не существует ни для какой конечной суммы.
Шаг 4. А теперь здравый смысл. Заплатишь ли ты за эту игру миллион рублей? Разумеется, нет. С вероятностью $\tfrac12$ ты получишь 2 рубля, с вероятностью $\tfrac34$ — не больше 4 рублей, с вероятностью $\approx 0{,}999$ — не больше 1024 рублей. Медиана выигрыша равна 2 рублям! Матожидание бесконечно только за счёт исчезающе редких, но чудовищно больших выигрышей.
Шаг 5. Посмотрим, что чинит парадокс на практике — конечность банка. Пусть казино не может выплатить больше $2^{20} = 1\,048\,576$ рублей, то есть реальный выигрыш равен $\min(2^k,\ 2^{20})$. Тогда
$$E(X) = \sum_{k=1}^{20} 2^k \cdot \frac{1}{2^k} + \sum_{k=21}^{\infty} 2^{20}\cdot\frac{1}{2^k} = 20 + 2^{20}\cdot \sum_{k=21}^{\infty}\frac{1}{2^k}$$Шаг 6. Считаем хвост: $\sum_{k=21}^{\infty} 2^{-k} = 2^{-20}$ (это сумма геометрической прогрессии: первый член $2^{-21}$, знаменатель $\tfrac12$, сумма $= \frac{2^{-21}}{1/2} = 2^{-20}$). Значит второе слагаемое равно $2^{20}\cdot 2^{-20} = 1$.
$$E(X) = 20 + 1 = 21 \text{ рубль}$$Ответ (с ограничением банка): $E(X) = 21$ ₽. Ограничение выплаты миллионом рублей превращает «бесконечность» в 21 рубль.
📌 Вывод отрезвляющий: бесконечное матожидание оказалось крайне неустойчивым. Его создаёт хвост, который в реальности всегда обрезан — банк конечен, время конечно, вселенная конечна. Матожидание, которое целиком держится на хвосте, — плохой ориентир для решения. Даниил Бернулли в 1738 году предложил чинить это иначе: считать матожидание не денег, а полезности $\log(\text{деньги})$; тогда $E(\log X) = \sum_k k \log 2 \cdot 2^{-k} = 2\log 2$ — конечная величина, и «справедливая цена» получается разумной. Так родилась идея функции полезности, на которой стоит вся современная экономика решений.
Почему это важно
В машинном обучении и анализе данных тяжёлые хвосты встречаются постоянно: размеры файлов, длительность сессий, ущерб от инцидентов, доходы, число подписчиков, длина последовательностей в NLP, время ответа при перегрузке. И регулярно происходит одна и та же беда: считают среднее, оно скачет от выборки к выборке, и вместо того чтобы заподозрить тяжёлый хвост, начинают «набирать больше данных». Больше данных не помогает — если хвост достаточно тяжёлый, среднее не стабилизируется никогда.
Практический чек-лист:
- Если среднее сильно меняется при добавлении данных и сильно отличается от медианы — заподозри тяжёлый хвост
- Смотри на распределение в логарифмической шкале: степенной хвост становится прямой линией
- Для метрик используй квантили (p50, p95, p99), а не среднее — квантили существуют всегда, даже у Коши
- В обучении подрезай градиенты (gradient clipping) и лоссы (Huber вместо MSE) — это буквально «обрезание банка» из петербургского парадокса, превращающее неустойчивое среднее в устойчивое
И заметь связь: Huber loss ведёт себя как квадрат вблизи нуля и как модуль вдали. Модуль растёт медленнее, значит тяжёлый хвост ошибок не разносит матожидание в клочья. Это ровно тот же приём, что и ограничение выплаты казино — только применённый к функции потерь.
ML-контекст: матожидание как каркас машинного обучения
Пройдёмся по местам, где матожидание в ML работает не как украшение формулы, а как несущая конструкция.
Функция потерь — это матожидание
Формальная постановка задачи обучения с учителем звучит так: есть неизвестное распределение $\mathcal{D}$ на парах (объект, ответ). Есть семейство моделей $f_\theta$. Есть функция потерь $\ell$. Нужно найти
$$\theta^* = \arg\min_\theta\ R(\theta), \qquad R(\theta) = \mathbb{E}_{(x,y)\sim\mathcal{D}}\big[\ell(f_\theta(x), y)\big]$$Величина $R(\theta)$ называется риском — это ожидаемая потеря на «всех данных мира». Её невозможно посчитать: $\mathcal{D}$ неизвестно. Поэтому берут выборку $\{(x_i, y_i)\}_{i=1}^n$ и минимизируют эмпирический риск:
$$\hat R(\theta) = \frac{1}{n}\sum_{i=1}^{n}\ell(f_\theta(x_i), y_i)$$Вся конструкция держится на том, что $\hat R$ — оценка $R$. Отсюда сразу становятся понятны вещи, которые иначе выглядят как разрозненные эмпирические правила:
- Почему нужна валидация. $\hat R$ на обучающей выборке — смещённая оценка $R$, потому что мы под эту выборку подбирали $\theta$. Нужна независимая выборка, на которой оценка честная
- Почему сдвиг распределения (distribution shift) убивает модель. Мы минимизировали матожидание по $\mathcal{D}_{\text{train}}$, а работать модель будет по $\mathcal{D}_{\text{prod}}$. Это разные матожидания одной и той же функции потерь
- Почему важен способ сэмплирования данных. Если редкий класс в обучении встречается чаще, чем в проде, ты оптимизируешь матожидание по «неправильной» мере. Отсюда вся техника перевзвешивания: домножить потери на веса, чтобы вернуть матожидание к целевому распределению
Ожидаемая награда в RL и зачем дисконтирование
В reinforcement learning агент получает награды $r_0, r_1, r_2, \dots$ на каждом шаге. Цель — максимизировать не сумму наград (она может быть бесконечной), а ожидаемую дисконтированную сумму:
$$G = \sum_{t=0}^{\infty}\gamma^t r_t, \qquad V(s) = \mathbb{E}\big[G \mid s_0 = s\big]$$где $\gamma \in [0; 1)$ — коэффициент дисконтирования (обычно 0,9–0,999).
Зачем нужна $\gamma$? Матожидание — это ответ. Применим линейность (она работает и для бесконечных сумм при абсолютной сходимости):
$$V(s) = \mathbb{E}\left[\sum_{t=0}^{\infty}\gamma^t r_t\right] = \sum_{t=0}^{\infty}\gamma^t\, \mathbb{E}[r_t]$$Пусть награды ограничены: $|r_t| \leq R_{\max}$ для всех $t$. Тогда $|\mathbb{E}[r_t]| \leq R_{\max}$, и
$$\left|V(s)\right| \leq \sum_{t=0}^{\infty}\gamma^t R_{\max} = \frac{R_{\max}}{1-\gamma}$$Мы получили конечную оценку — геометрическая прогрессия со знаменателем $\gamma < 1$ сходится. Без дисконтирования ($\gamma = 1$) в бесконечной задаче ряд $\sum \mathbb{E}[r_t]$ расходится, если награды не стремятся к нулю: агент, получающий по 1 очку за шаг вечно, имеет «ценность» $+\infty$, и сравнить две такие стратегии невозможно — обе бесконечны. Дисконтирование делает матожидание конечным и, значит, стратегии сравнимыми.
📌 Полезная численная интуиция: $\frac{1}{1-\gamma}$ — это «эффективный горизонт планирования». При $\gamma = 0{,}9$ агент фактически смотрит вперёд примерно на 10 шагов, при $\gamma = 0{,}99$ — примерно на 100, при $\gamma = 0{,}999$ — на 1000. Выбирая $\gamma$, ты выбираешь не абстрактный гиперпараметр, а горизонт, на котором агент вообще замечает последствия.
Ожидаемая стоимость ошибки: FP и FN стоят разного
Пример 17 (сложный): выбор порога классификатора по ожидаемой стоимости
Модель ищет мошеннические транзакции. Доля мошеннических операций в потоке — $2\%$. Ложное срабатывание (FP: заблокировали честного клиента) стоит компании 200 ₽ поддержки и раздражения. Пропуск мошенничества (FN) стоит 5000 ₽ прямых потерь.
Есть два кандидата на рабочий порог:
- Порог A: полнота (TPR) $= 0{,}90$, доля ложных срабатываний (FPR) $= 0{,}05$
- Порог B: полнота (TPR) $= 0{,}98$, доля ложных срабатываний (FPR) $= 0{,}20$
Какой порог выбрать?
Решение:
Шаг 1. Введём случайную величину $C$ — стоимость обработки одной случайной транзакции. Она принимает значения 0 (всё правильно), 200 (FP) и 5000 (FN). Нам нужно $E(C)$ для каждого порога.
Шаг 2. Разложим по формуле полной вероятности. Транзакция мошенническая с вероятностью $0{,}02$, честная — с вероятностью $0{,}98$.
Ошибка типа FN случается, если транзакция мошенническая и модель её не поймала: $P(\text{FN}) = 0{,}02 \cdot (1 - \text{TPR})$.
Ошибка типа FP случается, если транзакция честная и модель сработала: $P(\text{FP}) = 0{,}98 \cdot \text{FPR}$.
Шаг 3. Считаем для порога A:
$$P(\text{FN}) = 0{,}02 \cdot 0{,}10 = 0{,}002, \qquad P(\text{FP}) = 0{,}98\cdot 0{,}05 = 0{,}049$$$$E(C_A) = 5000 \cdot 0{,}002 + 200 \cdot 0{,}049 = 10 + 9{,}8 = 19{,}8 \text{ ₽}$$Шаг 4. Считаем для порога B:
$$P(\text{FN}) = 0{,}02\cdot 0{,}02 = 0{,}0004, \qquad P(\text{FP}) = 0{,}98\cdot 0{,}20 = 0{,}196$$$$E(C_B) = 5000\cdot 0{,}0004 + 200\cdot 0{,}196 = 2 + 39{,}2 = 41{,}2 \text{ ₽}$$Шаг 5. Сравниваем: $19{,}8 < 41{,}2$. Порог A дешевле более чем вдвое, хотя ловит мошенников хуже.
Ответ: порог A, ожидаемая стоимость $19{,}8$ ₽ против $41{,}2$ ₽ у порога B.
📌 Смотри, что здесь произошло. Порог B «лучше» по полноте — ловит 98% мошенников против 90%. Метрика recall однозначно за B. Но честных транзакций в 49 раз больше, чем мошеннических, и рост FPR с 5% до 20% генерирует лавину ложных блокировок. В деньгах побеждает A.
Это главная причина, по которой ROC-AUC и F1 не должны быть последним словом при выборе рабочей точки. Метрика без цен — это неполная постановка задачи. Как только у тебя есть матрица стоимостей, оптимальный порог считается через матожидание, и часто он оказывается совсем не там, где его ставит дефолтное «0,5».
📌 Общий вид формулы для двух классов с ценами $c_{FP}$ и $c_{FN}$ и априорной вероятностью положительного класса $\pi$:
$$E(C) = c_{FN}\cdot \pi \cdot (1 - \text{TPR}) + c_{FP}\cdot(1-\pi)\cdot\text{FPR}$$Минимизируя это выражение по порогу, получаешь байесовское оптимальное решающее правило: относить объект к положительному классу, когда $P(y=1\mid x) > \dfrac{c_{FP}}{c_{FP}+c_{FN}}$. При равных ценах это даёт классический порог $0{,}5$; при $c_{FN} = 25 c_{FP}$ — порог $\approx 0{,}038$.
Практика: 30 заданий
Базовые (задания 1-10)
Задание 1: Случайная величина $X$ задана таблицей распределения: значения $1,\ 2,\ 5,\ 10$ с вероятностями $0{,}4;\ 0{,}3;\ 0{,}2;\ 0{,}1$. Найди $E(X)$.
Задание 2: Величина $X$ принимает значения $-1,\ 0,\ 4$ с вероятностями $0{,}2$, $p$ и $0{,}3$ соответственно. Найди $p$ и $E(X)$.
Задание 3: Событие $A$ происходит с вероятностью $0{,}35$. Пусть $I_A$ — его индикатор. Найди $E(I_A)$. Затем найди ожидаемое число наступлений $A$ в $20$ независимых повторениях опыта.
Задание 4: Известно, что $E(X) = 4$ и $E(Y) = -2$. Найди $E(3X - 2Y + 7)$ и $E(X+Y)$. Нужна ли для этого независимость $X$ и $Y$?
Задание 5: Величина $X$ равномерно распределена на отрезке $[2; 8]$. Найди $E(X)$ и $E(3X + 1)$.
Задание 6: Плотность величины $X$ равна $p(x) = 3x^2$ при $x\in[0;1]$ и нулю вне отрезка. Найди $E(X)$.
Задание 7: Время между обращениями к API распределено показательно с интенсивностью $\lambda = 0{,}25$ обращения в минуту. Найди среднее время между обращениями и $E(2X+3)$.
Задание 8: Бросают две правильные игральные кости. Найди математическое ожидание суммы выпавших очков.
Задание 9: Страховая компания продаёт полис за $6000$ ₽. Страховой случай происходит с вероятностью $0{,}03$, выплата составляет $150\,000$ ₽. Найди ожидаемую прибыль компании с одного полиса.
Задание 10: Величина $X$ принимает значение $1$ с вероятностью $0{,}7$ и значение $0$ с вероятностью $0{,}3$. Найди $E(X)$, $E(X^2)$ и $\left(E(X)\right)^2$. Что здесь интересного?
Средние (задания 11-20)
Задание 11: Сервис обрабатывает $50$ запросов, каждый завершается ошибкой с вероятностью $0{,}06$ независимо от остальных. Найди ожидаемое число ошибок. Сколько компания в среднем потеряет, если каждая ошибка обходится в $40$ ₽?
Задание 12: Ты подбираешь гиперпараметры случайным поиском. Каждая случайная конфигурация оказывается удачной с вероятностью $0{,}05$ независимо от других. Сколько в среднем конфигураций придётся перебрать до первой удачной (включая её)? Сколько это времени, если одна конфигурация обучается $12$ минут?
Задание 13: Величина $X$ принимает значения $-1,\ 1,\ 2$ с вероятностями $0{,}5;\ 0{,}3;\ 0{,}2$. Найди $E(X)$, $E(X^2)$ и $E(3X^2 - 2X + 1)$.
Задание 14: Плотность величины $X$ равна $p(x) = \dfrac38 x^2$ на отрезке $[0;2]$ и нулю вне его. Найди $E(X)$ и $E(X^2)$. Сравни $E(X^2)$ с $\left(E(X)\right)^2$.
Задание 15: $10$ задач случайно и независимо распределяются между $4$ воркерами (каждая задача равновероятно попадает к любому из них). Найди ожидаемое число воркеров, которым не досталось ни одной задачи.
Задание 16: Величина $X$ имеет плотность $p(x) = \dfrac{1}{x^2}$ при $x\ge 1$ и $p(x) = 0$ при $x < 1$. Существует ли $E(X)$?
Задание 17: Запрос к внешнему сервису падает с вероятностью $0{,}1$ независимо от предыдущих попыток. Клиент делает не более трёх попыток и останавливается при первом успехе. Пусть $X$ — число сделанных попыток. Найди $E(X)$.
Задание 18: Бутстрэп-выборка строится так: из датасета в $1000$ объектов $1000$ раз выбирается случайный объект с возвращением. Найди ожидаемое число различных объектов, попавших в выборку.
Задание 19: В датасете $20$ объектов, из них $6$ принадлежат положительному классу. Формируется батч из $5$ объектов случайной выборкой без возвращения. Найди ожидаемое число объектов положительного класса в батче.
Задание 20: Яркость пикселя $X$ измеряется числом из отрезка $[0;1]$, и в датасете $E(X) = 0{,}45$. Перед подачей в сеть применяется нормализация $Z = \dfrac{X - 0{,}5}{0{,}5}$. Найди $E(Z)$. Какую константу $c$ надо вычитать вместо $0{,}5$, чтобы среднее нормализованного признака было ровно нулём?
Продвинутые (задания 21-30)
Задание 21: Датасет состоит из пяти объектов, потери на которых равны $\ell = (2,\ 4,\ 5,\ 9,\ 10)$. На каждом шаге SGD случайно выбирается батч из двух разных объектов (все $C_5^2 = 10$ пар равновероятны), и делается шаг по среднему батча. Покажи, что среднее по батчу — несмещённая оценка полной функции потерь, и подтверди это прямым перебором.
Задание 22: Модель предсказывает вероятность дефолта по кредиту. Ложное срабатывание (отказали хорошему клиенту) стоит банку $100$ ₽ упущенной маржи, пропуск (выдали кредит дефолтнику) — $900$ ₽ потерь. Найди порог вероятности, начиная с которого выгодно отказывать. Как поступить с заявкой, для которой модель выдала $p = 0{,}12$?
Задание 23: Нейрон получает $100$ входов, каждый вносит вклад $w_k x_k = 0{,}5$. Применяется dropout с вероятностью отключения $p = 0{,}3$. Найди ожидаемое значение суммы на входе нейрона при обучении. Что произойдёт на инференсе, когда dropout выключен? Как это чинит inverted dropout?
Задание 24: В задаче обучения с подкреплением агент на каждом шаге получает награду со средним $E(r_t) = 2$. Коэффициент дисконтирования $\gamma = 0{,}95$. Найди ожидаемую дисконтированную награду на бесконечном горизонте и на горизонте в $30$ шагов. Какой $\gamma$ нужен, чтобы бесконечная ценность не превышала $100$?
Задание 25: Ансамбль из двух моделей предсказывает вероятность положительного класса: первая выдаёт $0{,}2$, вторая $0{,}8$. Истинная метка $y = 1$, качество измеряется логлоссом $\ell = -\ln \hat p$. Сравни две стратегии: усреднить логлоссы двух моделей или посчитать логлосс усреднённого предсказания. Какая величина меньше и почему это общее правило?
Задание 26: Хеширующий трюк (hashing trick) отображает $1000$ различных признаков в $m$ ячеек равномерно и независимо. Найди ожидаемое число пар признаков, попавших в одну ячейку (коллизий), при $m = 10^6$ и при $m = 1000$.
Задание 27: Размеры файлов в хранилище описываются распределением Парето с плотностью $p(x) = \dfrac{\alpha}{x^{\alpha+1}}$ при $x\ge 1$ (в гигабайтах). Найди $E(X)$ как функцию $\alpha$. Существует ли среднее при $\alpha = 1{,}5$? При $\alpha = 0{,}8$?
Задание 28: Инференс модели идёт через кэш: при попадании ответ отдаётся за $2$ мс, при промахе считается сеть — $120$ мс. Доля попаданий $0{,}85$. Найди ожидаемое время ответа. Какой должна быть доля попаданий, чтобы среднее время не превышало $10$ мс?
Задание 29: Величина $X$ равномерно распределена на $[1;5]$. Найди $E(X)$, $E(\ln X)$ и $E\!\left(\frac1X\right)$. Сравни каждый результат с $\ln E(X)$ и $\frac{1}{E(X)}$ и объясни направление неравенств.
Задание 30: В проде положительный класс встречается с вероятностью $0{,}02$. Потеря на объекте положительного класса равна $10$, на отрицательном — $1$. Чтобы модель «видела» редкий класс, обучающие батчи собирают с балансировкой $50/50$. Найди истинный ожидаемый риск, риск, который посчитает наивная балансированная выборка, и покажи, как перевзвешивание возвращает несмещённость.
Частые ошибки
❌ Ошибка 1: заносить матожидание внутрь нелинейной функции
Неправильно: «Средний размер батча $32$, средняя потеря квадратичная, значит $E(X^2) = (E(X))^2$» — или в более живом виде: «средняя точность модели $0{,}9$, значит средняя точность на двух независимых объектах подряд — тоже про $0{,}9$».
Правильно: $E(g(X)) = g(E(X))$ выполняется только для линейных $g$, то есть $g(x) = ax+b$. Для всех остальных функций это неверно, и направление ошибки предсказуемо: для выпуклых $g$ (квадрат, экспонента, логлосс) $E(g(X))\ge g(E(X))$, для вогнутых (логарифм, корень) — наоборот. Пример из урока: у кубика $E(X) = 3{,}5$, $(E(X))^2 = 12{,}25$, а $E(X^2) = 91/6 \approx 15{,}17$.
Почему важно: это самая тихая ошибка во всей теме — формула даёт правдоподобное число, и никакой сигнал тревоги не срабатывает. В проде она проявляется как «усреднили логарифмы цен, взяли экспоненту, получили среднее геометрическое и назвали средней ценой» или как расхождение между усреднением логитов и усреднением вероятностей в ансамбле.
❌ Ошибка 2: применять $E(XY) = E(X)E(Y)$ без независимости
Неправильно: «Ожидаемая выручка равна ожидаемому числу заказов, умноженному на ожидаемый средний чек».
Правильно: это верно, только если число заказов и чек независимы. Обычно они зависимы — в дни распродаж заказов больше, а чек меньше. Тогда $E(XY) = E(X)E(Y) + \operatorname{cov}(X,Y)$, и ковариация в этом примере отрицательна, то есть наивная формула завышает выручку.
Почему важно: для суммы линейность работает при любой зависимости, для произведения — нет. Проверка на кубике: $X$ — очки, $Y = X$; тогда $E(X)E(Y) = 12{,}25$, а $E(XY) = E(X^2)\approx 15{,}17$. Разница почти три единицы там, где «формула выглядела очевидной».
❌ Ошибка 3: усреднять значения, забыв про вероятности
Неправильно: «Доход от показа бывает $0$, $5$ или $300$ рублей, значит в среднем $(0+5+300)/3 \approx 101{,}7$ ₽».
Правильно: среднее арифметическое значений — это матожидание только в одном частном случае: когда все исходы равновероятны. В общем случае каждое значение входит со своим весом: $0\cdot 0{,}97 + 5\cdot 0{,}02 + 300\cdot 0{,}01 = 3{,}1$ ₽.
Почему важно: ошибка в $33$ раза. Она возникает всякий раз, когда данные приходят в виде «списка возможных исходов» без частот — например, из документации API или из таблицы тарифов. Правило простое: увидел список значений — сразу спроси, с какими вероятностями.
❌ Ошибка 4: считать $\int p(x)\,dx$ вместо $\int x\,p(x)\,dx$
Неправильно: «$E(X) = \int_0^1 2x\,dx = 1$» для плотности $p(x) = 2x$ на $[0;1]$.
Правильно: здесь посчитана нормировка, а не матожидание. Матожидание требует множителя $x$: $E(X) = \int_0^1 x\cdot 2x\,dx = \dfrac23$.
Почему важно: у этой ошибки есть встроенный детектор — если ответ получился равным единице, ты почти наверняка посчитал нормировку. И полезная привычка: сначала проверь $\int p = 1$ (это ловит некорректно заданную плотность), потом отдельной строкой считай $\int x\,p$. Две разные строки — две разные проверки.
❌ Ошибка 5: путать матожидание с самым вероятным или типичным значением
Неправильно: «Матожидание числа детей в семье $1{,}7$ — значит, ошибка, детей столько не бывает». Или: «$E(X) = 3$, значит чаще всего выпадает тройка».
Правильно: матожидание — это центр тяжести, а не значение из выборки и не мода. Оно может не совпадать ни с одним возможным значением ($3{,}5$ у кубика), может отличаться от самого вероятного значения (задание 2: мода $0$, матожидание $1$) и может быть далеко от медианы (петербургская игра: медиана $2$ рубля, матожидание бесконечно).
Почему важно: на этой путанице строятся неверные решения. «Средний пользователь тратит $40$ минут» ничего не говорит о том, сколько тратит типичный пользователь, если у распределения тяжёлый хвост. Для описания «типичного» бери медиану, для сложения и планирования суммарных величин — матожидание. Складываются только матожидания: медиана суммы не равна сумме медиан.
❌ Ошибка 6: считать среднее там, где его нет
Неправильно: «Среднее время сессии скачет от выборки к выборке, надо набрать больше данных, тогда стабилизируется».
Правильно: если распределение тяжелохвостое (степенной хвост с $\alpha\le 1$), матожидание не существует, и выборочное среднее не стабилизируется никогда — оно просто растёт с объёмом выборки. Закон больших чисел здесь неприменим, потому что его предпосылка — существование $E(X)$ — не выполнена.
Почему важно: это диагностическая ошибка: человек лечит симптом (шумность) неправильным лекарством (больше данных). Признаки тяжёлого хвоста: среднее сильно больше медианы; среднее заметно меняется при добавлении данных; на логарифмической шкале хвост распределения ложится на прямую. Лечение — квантили вместо среднего, усечённое среднее, Huber loss вместо MSE, gradient clipping.
❌ Ошибка 7: считать, что $E(1/X) = 1/E(X)$
Неправильно: «Средняя латентность $50$ мс, значит средняя пропускная способность — $20$ запросов в секунду».
Правильно: $1/x$ — выпуклая функция на положительной полуоси, поэтому $E(1/X) \ge 1/E(X)$, и равенство достигается только для константы. В задании 29 мы получили $E(1/X)\approx 0{,}4024$ против $1/E(X)\approx 0{,}3333$ — разница более $20\%$.
Почему важно: усреднение обратных величин требует среднего гармонического, а не арифметического. Эта ошибка живёт во всех отчётах, где смешивают «время на операцию» и «операций в секунду», и почти всегда даёт систематическое занижение производительности. То же касается F1-меры: она специально определена как гармоническое среднее precision и recall, потому что арифметическое здесь дало бы неверную агрегацию.
Главное запомнить
📝 Ключевые понятия
✅ Математическое ожидание (дискретный случай): средневзвешенное значений по их вероятностям, $E(X) = \sum_i x_i p_i$. Существует, если ряд сходится абсолютно.
✅ Математическое ожидание (непрерывный случай): та же операция с заменой суммы на интеграл, $E(X) = \int_{-\infty}^{+\infty} x\,p(x)\,dx$. Проверяй нормировку $\int p = 1$ до всех вычислений.
✅ Центр тяжести: $E(X)$ — точка баланса распределения. Она не обязана быть возможным значением, не обязана совпадать с модой и легко утаскивается одним тяжёлым исходом на краю.
✅ Линейность: $E(aX + bY + c) = aE(X) + bE(Y) + c$ — всегда, для любых зависимых величин. Это главный рабочий инструмент темы; именно он делает градиент батча несмещённой оценкой полного градиента.
✅ Произведение: $E(XY) = E(X)E(Y)$ только при независимости. В общем случае $E(XY) = E(X)E(Y) + \operatorname{cov}(X,Y)$.
✅ LOTUS: $E(g(X)) = \sum_i g(x_i)p_i$ или $\int g(x)p(x)\,dx$ — распределение $g(X)$ искать не нужно, старые веса и новые значения.
✅ Нелинейность не коммутирует: $E(g(X)) \neq g(E(X))$. Для выпуклых $g$ — знак $\ge$, для вогнутых — $\le$ (неравенство Йенсена). Отсюда выигрыш ансамблей и разница между средним арифметическим и геометрическим.
✅ Индикаторы: $E(I_A) = P(A)$. Схема из трёх шагов — разложить величину в сумму индикаторов, применить линейность, посчитать одну вероятность — решает задачи, где распределение искать больно (тузы, совпадения, коллизии, пустые корзины, бутстрэп).
✅ Опорные формулы: равномерное на $[a;b]$ — $\frac{a+b}{2}$; показательное с $\lambda$ — $\frac1\lambda$; геометрическое с $p$ — $\frac1p$; биномиальное $B(n,p)$ — $np$; нормальное $\mathcal N(\mu,\sigma^2)$ — $\mu$.
✅ Матожидания может не быть: распределение Коши, петербургская игра, степенной хвост с $\alpha\le 1$. Признак — расходимость $\sum |x_i|p_i$ или $\int|x|p(x)dx$. Тогда выборочное среднее не сходится ни к чему, и работать надо с квантилями.
✅ ML-каркас: обучение — это минимизация $\mathbb{E}_{(x,y)\sim\mathcal D}[\ell(f(x),y)]$, оцениваемого средним по выборке. Разрыв между этим средним и настоящим матожиданием и есть переобучение.
Связь с другими темами курса
Что нужно было знать до этого урока. Ближайший фундамент — урок 236 (плотность вероятности): именно оттуда взята запись $p(x)\,dx$ как «вероятностной массы кусочка», без которой интеграл $\int x\,p(x)dx$ выглядит произвольным. Урок 234 (случайные величины) дал сам объект, который мы усредняем, а урок 235 (функция распределения) — способ описывать его целиком. Из урока 233 (схема Бернулли) мы забрали биномиальную и геометрическую модели: сегодня их средние $np$ и $1/p$ были выведены в две строки через индикаторы и разложение по первому шагу. Наконец, теоремы сложения и умножения (урок 229) — тот аппарат, которым мы считали вероятности внутри каждой задачи, а условная вероятность (урок 230) понадобилась при разложении «по первому шагу».
Что изучить дальше. Следующий урок 238 (дисперсия и стандартное отклонение) — прямое продолжение: дисперсия определяется как $D(X) = E\big((X - E(X))^2\big)$, то есть матожидание от функции матожидания, и вычисляется рабочей формулой $D(X) = E(X^2) - (E(X))^2$ — обе величины из этой формулы мы сегодня уже считали не раз. Урок 239 обобщит это на моменты произвольного порядка, урок 240 систематизирует основные распределения вместе с их $E$ и $D$. Урок 242 (закон больших чисел) строго докажет то, чем мы пользовались как интуицией: выборочное среднее сходится к матожиданию — и покажет, где эта сходимость ломается (привет, Коши). Урок 241 (ЦПТ) добавит к сходимости скорость и форму отклонений, урок 244 (ковариация и корреляция) превратит разницу $E(XY) - E(X)E(Y)$ в самостоятельный инструмент, а уроки 245-246 построят на матожидании статистические оценки — начиная с того, что «несмещённая оценка» определяется буквально через $E$.
Где это нужно в жизни.
💻 В программировании: оценка среднего числа операций (амортизационный анализ хеш-таблиц, ожидаемая глубина рекурсии в quicksort $\approx 2\ln n$), расчёт коллизий и размера хеш-таблицы, планирование ретраев и таймаутов, оценка ожидаемого времени ответа при кэшировании, ёмкостное планирование по среднему трафику.
🤖 В ML/AI: функция потерь как ожидаемый риск, несмещённость градиента батча, inverted dropout, ожидаемая награда и дисконтирование в RL, importance sampling и перевзвешивание классов, выбор порога классификации по ожидаемой стоимости ошибки, Монте-Карло оценки в вариационном выводе и MC-dropout, out-of-bag оценка в случайном лесе.
📊 В Data Science: unit-экономика (LTV, CAC, ожидаемая маржа на пользователя), A/B-тесты и оценка ожидаемого эффекта, прогнозирование спроса, оценка ожидаемых потерь от инцидентов, выбор между средним и медианой при тяжёлых хвостах, расчёт ожидаемого числа уникальных пользователей и коллизий в дедупликации.
🔬 В науке: статистическая физика (средняя энергия системы — это матожидание по распределению Больцмана), теория информации (энтропия $-\mathbb{E}[\log p]$ и KL-дивергенция — обе определяются как матожидания), теория массового обслуживания (средняя длина очереди, среднее время ожидания), актуарные расчёты и теория надёжности (средняя наработка до отказа $1/\lambda$), теория принятия решений и ожидаемая полезность.
Интересные факты
💡 Распределение Коши открыл не Коши — его исследовал Пуассон ещё в 1824 году, за тридцать лет до того, как имя закрепилось. Название прилипло после публичной полемики 1853 года между Огюстеном Коши и Ирене-Жюлем Бьенеме о методе наименьших квадратов: Бьенеме приводил это распределение как контрпример, показывающий, что среднее не всегда лучше отдельного наблюдения, а Коши разбирал его настолько подробно, что потомки решили — значит, его. Ирония в том, что распределение вошло в историю именно как пример, ломающий привычные рассуждения о средних.
💡 Монте-Карло придумали от скуки в больничной палате. В 1946 году Станислав Улам, восстанавливаясь после болезни, раскладывал пасьянс и задумался, какова вероятность его сложить. Комбинаторный расчёт оказался безнадёжным, и Улам сообразил: проще разложить пасьянс сто раз и посчитать долю удач. Он рассказал идею Джону фон Нейману, и метод немедленно ушёл в расчёты по нейтронной диффузии в Лос-Аламосе. Название придумал Николас Метрополис — в честь казино в Монако, где дядя Улама регулярно занимал деньги. Каждая MC-оценка в современном ML — прямой наследник того пасьянса.
💡 Число $1/e$ управляет и наймом. В задаче о секретаре (она же «задача о разборчивой невесте») кандидатов просматривают по одному и решение принимают немедленно. Оптимальная стратегия: пропустить первые $37\%$ кандидатов, запомнив лучшего, а дальше брать первого, кто окажется лучше него. Порог $1/e \approx 0{,}368$ — и вероятность выбрать самого лучшего тоже равна $1/e$, причём она не падает с ростом числа кандидатов. Та же константа, что и в бутстрэпе, только по совсем другому поводу.
💡 Теория, засекреченная во время войны. Абрахам Вальд в 1943-1944 годах разработал последовательный анализ — метод, где число наблюдений само является случайной величиной, а его ожидание считается по знаменитому тождеству Вальда $E(S_N) = E(N)\,E(X)$. Метод сокращал объём приёмочного контроля боеприпасов вдвое, и результаты были признаны настолько ценными, что публикацию засекретили до конца войны. Сегодня это же тождество работает в последовательных A/B-тестах, где решение принимается «как только накопилось достаточно данных».
💡 За критику матожидания дали Нобелевскую премию. Петербургский парадокс подтолкнул Даниила Бернулли к идее ожидаемой полезности, которую фон Нейман и Моргенштерн в 1944 году превратили в строгую аксиоматику. А в 1979 году Канеман и Тверски показали экспериментально, что реальные люди систематически нарушают и её: одинаковые по матожиданию исходы воспринимаются по-разному в зависимости от того, названы они выигрышем или проигрышем. За эту работу — теорию перспектив — Канеман получил Нобелевскую премию по экономике в 2002 году. Вся линия рассуждений стартовала с формулы $\sum x_i p_i$.
Лайфхаки и полезные трюки
1. Ищи, где спрятана сумма индикаторов
Как только в задаче звучит «сколько в среднем объектов обладают свойством», не пытайся искать распределение — раскладывай в сумму индикаторов и считай одну вероятность. Работает даже когда объекты дико зависимы, потому что линейности независимость не нужна.
Пример: «Сколько в среднем пар пользователей попадёт в один шард при $500$ пользователях и $50$ шардах?» Пар $C_{500}^2 = 124\,750$, каждая пара сталкивается с вероятностью $1/50$, ответ $2495$. Три строки вместо страницы комбинаторики.
2. Проверяй ответ границами и симметрией
Матожидание обязано лежать между минимальным и максимальным возможными значениями — это бесплатный детектор арифметических ошибок. А если плотность (или таблица вероятностей) симметрична относительно точки $c$, ответ обязан быть равен $c$, и считать вообще ничего не нужно.
Пример: для суммы очков двух кубиков распределение симметрично относительно $7$ — значит $E = 7$ без всяких вычислений. А если в расчёте вылезло $E = 13$ при максимуме $12$, ищи ошибку, не перепроверяя смысл.
3. Разложение по первому шагу
Когда процесс «повторяется до наступления события», не суммируй ряд — составь уравнение. Обозначь искомое матожидание $m$, распиши первый шаг и заметь, что после неудачи ты оказался в исходной ситуации, то есть впереди снова $m$.
Пример: сколько в среднем бросков кубика до первой шестёрки? $m = 1 + \frac56 m \Rightarrow m = 6$. Тот же приём даёт ожидаемое число попыток до успешного деплоя, до первого попадания в кэш и до срабатывания флаки-теста.
4. Хвостовая формула для целочисленных величин
Для неотрицательной целочисленной $X$ работает $E(X) = \sum_{k\ge 1} P(X\ge k)$. Часто вероятности «не меньше $k$» считаются в одну строку, а поштучные $P(X=k)$ — в три.
Пример: число попыток при не более чем трёх ретраях с вероятностью отказа $0{,}1$: $E(X) = 1 + 0{,}1 + 0{,}01 = 1{,}11$. Считать распределение не пришлось вовсе.
5. Сначала линейность, потом всё остальное
Прежде чем искать распределение сложного выражения, попробуй разбить его линейностью на куски. Сумма, разность, умножение на константу, сдвиг — всё это раскладывается мгновенно и без всяких предположений о зависимости.
Пример: ожидаемая прибыль $= E(\text{выручка}) - E(\text{затраты})$, даже если выручка и затраты связаны между собой. А вот $E(\text{цена}\times\text{количество})$ так разбивать нельзя — там произведение, и нужна независимость.
6. Считай ожидаемую стоимость, а не вероятность ошибки
Любое решение под неопределённостью — это сравнение двух матожиданий в деньгах или во времени. Метрика без цен ошибок (accuracy, F1, recall) не отвечает на вопрос «что делать», потому что не знает, сколько стоит каждый тип промаха.
Пример: при $c_{FP} = 100$ и $c_{FN} = 900$ оптимальный порог равен $\frac{c_{FP}}{c_{FP}+c_{FN}} = 0{,}1$, а не $0{,}5$. Один пересчёт порога часто даёт больше выигрыша, чем неделя тюнинга архитектуры.
7. Сравни среднее с медианой, прежде чем доверять среднему
Дешёвая проверка на тяжёлый хвост: посчитай медиану и среднее на одних и тех же данных. Если среднее сильно больше — распределение перекошено, и все выводы «в среднем у нас...» надо переписывать через квантили.
Пример: латентность из задания 28: медиана $2$ мс, среднее $19{,}7$ мс. Разница в десять раз — сигнал, что среднее описывает не пользователей, а хвост промахов кэша. Для SLA бери p95/p99, а среднее оставь для расчёта суммарной нагрузки — там оно как раз работает, потому что складываются именно матожидания.
8. В коде оценивай матожидание Монте-Карло, но с контролем устойчивости
Если интеграл не берётся, насэмплируй и усредни. Но обязательно проверь стабильность оценки: посчитай среднее на половине выборки и на всей, сравни; постройте бутстрэп-интервал. Если оценка пляшет, дело не в малом $n$, а в хвосте.
Пример: MC-dropout для оценки неопределённости — это $T$ прогонов сети со случайными масками и усреднение предсказаний. Уже при $T = 20$-$50$ оценка обычно устойчива, а если нет — значит модель по-настоящему не уверена, и это сам по себе полезный сигнал.
Заключение
Мы взяли одну формулу — $\sum x_i p_i$ и её непрерывного близнеца $\int x\,p(x)\,dx$ — и увидели, что из неё вырастает почти вся практическая часть теории вероятностей. Центр тяжести распределения. Линейность, работающая при любой зависимости и делающая законным весь стохастический градиентный спуск. Закон бессознательного статистика, позволяющий считать средние от любых функций, не трогая распределений. Индикаторы, превращающие страшные комбинаторные задачи в умножение двух чисел. И граница, за которой матожидания просто нет — там, где хвост слишком тяжёлый.
Самое ценное, что стоит унести из урока, — это привычка различать три вещи, которые в обычной речи называются одним словом «среднее»: матожидание (теоретический центр тяжести), выборочное среднее (то, что реально посчитано на данных) и типичное значение (медиана). Смешение первых двух — это ровно переобучение. Смешение первого и третьего — это все неверные выводы про «среднего пользователя» и «среднюю зарплату». Инженер, который держит эти три понятия раздельно, читает метрики иначе, чем тот, кто их путает.
И держи в голове главную проверку: $E$ можно свободно проносить через сумму и через умножение на константу — и больше ни через что. Через квадрат, логарифм, деление, сигмоиду — нельзя. Половина ошибок в разделе ловится этим единственным правилом.
💡 Совет: заведи привычку, встречая в статье или в коде значок $\mathbb{E}$, задавать себе три вопроса: по какой случайности идёт усреднение, каким распределением она задана и чем эту величину оценивают на практике. Почти всегда ответ будет «по батчу», «эмпирическим распределением данных» и «средним по батчу» — и в этот момент формула из статьи и цикл в коде окончательно склеиваются в одну картинку. Именно после этого статьи по ML начинают читаться как инженерные тексты, а не как заклинания.
В следующем уроке — дисперсия и стандартное отклонение. Матожидание сказало нам, где находится центр распределения, но ничего не сказало о том, насколько сильно значения от него разбегаются. А это критично: две модели с одинаковой средней ошибкой могут вести себя совершенно по-разному — одна ошибается стабильно на чуть-чуть, другая то попадает идеально, то промахивается катастрофически. Инструментом измерения разброса станет $D(X) = E\big((X-E(X))^2\big)$ — то есть снова матожидание, только от хитрой функции. Всё, что ты сегодня научился считать, там понадобится в первой же строке. 🚀
Понял тему? Закрепи в боте! 🚀
Попрактикуйся на задачах и получи персональные рекомендации от AI
💪 Начать тренировку