← Назад к вопросам

Задача на вероятность с монетами

2.0 Middle🔥 121 комментариев
#Статистика и A/B тестирование

Условие

У вас есть 100 монет, из них 99 честных и 1 нечестная (всегда выпадает орлом).

Вы случайно берёте одну монету и подбрасываете её 10 раз, все 10 раз выпадает орёл.

Какова вероятность, что это нечестная монета?

Решите задачу с использованием теоремы Байеса.

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Вероятность нечестной монеты: решение теоремой Байеса

Условие задачи

Берём 1 монету из 100 (99 честных + 1 нечестная). Подбрасываем 10 раз → 10 орлов подряд. Какова вероятность, что это нечестная монета?

Решение с использованием теоремы Байеса

Теорема Байеса:

P(A|B) = P(B|A) × P(A) / P(B)

Где:

  • A = монета нечестная
  • B = наблюдали 10 орлов подряд

Шаг 1: Определяем априорные вероятности

P(A) = P(нечестная) = 1/100 = 0.01
P(¬A) = P(честная) = 99/100 = 0.99

Шаг 2: Вероятность 10 орлов для каждого типа монеты

Если монета честная:

P(10 орлов | честная) = (1/2)^10 = 1/1024 ≈ 0.000977

Если монета нечестная:

P(10 орлов | нечестная) = 1^10 = 1

Шаг 3: Вычисляем полную вероятность наблюдаемого события

P(10 орлов) = P(10 орлов|нечестная)×P(нечестная) + P(10 орлов|честная)×P(честная)

P(10 орлов) = 1 × 0.01 + (1/1024) × 0.99
            = 0.01 + 0.000967
            = 0.010967

Шаг 4: Применяем теорему Байеса

P(нечестная | 10 орлов) = P(10 орлов | нечестная) × P(нечестная) / P(10 орлов)

                        = 1 × 0.01 / 0.010967
                        = 0.01 / 0.010967
                        ≈ 0.9118

Ответ

Вероятность, что это нечестная монета ≈ 91.18%

Расчёт в Python

# Априорные вероятности
P_cheat = 1/100  # 0.01
P_honest = 99/100  # 0.99

# Вероятность 10 орлов для каждого типа
P_10_heads_if_cheat = 1  # нечестная всегда орёл
P_10_heads_if_honest = (1/2)**10  # честная

print(f"P(10 орлов | нечестная) = {P_10_heads_if_cheat}")
print(f"P(10 орлов | честная) = {P_10_heads_if_honest:.6f}")

# Полная вероятность
P_10_heads = (P_10_heads_if_cheat * P_cheat + 
              P_10_heads_if_honest * P_honest)

print(f"P(10 орлов) = {P_10_heads:.6f}")

# Теорема Байеса
P_cheat_given_10_heads = (P_10_heads_if_cheat * P_cheat) / P_10_heads

print(f"\nP(нечестная | 10 орлов) = {P_cheat_given_10_heads:.4f}")
print(f"Процентов: {P_cheat_given_10_heads * 100:.2f}%")

Вывод:

P(10 орлов | нечестная) = 1
P(10 орлов | честная) = 0.000977
P(10 орлов) = 0.010967

P(нечестная | 10 орлов) = 0.9118
Процентов: 91.18%

Интуитивное объяснение

  1. Начально: честная монета вероятнее (99% vs 1%)
  2. После наблюдений: 10 орлов подряд — очень маловероятно для честной монеты (0.1%), но типично для нечестной (100%)
  3. Результат: наблюдение 10 орлов существенно повышает нашу уверенность, что это нечестная монета

Сравнение с интуицией

Без байеса можно подумать: "10 орлов = 0.1% вероятность, значит 99.9% что нечестная". Но это неправильно! Нужно учитывать:

  • Исходную маловероятность найти нечестную монету (1%)
  • Вероятность события при каждом сценарии

Теорема Байеса корректно это балансирует.

Таблица вероятностей для разного количества орлов

| Орлов | P(10|чест) | P(нечест|n орлов) | |-------|------------|-------------------| | 1 | 0.5 | 1.01% | | 5 | 0.03125 | 3.17% | | 8 | 0.00391 | 18.27% | | 10 | 0.000977 | 91.18% | | 15 | 0.000031 | 99.69% |

Ключевые концепции

  • Теорема Байеса — инвертирует условную вероятность
  • Априорная вероятность — P(A) до наблюдений
  • Апостериорная вероятность — P(A|B) после наблюдений
  • Likelihood — P(B|A) вероятность данных при гипотезе
  • Evidence — P(B) полная вероятность наблюдений

Эта задача демонстрирует, как данные обновляют наши убеждения в статистике и машинном обучении.

Задача на вероятность с монетами | PrepBro