AI 101

Generative vs. Diskriminative Maskinlæringsmodeller

mm

Nogle maskinlæringsmodeller tilhører enten “generative” eller “diskriminative” modelkategorier. Men hvad er forskellen mellem disse to kategorier af modeller? Hvad betyder det, at en model er diskriminativ eller generativ?

Det korte svar er, at generative modeller er dem, der inkluderer fordelingen af datamængden og returnerer en sandsynlighed for et givet eksempel. Generative modeller bruges ofte til at forudsige, hvad der sker herefter i en sekvens. Imens bruges diskriminative modeller til enten klassifikation eller regression og returnerer en forudsigelse baseret på betinget sandsynlighed. Lad os udforske forskellene mellem generative og diskriminative modeller i mere detalje, så vi kan forstå, hvad adskiller de to typer af modeller, og hvornår hver type skal bruges.

Generative vs. Diskriminative Modeller

Der er mange måder at kategorisere en maskinlæringsmodel på. En model kan klassificeres som tilhørende forskellige kategorier som f.eks. generative modeller, diskriminative modeller, parametriske modeller, ikke-parametriske modeller, træbaserede modeller, ikke-træbaserede modeller.

Denne artikel vil fokusere på forskellene mellem generative modeller og diskriminative modeller. Vi starter med at definere både generative og diskriminative modeller og udforske derefter nogle eksempler på hver type model.

Generative Modeller

Generative modeller er dem, der fokuserer på fordelingen af klasserne i datamængden. Maskinlæringsalgoritmerne modellerer typisk fordelingen af datapunkterne. Generative modeller afhænger af at finde den samlede sandsynlighed. Oprettelse af punkter, hvor en given inputfunktion og en ønsket output/label findes samtidigt.

Generative modeller bruges typisk til at estimere sandsynligheder og sandsynlighedsfordeling, modellering af datapunkter og diskriminering mellem klasser baseret på disse sandsynligheder. Fordi modellen lærer en sandsynlighedsfordeling for datamængden, kan den henvise til denne sandsynlighedsfordeling for at generere nye dataeksempler. Generative modeller afhænger ofte af Bayes’ sætning for at finde den samlede sandsynlighed, findes p(x,y). Generative modeller modellerer, hvordan data blev genereret, og besvarer følgende spørgsmål:

“Hvad er sandsynligheden for, at denne klasse eller en anden klasse genererede denne datapunkt/eksempel?”

Eksempler på generative maskinlæringsmodeller inkluderer Lineær Diskriminativ Analyse (LDA), Skjulte Markov-modeller og Bayesianske netværk som Naive Bayes.

Diskriminative Modeller

Imens generative modeller lærer om fordelingen af datamængden, lærer diskriminative modeller om grænsen mellem klasser i en datamængde. Med diskriminative modeller er målet at identificere beslutningsgrænsen mellem klasser for at anvende pålidelige klasselabels til dataeksempler. Diskriminative modeller adskiller klasserne i datamængden ved at bruge betinget sandsynlighed og gør ingen antagelser om enkeltdata punkter.

Diskriminative modeller søger at besvare følgende spørgsmål:

“På hvilken side af beslutningsgrænsen findes dette eksempel?”

Eksempler på diskriminative modeller i maskinlæring inkluderer supportvektor-maskiner, logistisk regression, beslutningstræer og tilfældige skove.

Forskelle Mellem Generative og Diskriminative

Her er en kort gennemgang af de største forskelle mellem generative og diskriminative modeller.

Generative Modeller:

  • Generative modeller søger at fange den faktiske fordeling af klasserne i datamængden.
  • Generative modeller forudsigter den samlede sandsynlighedsfordeling – p(x,y) – ved hjælp af Bayes’ sætning.
  • Generative modeller er beregningsmæssigt dyre i forhold til diskriminative modeller.
  • Generative modeller er nyttige til uovervågede maskinlæringsopgaver.
  • Generative modeller påvirkes af tilstedeværelsen af outliers mere end diskriminative modeller.

Diskriminative Modeller:

  • Diskriminative modeller modellerer beslutningsgrænsen for datamængdens klasser.
  • Diskriminative modeller lærer den betingede sandsynlighed – p(y|x).
  • Diskriminative modeller er beregningsmæssigt billige i forhold til generative modeller.
  • Diskriminative modeller er nyttige til overvågede maskinlæringsopgaver.
  • Diskriminative modeller har fordelen af at være mere robuste over for outliers, til forskel fra generative modeller.
  • Diskriminative modeller er mere robuste over for outliers i forhold til generative modeller.

Vi vil nu kort udforske nogle forskellige eksempler på generative og diskriminative maskinlæringsmodeller.

Eksempler på Generative Modeller

Lineær Diskriminativ Analyse (LDA)

LDA-modeller fungerer ved at estimere variansen og middelværdien af data for hver klasse i datamængden. Efter at middelværdierne og varianserne for hver klasse er beregnet, kan forudsigelser lavses ved at estimere sandsynligheden for, at en given indtastning tilhører en given klasse.

Skjulte Markov-modeller

Markov-kæder kan betragtes som grafer med sandsynligheder, der angiver, hvor sandsynligt det er, at vi vil flytte fra ét punkt i kæden, en “tilstand”, til en anden tilstand. Markov-kæder bruges til at bestemme sandsynligheden for at flytte fra tilstand j til tilstand i, som kan betegnes som p(i,j). Dette er blot den samlede sandsynlighed, der blev nævnt ovenfor. En Skjult Markov-model er, hvor en usynlig, uobserverbar Markov-kæde bruges. Dataindtastningerne gives til modellen, og sandsynlighederne for den nuværende tilstand og den tilstand, der umiddelbart forudgår den, bruges til at beregne den mest sandsynlige udfald.

Bayesianske Netværk

Bayesianske netværk er en type sandsynlighedsgrafisk model. De repræsenterer betingede afhængigheder mellem variable, som repræsenteres af en retningsspecificeret acyklisk graf. I et Bayesiansk netværk repræsenterer hver kant i grafen en betinget afhængighed, og hver node svarer til en unik variabel. Den betingede uafhængighed for de unikke relationer i grafen kan bruges til at bestemme den samlede fordeling af variablerne og beregne den samlede sandsynlighed. Med andre ord fanger et Bayesiansk netværk en undermængde af de uafhængige relationer i en bestemt samlet sandsynlighedsfordeling.

Når et Bayesiansk netværk er oprettet og korrekt defineret med tilfældige variable, betingede relationer og sandsynlighedsfordelinger, kan det bruges til at estimere sandsynligheden for begivenheder eller udfald.

En af de mest almindeligt brugte typer af Bayesianske Netværk er en Naive Bayes-model. En Naive Bayes-model håndterer udfordringen ved at beregne sandsynlighed for datamængder med mange parametre/variable ved at behandle alle funktioner som uafhængige af hinanden.

Eksempler på Diskriminative Modeller

Supportvektor-maskiner

Supportvektor-maskiner fungerer ved at tegne en beslutningsgrænse mellem datapunkter, findes den beslutningsgrænse, der bedst adskiller de forskellige klasser i datamængden. SVM-algoritmen tegner enten linjer eller hyperplaner, der adskiller punkter, for 2-dimensionale rum og 3D-rum henholdsvis. SVM søger at finde linjen/hyperplanen, der bedst adskiller klasserne ved at maksimere marginen, eller afstanden mellem linjen/hyperplanen og de nærmeste punkter. SVM-modeller kan også bruges på datamængder, der ikke er lineært adskilbare, ved at bruge “kernel-tricket” til at identificere ikke-lineære beslutningsgrænser.

Logistisk Regression

Logistisk regression er en algoritme, der bruger en logit (log-odds)-funktion til at bestemme sandsynligheden for, at en indtastning er i en af to tilstande. En sigmoid-funktion bruges til at “klemme” sandsynligheden mod enten 0 eller 1, sandt eller falsk. Sandsynligheder over 0,50 antages at være klasse 1, mens sandsynligheder på 0,49 eller lavere antages at være 0. Derfor bruges logistisk regression typisk i binære klassifikationsproblemer. Logistisk regression kan dog også bruges i multi-klasse-problemer ved at bruge en “one-vs-all”-tilgang, oprette en binær klassifikationsmodel for hver klasse og bestemme sandsynligheden for, at et eksempel er en målklasse eller en anden klasse i datamængden.

Beslutningstræ

En beslutningstræ-model fungerer ved at splitte en datamængde ned i mindre og mindre dele, og når undermængderne ikke kan splittes yderligere, resulterer det i et træ med knuder og blade. Knuder i et beslutningstræ er, hvor beslutninger om datapunkter træffes ved hjælp af forskellige filterkriterier. Bladene i et beslutningstræ er datapunkterne, der er klassificeret. Beslutningstræ-algoritmer kan håndtere både numeriske og kategoriske data, og splittene i træet er baseret på bestemte variable/funktioner.

Tilfældige Skove

En tilfældig skov-model er grundlæggende bare en samling af beslutningstræer, hvor forudsigelserne fra de enkelte træer er gennemsnitlige for at komme til en endelig beslutning. Den tilfældige skov-algoritme vælger observationer og funktioner tilfældigt og opbygger de enkelte træer baseret på disse valg.

Dette tutorial-artikel vil udforske, hvordan man opretter et Box-plot i Matplotlib. Box-plots bruges til at visualisere sammenfatningsstatistik for en datamængde, viser attributter af fordelingen som datapunkternes område og fordeling.

Blogger og programmør med specialer i Machine Learning og Deep Learning emner. Daniel håber at hjælpe andre med at bruge AI's kraft til sociale formål.