Grunnleggende AI
Generative vs. Diskriminative Maskinlæringsmodeller
Noen maskinlæringsmodeller tilhører enten “generative” eller “diskriminative” modellkategorier. Men hva er forskjellen mellom disse to kategoriene av modeller? Hva betyr det at en modell er diskriminativ eller generativ?
Det korte svaret er at generative modeller er de som inkluderer distribusjonen av datamengden og returnerer en sannsynlighet for et gitt eksempel. Generative modeller brukes ofte til å forutsi hva som skjer neste i en sekvens. Mens diskriminative modeller brukes til enten klassifisering eller regresjon og returnerer en prediksjon basert på betinget sannsynlighet. La oss utforske forskjellene mellom generative og diskriminative modeller i mer detalj, så vi kan virkelig forstå hva som skiller de to typene modeller og når hver type bør brukes.
Generative vs. Diskriminative Modeller
Det finnes flere måter å kategorisere en maskinlæringsmodell på. En modell kan klassifiseres som tilhørende ulike kategorier som: generative modeller, diskriminative modeller, parametriske modeller, ikke-parametriske modeller, trebaserte modeller, ikke-trebaserte modeller.
Denne artikkelen vil fokusere på forskjellene mellom generative modeller og diskriminative modeller. Vi skal starte med å definere både generative og diskriminative modeller, og deretter skal vi utforske noen eksempler på hver type modell.
Generative Modeller
Generative modeller er de som fokuserer på distribusjonen av klassene i datamengden. Maskinlæringsalgoritmene modellerer vanligvis distribusjonen av datapunktene. Generative modeller baserer seg på å finne felles sannsynlighet. De skaper punkter der et gitt inndata og et ønsket utdata/merke eksisterer samtidig.
Generative modeller brukes vanligvis til å estimere sannsynligheter og sandsynlighet, og modellere datapunkter og skille mellom klasser basert på disse sannsynlighetene. Fordi modellen lærer en sannsynlighetsfordeling for datamengden, kan den bruke denne sannsynlighetsfordelingen til å generere nye dataeksempler. Generative modeller baserer seg ofte på Bayes’ teorem for å finne felles sannsynlighet, og finner p(x,y). I essensen modellerer generative modeller hvordan dataene ble generert, og svare på spørsmålet:
“Hva er sannsynligheten for at denne klassen eller en annen klasse genererte denne datapunkt/eksempelet?”
Eksempler på generative maskinlæringsmodeller inkluderer Lineær Diskriminant Analyse (LDA), Skjulte Markov-modeller og Bayes-nettverk som Naive Bayes.
Diskriminative Modeller
Mens generative modeller lærer om distribusjonen av datamengden, lærer diskriminative modeller om grensen mellom klasser i en datamengde. Med diskriminative modeller er målet å identifisere avgjørelsesgrensen mellom klasser for å bruke pålitelige klassifikasjoner på datapunkter. Diskriminative modeller skiller klassene i datamengden ved å bruke betinget sannsynlighet, og gjør ingen antagelser om enkelt datapunkter.
Diskriminative modeller søker å svare på spørsmålet:
“På hvilken side av avgjørelsesgrensen ligger dette eksempelet?”
Eksempler på diskriminative modeller i maskinlæring inkluderer støttevektor-maskiner, logistisk regresjon, beslutningstre og tilfeldige skoger.
Forskjeller Mellom Generative og Diskriminative
Her er en kort gjennomgang av de viktigste forskjellene mellom generative og diskriminative modeller.
Generative Modeller:
- Generative modeller søker å fange den faktiske distribusjonen av klassene i datamengden.
- Generative modeller forutsier felles sannsynlighetsfordeling – p(x,y) – ved å bruke Bayes’ teorem.
- Generative modeller er datamessig dyre sammenlignet med diskriminative modeller.
- Generative modeller er nyttige for uovervåket maskinlæring.
- Generative modeller påvirkes mer av tilstedeværelsen av outlier enn diskriminative modeller.
Diskriminative Modeller:
- Diskriminative modeller modellerer avgjørelsesgrensen for datamengdens klasser.
- Diskriminative modeller lærer betinget sannsynlighet – p(y|x).
- Diskriminative modeller er datamessig billige sammenlignet med generative modeller.
- Diskriminative modeller er nyttige for overvåket maskinlæring.
- Diskriminative modeller har fordelen av å være mer robuste mot outlier enn generative modeller.
- Diskriminative modeller er mer robuste mot outlier sammenlignet med generative modeller.
Vi skal nå kort utforske noen ulike eksempler på generative og diskriminative maskinlæringsmodeller.
Eksempler på Generative Modeller
Lineær Diskriminant Analyse (LDA)
LDA-modeller fungerer ved å estimere variansen og gjennomsnittet av dataene for hver klasse i datamengden. Etter at gjennomsnittet og variansen for hver klasse er beregnet, kan prediksjoner gjøres ved å estimere sannsynligheten for at en gitt mengde inndata tilhører en gitt klasse.
Skjulte Markov-modeller
Markov-kjeder kan betraktes som grafiske modeller med sannsynligheter som indikerer hvor sannsynlig det er at vi vil flytte fra ett punkt i kjeden, en “tilstand”, til en annen tilstand. Markov-kjeder brukes til å bestemme sannsynligheten for å flytte fra tilstand j til tilstand i, som kan betegnes som p(i,j). Dette er bare den felles sannsynligheten nevnt ovenfor. En Skjult Markov-modell er der en usynlig, uobservabel Markov-kjede brukes. Datainndata gis til modellen, og sannsynlighetene for den nåværende tilstanden og den umiddelbart forrige tilstanden brukes til å beregne den mest sannsynlige utfallet.
Bayes-nettverk
Bayes-nettverk er en type sannsynlighetsgrafisk modell. De representerer betingede avhengigheter mellom variabler, som representeres av en rettet akylisk graf. I et Bayes-nettverk representerer hver kant i grafen en betinget avhengighet, og hver node korresponderer til en unik variabel. Den betingede uavhengigheten for de unike relasjonene i grafen kan brukes til å bestemme den felles distribusjonen av variablene og beregne felles sannsynlighet. Med andre ord, et Bayes-nettverk fanger en undermengde av de uavhengige relasjonene i en bestemt felles sannsynlighetsfordeling.
Når et Bayes-nettverk er opprettet og korrekt definert, med tilfeldige variabler, betingede relasjoner og sannsynlighetsfordelinger kjent, kan det brukes til å estimere sannsynligheten for hendelser eller utfall.
En av de mest vanlige typene Bayes-nettverk er en Naive Bayes-modell. En Naive Bayes-modell håndterer utfordringen med å beregne sannsynlighet for datamengder med mange parametre/variabler ved å behandle alle funksjoner som uavhengige av hverandre.
Eksempler på Diskriminative Modeller
Støttevektor-maskiner
Støttevektor-maskiner opererer ved å tegne en avgjørelsesgrense mellom datapunkter, og finner avgjørelsesgrensen som best skiller klassene i datamengden. Støttevektor-algoritmen tegner enten linjer eller hyperplan som skiller punkter, for 2-dimensjonale rom og 3D-rom henholdsvis. Støttevektor-maskiner søker å finne linjen/hyperplanet som best skiller klassene ved å maksimere marginen, eller avstanden mellom linjen/hyperplanet og de nærmeste punktene. Støttevektor-modeller kan også brukes på datamengder som ikke er lineært skillbare ved å bruke “kernel-tricket” for å identifisere ikke-lineære avgjørelsesgrenser.
Logistisk Regresjon
Logistisk regresjon er en algoritme som bruker en logit-funksjon (log-odds) for å bestemme sannsynligheten for at et inndata er i en av to tilstander. En sigmoid-funksjon brukes til å “klemme” sannsynligheten mot enten 0 eller 1, sant eller falskt. Sannsynligheter over 0,50 antas å være klasse 1, mens sannsynligheter 0,49 eller lavere antas å være 0. Av denne grunn brukes logistisk regresjon vanligvis i binære klassifiseringsproblemer. Likevel kan logistisk regresjon brukes i flerklasse-problemer ved å bruke en “en mot alle”-tilnærming, og å opprette en binær klassifiseringsmodell for hver klasse og bestemme sannsynligheten for at et eksempel er en målklasse eller en annen klasse i datamengden.
Beslutningstre
En beslutningstre-modell fungerer ved å dele en datamengde ned i mindre og mindre deler, og når underdelene ikke kan deles lenger, er resultatet et tre med noder og blader. Noder i en beslutningstre er der avgjørelser om datapunkter tas ved å bruke ulike filterkriterier. Bladene i en beslutningstre er datapunktene som er klassifisert. Beslutningstre-algoritmer kan håndtere både numeriske og kategoriske data, og delinger i treet er basert på bestemte variabler/funksjoner.
Tilfeldige Skoger
En tilfeldig skog-modell er bare en samling av beslutningstreer hvor prediksjonene fra de enkelte trærne er gjennomsnittlig for å komme til en endelig avgjørelse. Tilfeldig skog-algoritmen velger observasjoner og funksjoner tilfeldig, og bygger de enkelte trærne basert på disse valgene.
Denne tutorial-artikkelen vil utforske hvordan man kan opprette en boksplot i Matplotlib. Boksplott brukes til å visualisere sammenfattningsstatistikk av en datamengde, og viser attributter av distribusjonen som datapunktets område og distribusjon.












