stomp Generatieve versus discriminerende machine learning-modellen - Unite.AI
Verbind je met ons

AI 101

Generatieve versus discriminerende machine learning-modellen

mm
Bijgewerkt on

Sommige machine learning-modellen behoren tot de ‘generatieve’ of ‘discriminerende’ modelcategorieën. Maar wat is het het verschil tussen deze twee categorieën modellen? Wat betekent het voor een model om discriminerend of generatief te zijn?

Het korte antwoord is dat generatieve modellen modellen zijn die de verdeling van de dataset bevatten en een waarschijnlijkheid voor een bepaald voorbeeld retourneren. Generatieve modellen worden vaak gebruikt om te voorspellen wat er daarna in een reeks gebeurt. Ondertussen worden discriminerende modellen gebruikt voor classificatie of regressie en ze retourneren een voorspelling gebaseerd op voorwaardelijk waarschijnlijkheid. Laten we de verschillen tussen generatieve en discriminerende modellen in meer detail onderzoeken, zodat we echt kunnen begrijpen wat de twee typen modellen scheidt en wanneer elk type moet worden gebruikt.

Generatieve versus discriminerende modellen

Er zijn verschillende manieren om een ​​machine learning-model te categoriseren. Een model kan worden geclassificeerd als behorend tot verschillende categorieën, zoals: generatieve modellen, discriminerende modellen, parametrische modellen, niet-parametrische modellen, op bomen gebaseerde modellen, niet op bomen gebaseerde modellen.

Dit artikel gaat in op de verschillen tussen generatieve modellen en discriminerende modellen. We beginnen met het definiëren van zowel generatieve als discriminerende modellen, en daarna zullen we enkele voorbeelden van elk type model onderzoeken.

Generatieve modellen

generatieve modellen zijn degenen die zich richten op de verdeling van de klassen binnen de dataset. De machine learning-algoritmen modelleren doorgaans de verdeling van de datapunten. Generatieve modellen zijn gebaseerd op het vinden van gezamenlijke waarschijnlijkheid. Punten creëren waar een bepaald invoerkenmerk en een gewenst uitvoer/label gelijktijdig bestaan.

Generatieve modellen worden doorgaans gebruikt om waarschijnlijkheden en waarschijnlijkheden in te schatten, gegevenspunten te modelleren en onderscheid te maken tussen klassen op basis van deze waarschijnlijkheden. Omdat het model een kansverdeling voor de gegevensset leert, kan het naar deze kansverdeling verwijzen om nieuwe gegevensinstanties te genereren. Generatieve modellen vertrouwen vaak op Stelling van Bayes om de gezamenlijke waarschijnlijkheid te vinden door p(x,y) te vinden. In wezen modelleren generatieve modellen hoe de gegevens zijn gegenereerd, beantwoorden ze de volgende vraag:

"Hoe waarschijnlijk is het dat deze klasse of een andere klasse dit gegevenspunt/deze instantie heeft gegenereerd?"

Voorbeelden van generatieve machine learning-modellen zijn Linear Discriminant Analysis (LDA), Hidden Markov-modellen en Bayesiaanse netwerken zoals Naive Bayes.

Discriminerende modellen

Terwijl generatieve modellen leren over de distributie van de dataset, discriminerende modellen leren over de grens tussen klassen binnen een dataset. Bij discriminerende modellen is het doel om te identificeren de beslissingsgrens tussen klassen om betrouwbare klassenlabels toe te passen op gegevensinstanties. Discriminerende modellen scheiden de klassen in de dataset door voorwaardelijke waarschijnlijkheid te gebruiken en geen aannames te doen over individuele datapunten.

Discriminerende modellen trachten de volgende vraag te beantwoorden:

"Aan welke kant van de beslissingsgrens bevindt deze instantie zich?"

Voorbeelden van discriminerende modellen in machinaal leren zijn onder meer ondersteuningsvectormachines, logistieke regressie, beslissingsbomen en willekeurige bossen.

Verschillen tussen generatief en discriminerend

Hier is een kort overzicht van de belangrijkste verschillen tussen generatieve en discriminerende modellen.

generatieve modellen:

  • Generatieve modellen zijn bedoeld om de daadwerkelijke verdeling van de klassen in de dataset vast te leggen.
  • Generatieve modellen voorspellen de gezamenlijke waarschijnlijkheidsverdeling – p(x,y) – met behulp van de stelling van Bayes.
  • Generatieve modellen zijn rekenkundig duur in vergelijking met discriminerende modellen.
  • Generatieve modellen zijn handig voor machine learning-taken zonder toezicht.
  • Generatieve modellen worden meer beïnvloed door de aanwezigheid van uitschieters dan discriminerende modellen.

Discriminerende modellen:

  • Discriminerende modellen modelleren de beslissingsgrens voor de datasetklassen.
  • Discriminerende modellen leren de voorwaardelijke kans – p(y|x).
  • Discriminerende modellen zijn computationeel goedkoop in vergelijking met generatieve modellen.
  • Discriminerende modellen zijn handig voor machine learning-taken onder toezicht.
  • Discriminerende modellen hebben het voordeel dat ze robuuster zijn voor uitschieters, in tegenstelling tot de generatieve modellen.
  • Discriminerende modellen zijn robuuster voor uitschieters in vergelijking met generatieve modellen.

We zullen nu kort enkele verschillende voorbeelden van generatieve en discriminerende machine learning-modellen onderzoeken.

Voorbeelden van generatieve modellen

Lineaire discriminatieanalyse (LDA)

LDA-modellen functie door de variantie en het gemiddelde van de gegevens voor elke klasse in de gegevensset te schatten. Nadat het gemiddelde en de varianties voor elke klasse zijn berekend, kunnen voorspellingen worden gedaan door de waarschijnlijkheid te schatten dat een bepaalde set inputs tot een bepaalde klasse behoort.

Verborgen Markov-modellen

Markov ketens kunnen worden gezien als grafieken met waarschijnlijkheden die aangeven hoe waarschijnlijk het is dat we van het ene punt in de keten, een "toestand", naar een andere toestand gaan. Markov-ketens worden gebruikt om de kans te bepalen om van toestand j naar toestand i te gaan, wat kan worden aangeduid als p(i,j). Dit is slechts de hierboven genoemde gezamenlijke waarschijnlijkheid. Een verborgen Markov-model is waar een onzichtbare, niet-waarneembare Markov-keten wordt gebruikt. De gegevensinvoer wordt aan het model gegeven en de waarschijnlijkheden voor de huidige toestand en de onmiddellijk daaraan voorafgaande toestand worden gebruikt om de meest waarschijnlijke uitkomst te berekenen.

Bayesiaanse netwerken

Bayesiaanse netwerken zijn een soort probabilistisch grafisch model. Ze vertegenwoordigen voorwaardelijke afhankelijkheden tussen variabelen, zoals weergegeven door een gerichte acyclische grafiek. In een Bayesiaans netwerk vertegenwoordigt elke rand van de grafiek een voorwaardelijke afhankelijkheid en komt elk knooppunt overeen met een unieke variabele. De voorwaardelijke onafhankelijkheid voor de unieke relaties in de grafiek kan worden gebruikt om de gezamenlijke verdeling van de variabelen te bepalen en de gezamenlijke waarschijnlijkheid te berekenen. Met andere woorden, een Bayesiaans netwerk vangt een subset van de onafhankelijke relaties op in een specifieke gezamenlijke kansverdeling.

Zodra een Bayesiaans netwerk is gemaakt en correct is gedefinieerd, met bekende willekeurige variabelen, voorwaardelijke relaties en waarschijnlijkheidsverdelingen, kan het worden gebruikt om de waarschijnlijkheid van gebeurtenissen of uitkomsten in te schatten.

Een van de meest gebruikte typen Bayesiaanse netwerken is een Naive Bayes-model. Een Naïef Bayes-model gaat de uitdaging aan om de waarschijnlijkheid te berekenen voor datasets met veel parameters/variabelen door alle kenmerken als onafhankelijk van elkaar te behandelen.

Voorbeelden van discriminerende modellen

Ondersteuning van vectormachines

Ondersteunende vectormachines werken door een beslissingsgrens tussen datapunten te trekken, waarbij de beslissingsgrens wordt gevonden die de verschillende klassen in de dataset het best van elkaar scheidt. Het SVM-algoritme tekent lijnen of hypervlakken die punten scheiden, respectievelijk voor 2-dimensionale ruimten en 3D-ruimten. SVM probeert de lijn/hypervlak te vinden die de klassen het best van elkaar scheidt door te proberen de marge of de afstand tussen de lijn/hypervlak tot de dichtstbijzijnde punten te maximaliseren. SVM-modellen kunnen ook worden gebruikt op datasets die niet lineair kunnen worden gescheiden door de "kerneltruc" te gebruiken om niet-lineaire beslissingsgrenzen te identificeren.

Logistische regressie

Logistische regressie is een algoritme dat een logit-functie (log-odds) gebruikt om de waarschijnlijkheid te bepalen dat een invoer zich in een van twee toestanden bevindt. Een sigmoïde functie wordt gebruikt om de waarschijnlijkheid naar 0 of 1, waar of onwaar, te "drukken". Kansen groter dan 0.50 worden verondersteld klasse 1 te zijn, terwijl waarschijnlijkheden van 0.49 of lager worden verondersteld 0 te zijn. Om deze reden wordt logistische regressie meestal gebruikt bij binaire classificatieproblemen. Logistische regressie kan echter worden toegepast op problemen met meerdere klassen door een één-tegen-allesbenadering te gebruiken, een binair classificatiemodel voor elke klasse te maken en de waarschijnlijkheid te bepalen dat een voorbeeld een doelklasse of een andere klasse in de dataset is.

Beslissingsboom

A beslissingsboom modelfuncties door een dataset op te splitsen in steeds kleinere delen, en zodra de subsets niet verder kunnen worden opgesplitst, is het resultaat een boom met knopen en bladeren. Knooppunten in een beslissingsboom zijn waar beslissingen over gegevenspunten worden genomen met behulp van verschillende filtercriteria. De bladeren in een beslisboom zijn de datapunten die zijn geclassificeerd. Beslisboomalgoritmen kunnen zowel numerieke als categorische gegevens verwerken, en splitsingen in de boom zijn gebaseerd op specifieke variabelen/kenmerken.

Willekeurige bossen

A willekeurig bosmodel is eigenlijk gewoon een verzameling beslissingsbomen waar de voorspellingen van de individuele bomen worden gemiddeld om tot een definitieve beslissing te komen. Het random forest-algoritme selecteert willekeurig waarnemingen en kenmerken en bouwt de individuele bomen op basis van deze selecties.

In dit zelfstudieartikel wordt onderzocht hoe u een Box Plot in Matplotlib kunt maken. Boxplots worden gebruikt om samenvattende statistieken van een dataset te visualiseren, waarbij attributen van de distributie worden weergegeven, zoals het bereik en de distributie van de gegevens.

Blogger en programmeur met specialiteiten in Machine leren en Diepe leren onderwerpen. Daniel hoopt anderen te helpen de kracht van AI te gebruiken voor maatschappelijk welzijn.