Bayes kan göra magi!
Har du någonsin undrat hur datorer lär sig om människor?
Exempel:
En internetsökning efter ”automatiska skosnören för film” ger upp ”Tillbaka till framtiden”
Har sökmotorn tittat på filmen? Nej, men den vet från många andra sökningar vad folk förmodligen letar efter.
Och den beräknar sannolikheten med Bayes ”Theorem.
Bayes ”Sats är ett sätt att hitta en sannolikhet när vi känner till vissa andra sannolikheter.
Formeln är:
P (A | B) = P (A) P (B | A) P (B)
Vilket säger oss: | hur ofta A händer med tanke på att B händer, skrivet P (A | B), | |
När vi vet: | hur ofta B händer med tanke på att A händer, skrivet P (B | A) | |
och hur sannolikt A är på egen hand, skrivet P (A) | ||
och hur sannolikt B är på egen hand, skrivet P (B) |
Låt oss säga P (Fire) betyder hur ofta det är eld och P (rök) betyder hur ofta vi se rök, då:
P (Fire | Smoke) betyder hur ofta det är eld när vi kan se rök
P (Smoke | Fire) betyder hur ofta vi kan se rök när det finns eld
Så formeln säger oss ”framåt” P (eld | rök) när vi vet ”bakåt” P (rök | eld)
Bara 4 siffror
Föreställ dig 100 personer på en fest, och du berättar hur många som bär rosa eller inte, och om en man eller inte, och få dessa siffror:
Bayes ”Sats bygger på bara dessa 4 siffror!
Låt oss göra några totala:
Och beräkna några sannolikheter:
Och sedan kommer valpen! En sådan söt valp.
Men all din data är sönder! Endast 3 värden överlever:
- P (Man) = 0,4,
- P (Rosa) = 0,25 och
- P (Rosa | Man) = 0.125
Kan du upptäcka P (Man | Rosa)?
Föreställ dig att en rosa bärande gäst lämnar pengar efter … var det en man? Vi kan svara på den här frågan med Bayes ”Sats:
P (Man | Rosa) = P (Man) P (Rosa | Man) P (Rosa)
P (Man | Rosa ) = 0,4 × 0,1250,25 = 0,2
Obs: om vi fortfarande hade rådata kunde vi beräkna direkt 525 = 0,2
Att vara allmänt
Varför fungerar det?
Låt oss ersätta siffrorna med bokstäver:
Låt oss nu titta på sannolikheter. Så vi tar några förhållanden:
- den totala sannolikheten för ”A” är P (A) = s + ts + t + u + v
- sannolikheten för ”B givet A” är P ( B | A) = ss + t
Och multiplicera dem sedan så här:
Låt oss nu göra det igen men använd P (B) och P (A | B):
Båda sätt får samma resultat av ss + t + u + v
Så vi kan se att:
P (B) P (A | B) = P (A) P ( B | A)
Trevligt och symmetriskt är det inte?
Det måste faktiskt vara symmetriskt eftersom vi kan byta rader och kolumner och få samma övre vänstra hörn.
Och det är också Bayes Fo rmula … dela bara båda sidorna med P (B):
P (A | B) = P (A) P (B | A) P (B)
Kom ihåg
Tänk först ”AB AB AB” och kom ihåg att gruppera det som: ”AB = A BA / B”
P (A | B) = P (A) P (B | A) P (B)
Kattallergi?
En av de kända användningsområdena för Bayes-satsen är falska positiva och falska negativ.
För dem har vi två möjliga fall för ”A”, till exempel Godkänd / Underkänd (eller Ja / Nej etc)
Exempel: Allergi eller inte?
Hunter säger att hon kliar. Det finns ett test för allergi mot katter, men detta test är inte alltid rätt:
- För personer som verkligen har allergi, säger testet ”Ja” 80% av tiden
- För personer som inte har allergi, säger testet ”Ja” 10% av tiden (”falskt positivt”)
Om 1% av befolkningen har allergi , och Hunter test säger ”Ja”, vilka är chansen att Hunter verkligen har allergi?
Vi vill veta chansen att få allergi när test säger ”Ja”, skriven P (Allergi | Ja)
Låt oss få vår formel:
P (Allergi | Ja) = P (Allergi) P (Ja | Allergi) P (Ja)
Å nej! Vi vet inte vad den allmänna chansen för testet att säga ”Ja” är …
… men vi kan beräkna det genom att lägga till dem med, och de utan allergi:
- 1% har allergi, och testet säger ”ja” till 80% av dem
- 99% har inte allergi och testet säger ”ja” till 10% av dem
Låt oss lägga till det:
P (Ja) = 1% × 80% + 99% × 10% = 10,7%
Vilket innebär att cirka 10,7% av befolkningen får ett ”Ja” -resultat.
Så nu kan vi slutföra vår formel:
P (Allergi | Ja) = 1% × 80% 10,7% = 7.48%
P (Allergi | Ja) = cirka 7%
Detta är samma resultat som vi fick på False Positives och False Negatives.
Faktum är att vi kan skriva en speciell version av Bayes-formeln bara för saker som detta:
P (A | B) = P (A) P (B | A) P (A) P (B | A) + P (inte A) P (B | inte A)
”A” med tre (eller fler) fall
Vi såg precis ”A” med två fall (A och inte A), som vi tog hand om i bottenraden.
När ”A” har tre eller fler fall inkluderar vi dem alla i bottenraden:
P (A1 | B ) = P (A1) P (B | A1) P (A1) P (B | A1) + P (A2) P (B | A2) + P (A3) P (B | A3) + … etc
Nu, tillbaka till sökmotorer.
Sökmotorer tar denna idé och skala upp den mycket (plus några andra knep).
Det gör dem ser ut som de kan läsa dig!
Den kan också användas för e-postfilter, musikrekommendationstjänster och mer.