Теорема Байеса: вопросы для собеседования (часть 3)
Теорема Байеса — одна из самых популярных тем на собеседовании, потому что проверяет интуицию о вероятности. Классические задачи: болезнь и тест, спам-фильтр, обновление вероятности при новых данных. Интервьюеры ценят умение рассуждать пошагово и не путать P(A|B) с P(B|A).
Вопросы 11–15 из 20
11Событие A редкое: `base rate` (базовая частота событий) 0.1%. Есть два теста с одинаковым `P(B|A)` 90%, но у теста 1 `P(B|not A)` 5%, а у теста 2 `P(B|not A)` 0.5%. После положительного результата какого теста `posterior` (апостериорная вероятность) `P(A|B)` будет выше?
AОдинаково для обоих, ведь `P(B|A)` одинаковый.
BЗависит только от `prior`, поэтому отличий не будет.
CУ теста 2, потому что у него меньше `false positive` (ложноположительный результат) и меньше вклад not A в `P(B)`.
DУ теста 1, потому что он чаще выдаёт B.
Ответ: При низком `base rate` (базовая частота событий) снижение `false positive` (ложноположительный результат) сильно повышает `posterior` (апостериорная вероятность) после положительного результата.
Когда событие редкое, большинство объектов — not A, и именно ошибки на not A формируют много ложных плюсов. Поэтому тест с меньшим `P(B|not A)` даёт более «чистые» положительные результаты. В терминах `Bayes` уменьшается вклад `P(B|not A)P(not A)` в `P(B)`, и `P(A|B)` растёт.
12Про спам-фильтр сказали: `P(flag|spam)` 99%. Менеджер делает вывод, что `P(spam|flag)` тоже 99%. Что нужно уточнить, чтобы корректно перейти от `P(B|A)` к `P(A|B)` по `Bayes`?
AТолько `P(B)`, потому что оно всегда равно 1 − `P(A)`.
BТолько размер обучающей выборки, потому что он определяет `posterior` (апостериорная вероятность).
CТолько `P(B|A)`, потому что этого достаточно для `Bayes`.
DНужны `prior` (априорная вероятность)/`base rate` (базовая частота событий) `P(spam)` и `false positive` (ложноположительный результат) через `P(flag|not spam)` для расчёта `P(flag)`.
Ответ: `P(B|A)` не превращается в `P(A|B)` без `prior` (априорная вероятность) и `false positive` (ложноположительный результат) компоненты в знаменателе `P(B)`.
Менеджер перепутал направление условной вероятности: `P(flag|spam)` описывает, как фильтр ведёт себя на спаме. Для `P(spam|flag)` нужно учитывать, как часто спам встречается (`base rate` (базовая частота событий)) и как часто фильтр ошибается на не-спаме (`false positive` (ложноположительный результат)). Без этих данных оценка `posterior` (апостериорная вероятность) легко становится сильно завышенной.
13Тест на редкую болезнь имеет высокую чувствительность: `P(test+|disease)=99%`, и низкую долю ложноположительных: `P(test+|¬disease)=1%`. Болезнь встречается у 0.1% людей. Почему `P(disease|test+)` может быть заметно ниже 99%?
AПотому что `Bayes` не применим к медицинским тестам.
BИз-за низкого `base rate` (базовая частота событий): даже небольшой `false positive` (ложноположительный результат) на большой группе здоровых даёт много ложных плюсов.
CПотому что `P(disease|test+)` всегда равно `P(test+|disease)` по определению.
DПотому что при редкой болезни `prior` (априорная вероятность) автоматически становится равным нулю.
Ответ: При редком событии низкий `base rate` (базовая частота событий) делает вклад `false positive` (ложноположительный результат) среди положительных результатов заметным.
Даже хороший тест иногда даёт `false positive` (ложноположительный результат) у здоровых. Когда здоровых очень много, число ложных плюсов может превысить число истинных плюсов. Поэтому `posterior` `P(disease|test+)` может оказаться существенно ниже, чем `P(test+|disease)`.
14Почему в задачах `Bayes` люди часто переоценивают `P(A|B)` после положительного теста, когда слышат, что тест точный на 99%?
AПотому что `P(A|B)` всегда равно 99%, если `P(B|A)` равно 99%.
BПотому что игнорируют `base rate` (базовая частота событий) и вклад `false positive` (ложноположительный результат) в `P(B)`, путая `P(B|A)` с `P(A|B)`.
CПотому что `prior` не существует и его нельзя использовать.
DПотому что `P(A|B)` всегда меньше 50% для любых тестов.
Ответ: Типичная ошибка — игнорировать `base rate` (базовая частота событий) и путать `P(B|A)` с `P(A|B)`, не рассчитывая `P(B)` по полной вероятности.
Фраза про точность обычно описывает `P(B|A)` и/или вероятность отрицательного результата при not A, но не отвечает напрямую на вопрос о `posterior`. При редком событии большая часть объектов — not A, и даже небольшой `false positive` (ложноположительный результат) даёт много положительных результатов. Поэтому `P(A|B)` может быть неожиданно низким, пока вы не учтёте `prior` и полный расчёт `P(B)`.
15Пусть A — болезнь, B — положительный тест. Известно: `P(A)` 1%, `P(B|A)` 90%, `P(B|not A)` 5%. Примерно чему равно `P(A|B)`?
AОколо 1%
BОколо 5%
CОколо 15%
DОколо 90%
Ответ: Чтобы найти `P(A|B)`, применяют `Bayes` и считают `P(B)` через полную вероятность.
Сначала считаем `P(B)=P(B|A)P(A)+P(B|not A)P(not A)`. Затем `P(A|B)=P(B|A)P(A)/P(B)`. В числах это примерно `0.009/0.0585 ≈ 0.154`, то есть около 15%.
Хотите тренировать интерактивно?
В приложении — таймер, прогресс, стрики и 1700+ вопросов по всем темам.
Тренировать в TelegramДругие темы: Теория вероятностей