Grunderna i AI
Generativa vs. Diskriminativa MaskinlÃĪrningsmodeller
Vissa maskinlÃĪrningsmodeller tillhÃķr antingen âgenerativaâ eller âdiskriminativaâ modellkategorier. Men vad ÃĪr skillnaden mellan dessa tvÃĨ kategorier av modeller? Vad betyder det att en modell ÃĪr diskriminativ eller generativ?
Det korta svaret ÃĪr att generativa modeller ÃĪr de som innehÃĨller fÃķrdelningen av datamÃĪngden och returnerar en sannolikhet fÃķr ett givet exempel. Generativa modeller anvÃĪnds ofta fÃķr att fÃķrutsÃĪga vad som hÃĪnder nÃĪsta i en sekvens. Samtidigt anvÃĪnds diskriminativa modeller fÃķr antingen klassificering eller regression och returnerar en fÃķrutsÃĪgelse baserad pÃĨ villkorlig sannolikhet. LÃĨt oss undersÃķka skillnaderna mellan generativa och diskriminativa modeller i mer detalj, sÃĨ att vi kan fÃķrstÃĨ vad som skiljer de tvÃĨ typerna av modeller och nÃĪr varje typ ska anvÃĪndas.
Generativa vs. Diskriminativa Modeller
Det finns flera sÃĪtt att kategorisera en maskinlÃĪrningsmodell. En modell kan klassificeras som tillhÃķrande olika kategorier som: generativa modeller, diskriminativa modeller, parametriska modeller, icke-parametriska modeller, trÃĪd-baserade modeller, icke-trÃĪd-baserade modeller.
Den hÃĪr artikeln kommer att fokusera pÃĨ skillnaderna mellan generativa modeller och diskriminativa modeller. Vi kommer att bÃķrja med att definiera bÃĨde generativa och diskriminativa modeller, och sedan kommer vi att undersÃķka nÃĨgra exempel pÃĨ varje typ av modell.
Generativa Modeller
Generativa modeller ÃĪr de som fokuserar pÃĨ fÃķrdelningen av klasserna inom datamÃĪngden. MaskinlÃĪrningsalgoritmerna modellerar vanligtvis fÃķrdelningen av datapunkterna. Generativa modeller fÃķrlitar sig pÃĨ att hitta den gemensamma sannolikheten. De skapar punkter dÃĪr en given indatafunktion och en Ãķnskad utdata/etikett existerar samtidigt.
Generativa modeller anvÃĪnds vanligtvis fÃķr att uppskatta sannolikhet och sannolikhet, modellera datapunkter och diskriminera mellan klasser baserat pÃĨ dessa sannolikhet. Eftersom modellen lÃĪr sig en sannolikhetsfÃķrdelning fÃķr datamÃĪngden, kan den hÃĪnvisa till denna sannolikhetsfÃķrdelning fÃķr att generera nya dataexempel. Generativa modeller fÃķrlitar sig ofta pÃĨ Bayes sats fÃķr att hitta den gemensamma sannolikheten, hitta p(x,y). I princip modellerar generativa modeller hur datat genererades, besvarar fÃķljande frÃĨga:
âVilken ÃĪr sannolikheten att denna klass eller en annan klass genererade detta datapunkt/exempel?â
Exempel pÃĨ generativa maskinlÃĪrningsmodeller inkluderar LinjÃĪr Diskriminantanalys (LDA), Dolda Markovmodeller och Bayesianska nÃĪtverk som Naiv Bayes.
Discriminativa Modeller
Medan generativa modeller lÃĪr sig om fÃķrdelningen av datamÃĪngden, lÃĪr diskriminativa modeller om grÃĪnsen mellan klasser inom en datamÃĪngd. Med diskriminativa modeller ÃĪr mÃĨlet att identifiera beslutsgrÃĪnsen mellan klasser fÃķr att tillÃĪmpa tillfÃķrlitliga klassetiketter pÃĨ dataexempel. Diskriminativa modeller separerar klasserna i datamÃĪngden genom att anvÃĪnda villkorlig sannolikhet, utan att gÃķra nÃĨgra antaganden om enskilda datapunkter.
Discriminativa modeller syftar till att besvara fÃķljande frÃĨga:
âPÃĨ vilken sida av beslutsgrÃĪnsen finns detta exempel?â
Exempel pÃĨ diskriminativa modeller i maskinlÃĪrning inkluderar stÃķdvektor-maskiner, logistisk regression, besluts-trÃĪd och slumpmÃĪssiga skogar.
Skillnader Mellan Generativa och Diskriminativa
HÃĪr ÃĪr en snabb Ãķversikt av de stora skillnaderna mellan generativa och diskriminativa modeller.
Generativa modeller:
- Generativa modeller syftar till att fÃĨnga den faktiska fÃķrdelningen av klasserna i datamÃĪngden.
- Generativa modeller fÃķrutsÃĪger den gemensamma sannolikhetsfÃķrdelningen â p(x,y) â med hjÃĪlp av Bayes sats.
- Generativa modeller ÃĪr berÃĪkningsmÃĪssigt dyra jÃĪmfÃķrt med diskriminativa modeller.
- Generativa modeller ÃĪr anvÃĪndbara fÃķr oÃķvervakade maskinlÃĪrningsuppgifter.
- Generativa modeller pÃĨverkas av nÃĪrvaron av utliggare mer ÃĪn diskriminativa modeller.
Discriminativa modeller:
- Discriminativa modeller modellerar beslutsgrÃĪnsen fÃķr datamÃĪngdens klasser.
- Discriminativa modeller lÃĪr sig den villkorliga sannolikheten â p(y|x).
- Discriminativa modeller ÃĪr berÃĪkningsmÃĪssigt billiga jÃĪmfÃķrt med generativa modeller.
- Discriminativa modeller ÃĪr anvÃĪndbara fÃķr Ãķvervakade maskinlÃĪrningsuppgifter.
- Discriminativa modeller har fÃķrdelen av att vara mer robusta mot utliggare, till skillnad frÃĨn generativa modeller.
- Discriminativa modeller ÃĪr mer robusta mot utliggare jÃĪmfÃķrt med generativa modeller.
Vi kommer nu att kort undersÃķka nÃĨgra olika exempel pÃĨ generativa och diskriminativa maskinlÃĪrningsmodeller.
Exempel pÃĨ Generativa Modeller
LinjÃĪr Diskriminantanalys (LDA)
LDA-modeller fungerar genom att uppskatta variansen och medelvÃĪrdet av datat fÃķr varje klass i datamÃĪngden. Efter att medelvÃĪrdet och variansen fÃķr varje klass har berÃĪknats, kan fÃķrutsÃĪgelser gÃķras genom att uppskatta sannolikheten att en given uppsÃĪttning indata tillhÃķr en given klass.
Dolda Markovmodeller
Markovkedjor kan betraktas som grafer med sannolikhet som indikerar hur sannolikt det ÃĪr att vi kommer att flytta frÃĨn en punkt i kedjan, en âtillstÃĨndâ, till ett annat tillstÃĨnd. Markovkedjor anvÃĪnds fÃķr att bestÃĪmma sannolikheten fÃķr att flytta frÃĨn tillstÃĨnd j till tillstÃĨnd i, som kan betecknas som p(i,j). Detta ÃĪr bara den gemensamma sannolikhet som nÃĪmns ovan. En Dold Markovmodell ÃĪr dÃĪr en osynlig, icke-observerbar Markovkedja anvÃĪnds. Dataindata ges till modellen och sannolikheterna fÃķr det aktuella tillstÃĨndet och tillstÃĨndet som fÃķregÃĨr det anvÃĪnds fÃķr att berÃĪkna det mest sannolika resultatet.
Bayesianska NÃĪtverk
Bayesianska nÃĪtverk ÃĪr en typ av sannolikhetsgrafisk modell. De representerar villkorliga beroenden mellan variabler, som representeras av en riktad acyklisk graf. I ett Bayesianskt nÃĪtverk representerar varje kant i grafen ett villkorligt beroende, och varje nod motsvarar en unik variabel. Den villkorliga oberoendet fÃķr de unika relationerna i grafen kan anvÃĪndas fÃķr att bestÃĪmma den gemensamma fÃķrdelningen av variablerna och berÃĪkna den gemensamma sannolikheten. Med andra ord fÃĨngar ett Bayesianskt nÃĪtverk en delmÃĪngd av de oberoende relationerna i en specifik gemensam sannolikhetsfÃķrdelning.
NÃĪr ett Bayesianskt nÃĪtverk har skapats och korrekt definierats, med slumpmÃĪssiga variabler, villkorliga relationer och sannolikhetsfÃķrdelningar kÃĪnda, kan det anvÃĪndas fÃķr att uppskatta sannolikheten fÃķr hÃĪndelser eller resultat.
En av de vanligaste typerna av Bayesianska nÃĪtverk ÃĪr en Naiv Bayes-modell. En Naiv Bayes-modell hanterar utmaningen att berÃĪkna sannolikhet fÃķr datamÃĪngder med mÃĨnga parametrar/variabler genom att behandla alla funktioner som oberoende av varandra.
Exempel pÃĨ Diskriminativa Modeller
StÃķdvektor-maskiner
StÃķdvektor-maskiner fungerar genom att rita en beslutsgrÃĪns mellan datapunkter, hitta beslutsgrÃĪnsen som bÃĪst separerar de olika klasserna i datamÃĪngden. StÃķdvektor-algoritmen ritar antingen linjer eller hyperplan som separerar punkter, fÃķr 2-dimensionella utrymmen och 3D-utrymmen respektive. StÃķdvektor-maskiner fÃķrsÃķker hitta linjen/hyperplanet som bÃĪst separerar klasserna genom att maximera marginalen, eller avstÃĨndet mellan linjen/hyperplanet och de nÃĪrmaste punkterna. StÃķdvektor-modeller kan ocksÃĨ anvÃĪndas pÃĨ datamÃĪngder som inte ÃĪr linjÃĪrt separerbara genom att anvÃĪnda âkernel-trickenâ fÃķr att identifiera icke-linjÃĪra beslutsgrÃĪnser.
Logistisk Regression
Logistisk regression ÃĪr en algoritm som anvÃĪnder en logit (log-odds) funktion fÃķr att bestÃĪmma sannolikheten fÃķr en indata som tillhÃķr en av tvÃĨ tillstÃĨnd. En sigmoidfunktion anvÃĪnds fÃķr att âkramaâ sannolikheten mot antingen 0 eller 1, sant eller falskt. Sannolikhet som ÃĪr stÃķrre ÃĪn 0,50 antas vara klass 1, medan sannolikhet som ÃĪr 0,49 eller lÃĪgre antas vara 0. Av denna anledning anvÃĪnds logistisk regression vanligtvis i binÃĪra klassificeringsproblem. Men logistisk regression kan ocksÃĨ tillÃĪmpas pÃĨ multi-klassproblem genom att anvÃĪnda en âen mot allaâ-ansats, skapa en binÃĪr klassificeringsmodell fÃķr varje klass och bestÃĪmma sannolikheten att ett exempel ÃĪr en mÃĨlklas eller en annan klass i datamÃĪngden.
Besluts-trÃĪd
En besluts-trÃĪd modell fungerar genom att dela en datamÃĪngd ner i mindre och mindre delar, och nÃĪr delarna inte kan delas lÃĪngre ÃĪr resultatet ett trÃĪd med noder och blad. Noder i ett besluts-trÃĪd ÃĪr dÃĪr beslut om datapunkter fattas med hjÃĪlp av olika filterkriterier. Bladen i ett besluts-trÃĪd ÃĪr datapunkterna som har klassificerats. Besluts-trÃĪd-algoritmer kan hantera bÃĨde numeriska och kategoriska data, och delningar i trÃĪdet baseras pÃĨ specifika variabler/funktioner.
SlumpmÃĪssiga Skogar
En slumpmÃĪssig skog modell ÃĪr i princip bara en samling av besluts-trÃĪd dÃĪr fÃķrutsÃĪgelserna frÃĨn de enskilda trÃĪden genomsnittas fÃķr att komma till ett slutgiltigt beslut. Den slumpmÃĪssiga skog-algoritmen vÃĪljer observationer och funktioner slumpmÃĪssigt, bygger de enskilda trÃĪden baserat pÃĨ dessa val.
Denna tutorial-artikel kommer att undersÃķka hur man skapar en Box Plot i Matplotlib. Box plot anvÃĪnds fÃķr att visualisera sammanfattningsstatistik fÃķr en datamÃĪngd, visa attribut fÃķr fÃķrdelningen som datapunkternas omfÃĨng och fÃķrdelning.












