Generatief versus Discriminatief

Inferentie, schatting en besluitvorming uit data

Er zijn twee fundamenteel verschillende manieren om een classifier te bouwen, en de scheiding loopt door heel machine learning. Een discriminatief model leert de grens tussen klassen direct. Een generatief model leert hoe elke klasse zijn data genereert, en leidt de grens af als bijproduct.

Formeel: een discriminatief model schat de conditionele p(y|x) direct, en beantwoordt "gegeven deze kenmerken, welk label?" Een generatief model schat de gezamenlijke p(x, y) (vaak via p(x|y) en p(y)), en gebruikt dan de regel van Bayes om p(y|x) te krijgen.

Denk aan twee kunstacademie studenten. De ene leert een kat vanaf nul te schilderen, waarbij hij onder de knie krijgt hoe vacht, snorharen en oren samenkomen: dat is een generatief model, dat leert hoe elke klasse zijn data produceert. De andere schildert nooit iets, maar wordt briljant in het herkennen van een kat in tegenstelling tot een hond op een willekeurige foto: dat is een discriminatief model, dat alleen de grens tussen klassen leert. De schilder kan nieuwe katten creëren; de herkenner trekt alleen de grens, en is daar vaak scherper in.

Waar dit voorkomt in MLDeze tweedeling ordent enorme stukken van ML. Een classifier (logistische regressie, de meeste neurale netwerken) is discriminatief: p(y|x) en niets meer. Een VAE of diffusiemodel is generatief: het leert p(x) goed genoeg om nieuwe afbeeldingen te synthetiseren, wat een discriminator niet kan. Naïeve Bayes versus logistische regressie is het klassieke leerboekpaar; VAE versus classifier is de…
▶ Generatief versus Discriminatief
← Statistisch Toetsen voor MLExpectation-Maximization (EM) →