AI 101
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 for en modell å være 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 en rekke måter å kategorisere en maskinlæringsmodell. En modell kan klassifiseres som tilhørende ulike kategorier som: generative modeller, diskriminative modeller, parametriske modeller, ikke-parametriske modeller, tre-baserte modeller, ikke-tre-baserte 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 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 er avhengige av å finne felles sannsynlighet. Ved å lage punkter der en gitt inndata-egenskap og en ønsket utdata/merke eksisterer samtidig.
Generative modeller brukes vanligvis til å estimere sannsynligheter og sannsynlighet, modellering datapunkter og å diskriminere mellom klasser basert på disse sannsynlighetene. Fordi modellen lærer en sannsynlighetsfordeling for datamengden, kan den henvise til denne sannsynlighetsfordelingen for å generere nye dataeksempler. Generative modeller er ofte avhengige av Bayes’ teorem for å finne felles sannsynlighet, finner p(x,y). I essensen modellerer generative modeller hvordan data ble generert, og svarer på følgende spørsmål:
“Hva er sannsynligheten for at denne klassen eller en annen klasse genererte denne datapunkt/eksempelet?”
Eksempler på generative maskinlæringsmodeller inkluderer Lineær Diskriminananalyse (LDA), Skjulte Markov-modeller og Bayes-nettverk som Naive Bayes.
Diskriminative Modeller
Mens generative modeller lærer om distribusjonen av datamengden, diskriminative modeller lærer om grensen mellom klasser i en datamengde. Med diskriminative modeller er målet å identifisere avgjørelsesgrensen mellom klasser for å bruke pålitelige klassifikasjoner til dataeksempler. Diskriminative modeller skiller klassene i datamengden ved å bruke betinget sannsynlighet, uten å gjøre noen antagelser om enkelt datapunkter.
Diskriminative modeller søker å svare på følgende spørsmål:
“På hvilken side av avgjørelsesgrensen befinner denne instansen seg?”
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 rask 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 den felles sannsynlighetsfordeling – p(x,y) – ved å bruke Bayes’ teorem.
- Generative modeller er datamaskinelt dyre sammenlignet med diskriminative modeller.
- Generative modeller er nyttige for uovervåkede maskinlæringsoppgaver.
- Generative modeller er mer påvirkelige av tilstedeværelsen av outlier enn diskriminative modeller.
Diskriminative modeller:
- Diskriminative modeller modellerer avgjørelsesgrensen for datamengdens klasser.
- Diskriminative modeller lærer den betingede sannsynligheten – p(y|x).
- Diskriminative modeller er datamaskinelt billige sammenlignet med generative modeller.
- Diskriminative modeller er nyttige for overvåkede maskinlæringsoppgaver.
- 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 eksempler på generative og diskriminative maskinlæringsmodeller.
Eksempler på Generative Modeller
Lineær Diskriminananalyse (LDA)
LDA-modeller fungerer ved å estimere variansen og gjennomsnittet av data for hver klasse i datamengden. Etter at gjennomsnittet og variansene for hver klasse er beregnet, kan forutsigelser gjøres ved å estimere sannsynligheten for at en gitt mengde inndata tilhører en gitt klasse.
Skjulte Markov-modeller
Markov-kjeder kan betraktes som grafer 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 sannsynlighet nevnt ovenfor. Et skjult Markov-modell er der et usynlig, uobserverbart Markov-kjede brukes. Datainndata gis til modellen, og sannsynlighetene for den nåværende tilstanden og tilstanden som umiddelbart forgikk den, 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 svarer til en unik variabel. Den betingede uavhengigheten for de unike relasjonene i grafen kan brukes til å bestemme den felles fordelt sannsynligheten for variablene og beregne felles sannsynlighet. Med andre ord, et Bayes-nettverk fanger en undergruppe av de uavhengige relasjonene i en bestemt felles sannsynlighetsfordeling.
Når et Bayes-nettverk er opprettet og riktig definert, med tilfeldige variabler, betingede relasjoner og sannsynlighetsfordelinger kjent, kan det brukes til å estimere sannsynligheten for hendelser eller resultater.
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 egenskaper som uavhengige av hverandre.
Eksempler på Diskriminative Modeller
Støttevektor-maskiner
Støttevektor-maskiner opererer ved å tegne en avgjørelsesgrense mellom datapunkter, finner avgjørelsesgrensen som best skiller de ulike klassene i datamengden. SVM-algoritmen tegner enten linjer eller hyperplan som skiller punkter, for 2-dimersjonale rom og 3D-rom respektivt. SVM forsøker å finne linjen/hyperplanet som best skiller klassene ved å maksimere marginen, eller avstanden mellom linjen/hyperplanet til de nærmeste punktene. SVM-modeller kan også brukes på datamengder som ikke er lineært skillbare ved å bruke “kernel-tricket” til å identifisere ikke-lineære avgjørelsesgrenser.
Logistisk Regresjon
Logistisk regresjon er en algoritme som bruker en logit (log-odds) funksjon til å bestemme sannsynligheten for at en inndata er i en av to tilstander. En sigmoide funksjon brukes til å “klemme” sannsynligheten mot enten 0 eller 1, sann eller usann. Sannsynligheter større enn 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. Men logistisk regresjon kan også brukes i flerklassige problemer ved å bruke en en-mot-alle-tilnærming, å lage en binær klassifiseringsmodell for hver klasse og bestemme sannsynligheten for at et eksempel er en målklasse eller en annen klasse i datamengden.
Beslutningstree
En beslutningstree-modell fungerer ved å dele en datamengde ned i mindre og mindre deler, og når undersettene ikke kan deles videre, er resultatet et tre med noder og blader. Noder i et beslutningstree er der beslutninger om datapunkter tas ved å bruke ulike filterkriterier. Bladene i et beslutningstree er datapunktene som har blitt klassifisert. Beslutningstree-algoritmer kan håndtere både numeriske og kategoriske data, og delinger i treet er basert på bestemte variabler/egenskaper.
Tilfeldige Skoger
En tilfeldig skog-modell er bare en samling av beslutningstreer hvor forutsigelsene fra de enkelte trene er gjennomsnittlig for å komme til en endelig beslutning. Tilfeldig skog-algoritmen velger observasjoner og egenskaper tilfeldig, og bygger de enkelte trene basert på disse valgene.












