stub Vad är Bayes sats? - Unite.AI
Anslut dig till vårt nätverk!

AI 101

Vad är Bayes sats?

mm
Uppdaterad on

Om du har lärt dig om datavetenskap eller maskininlärning, finns det en god chans att du har hört det termen "Bayes teorem" före, eller en "Bayes klassificerare". Dessa begrepp kan vara något förvirrande, speciellt om du inte är van vid att tänka på sannolikhet ur ett traditionellt, frekvent statistikperspektiv. Den här artikeln kommer att försöka förklara principerna bakom Bayes Teorem och hur den används i maskininlärning.

Vad är Bayes sats?

Bayes sats är en metod för beräkna betingad sannolikhet. Den traditionella metoden för att beräkna villkorlig sannolikhet (sannolikheten att en händelse inträffar givet förekomsten av en annan händelse) är att använda den villkorade sannolikhetsformeln, beräkna den gemensamma sannolikheten för att händelse ett och händelse två inträffar samtidigt, och sedan dividera den genom sannolikheten att händelse två inträffar. Betingad sannolikhet kan dock också beräknas på ett lite annorlunda sätt genom att använda Bayes sats.

När du beräknar betingad sannolikhet med Bayes teorem använder du följande steg:

  • Bestäm sannolikheten för att villkor B är sant, förutsatt att villkor A är sant.
  • Bestäm sannolikheten för att händelse A är sann.
  • Multiplicera de två sannolikheterna tillsammans.
  • Dividera med sannolikheten att händelse B inträffar.

Detta betyder att formeln för Bayes sats kan uttryckas så här:

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

Att beräkna den villkorade sannolikheten på det här sättet är särskilt användbar när den omvända villkorliga sannolikheten lätt kan beräknas, eller när det skulle vara för utmanande att beräkna den gemensamma sannolikheten.

Exempel på Bayes sats

Detta kan vara lättare att tolka om vi lägger lite tid på att titta på en exempel om hur du skulle tillämpa Bayesian resonemang och Bayes Theorem. Låt oss anta att du spelade ett enkelt spel där flera deltagare berättar en historia för dig och du måste avgöra vilken av deltagarna som ljuger för dig. Låt oss fylla i ekvationen för Bayes sats med variablerna i detta hypotetiska scenario.

Vi försöker förutsäga om varje individ i spelet ljuger eller talar sanning, så om det finns tre spelare förutom dig kan de kategoriska variablerna uttryckas som A1, A2 och A3. Beviset för deras lögner/sanning är deras beteende. Som när du spelar poker, skulle du leta efter vissa "berättar" att en person ljuger och använda dem som informationsbitar för att informera din gissning. Eller om du fick ifrågasätta dem skulle det vara bevis på att deras historia inte stämmer. Vi kan representera beviset för att en person ljuger som B.

För att vara tydlig, siktar vi på att förutsäga sannolikhet (A ljuger/talar sanning|med tanke på bevisen på deras beteende). För att göra detta skulle vi vilja ta reda på sannolikheten för B givet A, eller sannolikheten att deras beteende skulle inträffa om personen verkligen ljuger eller talar sanning. Du försöker avgöra under vilka förhållanden beteendet du ser skulle vara mest meningsfullt. Om det finns tre beteenden du bevittnar, skulle du göra beräkningen för varje beteende. Till exempel P(B1, B2, B3 * A). Du skulle sedan göra detta för varje förekomst av A/för varje person i spelet förutom dig själv. Det är den här delen av ekvationen ovan:

P(B1, B2, B3,|A) * P|A

Slutligen delar vi bara det med sannolikheten för B.

Om vi ​​fick några bevis om de faktiska sannolikheterna i denna ekvation, skulle vi återskapa vår sannolikhetsmodell, med hänsyn till de nya bevisen. Detta kallas att uppdatera dina priors, eftersom du uppdaterar dina antaganden om den tidigare sannolikheten för att de observerade händelserna ska inträffa.

Machine Learning Applications för Bayes teorem

Den vanligaste användningen av Bayes teorem när det kommer till maskininlärning är i form av den naiva Bayes-algoritmen.

Naive Bayes används för klassificering av både binära och multi-klassdatauppsättningar, Naive Bayes får sitt namn eftersom värdena som tilldelats vittnen bevis/attribut – Bs i P(B1, B2, B3 * A) – antas vara oberoende av varandra. Det antas att dessa attribut inte påverkar varandra för att förenkla modellen och göra beräkningar möjliga, istället för att försöka den komplexa uppgiften att beräkna sambanden mellan var och en av attributen. Trots denna förenklade modell tenderar Naive Bayes att fungera ganska bra som klassificeringsalgoritm, även när detta antagande förmodligen inte är sant (vilket är för det mesta).

Det finns också vanliga varianter av klassificeraren Naive Bayes som Multinomial Naive Bayes, Bernoulli Naive Bayes och Gaussian Naive Bayes.

Multinomiala Naive Bayes Algoritmer används ofta för att klassificera dokument, eftersom det är effektivt för att tolka frekvensen av ord i ett dokument.

Bernoulli Naive Bayes fungerar på samma sätt som Multinomial Naive Bayes, men förutsägelserna som renderas av algoritmen är booleska. Detta innebär att när man förutsäger en klass kommer värdena att vara binära, nej eller ja. Inom textklassificeringsdomänen skulle en Bernoulli Naive Bayes-algoritm tilldela parametrarna ett ja eller nej baserat på om ett ord finns i textdokumentet eller inte.

Om värdet på prediktorerna/funktionerna inte är diskreta utan istället är kontinuerliga, Gaussiska naiva Bayes kan användas. Det antas att värdena för de kontinuerliga funktionerna har samplas från en gaussisk fördelning.

Bloggare och programmerare med specialiteter inom Maskininlärning och Deep Learning ämnen. Daniel hoppas kunna hjälpa andra att använda kraften i AI för socialt bästa.