Prawdopodobieństwo i twierdzenie Bayesa
Prawdopodobieństwo łączne i warunkowe, niezależność oraz twierdzenie Bayesa na rzeczywistych przykładach AI.
Prawdopodobieństwo i twierdzenie Bayesa to bezpłatna lekcja Learn AI with Python na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python zawiera 4 lekcji w sumie.
Podstawy prawdopodobieństwa
Prawdopodobieństwo to liczba od 0 do 1 mierząca, jak możliwe jest wystąpienie zdarzenia. Prawdopodobieństwo warunkowe P(A|B) to szansa wystąpienia A przy założeniu, że zaszło B.
Prawdopodobieństwo warunkowe
P(A|B) = P(A and B) / P(B). Warunkowanie zawęża przestrzeń prób do przypadków, w których B jest prawdziwe.
p_a_and_b = 0.12
p_b = 0.30
print(p_a_and_b / p_b) # P(A | B) = 0.4Twierdzenie Bayesa
Twierdzenie Bayesa odwraca warunkowanie: P(A|B) = P(B|A) * P(A) / P(B). Aktualizuje ono początkowe przekonanie P(A) do przekonania a posteriori po zaobserwowaniu dowodu B.
Nazewnictwo składników
Prior P(A): przekonanie przed uzyskaniem dowodu. Likelihood P(B|A): stopień, w jakim A wyjaśnia dowód. Posterior P(A|B): zaktualizowane przekonanie. Evidence P(B): suma normalizująca.
Prawo całkowitego prawdopodobieństwa
Mianownik P(B) znajduje się przez zsumowanie wszystkich przypadków: P(B) = P(B|A)*P(A) + P(B|not A)*P(not A). W ten sposób dowód zostaje rozłożony na znane składniki.
p_a = 0.01 # prior
p_b_given_a = 0.99 # likelihood
p_b_given_not_a = 0.05
p_not_a = 1 - p_a
p_b = p_b_given_a * p_a + p_b_given_not_a * p_not_a
print(p_b)Przykład testu medycznego
Choroba dotyczy 1 procenta osób. Test ma czułość 99 procent, ale odsetek wyników fałszywie dodatnich wynosi 5 procent. Jakie jest prawdopodobieństwo, że jest Pan/Pani chory/chora PRZY DODATNIM WYNIKU testu?
posterior = (p_b_given_a * p_a) / p_b
print(round(posterior, 3)) # about 0.167Zaskakujący wynik
Mimo że test ma skuteczność 99 procent, wynik pozytywny oznacza tylko 17-procentowe prawdopodobieństwo choroby. Rzadka częstość bazowa (początkowe prawdopodobieństwo 1 procent) dominuje — jest to klasyczny błąd częstości bazowej.
Niezależność
Dwa zdarzenia są niezależne, gdy P(A|B) = P(A), więc zaobserwowanie B nie dostarcza żadnej informacji o A. Wtedy P(A and B) = P(A) * P(B).
p_a, p_b = 0.5, 0.5
print(p_a * p_b) # 0.25 if independent (e.g. two fair coins)Problem Monty Halla
Za trojgiem drzwi znajduje się jeden samochód. Wybiera Pan/Pani jedne drzwi, a prowadzący otwiera inne, pokazując kozę, po czym proponuje zmianę wyboru. Wbrew intuicji zmiana wygrywa w 2/3 przypadków.
Symulowanie problemu Monty Halla
Symulacja potwierdza obliczenia. Zmiana wyboru prowadzi do wygranej zawsze wtedy, gdy pierwszy wybór był błędny, co zdarza się w 2 na 3 przypadki.
import random
def trial(switch):
car = random.randint(0, 2)
pick = random.randint(0, 2)
if switch:
return pick != car # switching wins if first pick was wrong
return pick == car
wins = sum(trial(True) for _ in range(100000))
print(wins / 100000) # about 0.667Dlaczego zmiana wyboru prowadzi do wygranej
Pierwszy wybór jest trafny w 1/3 przypadków. Odkrycie prowadzącego skupia pozostałe 2/3 prawdopodobieństwa na jedynych nieotwartych drzwiach, więc zmiana wyboru daje te 2/3 prawdopodobieństwa.
Szybkie sprawdzenie
Proszę sprawdzić swoje rozumowanie probabilistyczne.
Podsumowanie
Najważniejsze zagadnienia dotyczące prawdopodobieństwa:
- Warunkowe:
P(A|B) = P(A and B)/P(B) - Bayes:
P(A|B) = P(B|A)P(A)/P(B)aktualizuje prawdopodobieństwo początkowe do prawdopodobieństwa a posteriori - Prawo całkowitego prawdopodobieństwa rozkłada P(B) na składniki
- Błąd częstości bazowej: rzadkie warunki prowadzą do niskich prawdopodobieństw a posteriori mimo dokładnych testów
- Monty Hall: zmiana wyboru prowadzi do wygranej w 2/3 przypadków
Często zadawane pytania
Czy lekcja „Prawdopodobieństwo i twierdzenie Bayesa” jest bezpłatna?
Tak — pełny tekst „Prawdopodobieństwo i twierdzenie Bayesa” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 4 lekcji w sumie.
Co nauczysz się w „Prawdopodobieństwo i twierdzenie Bayesa”?
Prawdopodobieństwo łączne i warunkowe, niezależność oraz twierdzenie Bayesa na rzeczywistych przykładach AI. Ćwiczysz Learn AI with Python z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Learn AI with Python?
Nie wymagamy żadnego doświadczenia. Learn AI with Python w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Prawdopodobieństwo i twierdzenie Bayesa”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Learn AI with Python?
Tak. Każda lekcja Learn AI with Python zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Statystyki opisowe i rozkłady
- Prawdopodobieństwo i twierdzenie Bayesa
- Testowanie hipotez
- Korelacja i kowariancja