Generativo vs. discriminativo


154

So che generativo significa "basato su " e discriminante "basato su ", ma sono confuso su diversi punti:P(x,y)P(y|x)

  • Wikipedia (+ molti altri successi sul web) classificano come discriminatori SVM e alberi delle decisioni. Ma questi non hanno nemmeno interpretazioni probabilistiche. Cosa significa discriminante qui? La discriminazione è appena arrivata a significare qualcosa che non è generativo?

  • Naive Bayes (NB) è generativo perché cattura e , e quindi hai (così come ). Non è banale rendere, ad esempio, la regressione logistica (il ragazzo dei modelli discriminatori) "generativa" semplicemente calcolando in modo simile (stessa ipotesi di indipendenza di NB, tale che , dove gli MLE per sono solo frequenze)?P(x|y)P(y)P(x,y)P(y|x)P(x)P(x)=P(x0)P(x1)...P(xd)P(xi)

  • So che i modelli discriminatori tendono a sovraperformare quelli generativi. Qual è l'uso pratico di lavorare con modelli generativi? Essere in grado di generare / simulare dati è citato, ma quando si presenta? Personalmente ho esperienza solo con regressione, classificazione, collab. filtraggio su dati strutturati, quindi gli usi sono irrilevanti per me qui? L'argomento "dati mancanti" ( per mancante ) sembra darti un vantaggio solo con i dati di addestramento (quando conosci effettivamente e non hai bisogno di emarginare su per ottenere il relativamente stupido che avresti potuto stimare in ogni caso direttamente), e anche in questo caso l'imputazione è molto più flessibile (può prevedere basandosi non solo sux i y P ( y ) P ( x i ) y x iP(xi|y)xiyP(y)P(xi)yma anche altri ).xi

  • Cosa c'è con le citazioni completamente contraddittorie di Wikipedia? "I modelli generativi sono in genere più flessibili dei modelli discriminatori nell'esprimere dipendenze in compiti di apprendimento complessi" vs. "I modelli discriminatori possono generalmente esprimere relazioni più complesse tra le variabili osservate e quelle target"

Domanda correlata che mi ha fatto pensare a questo.


5
(+1) Penso che la terminologia sia confusa, e penso a un modello di come generativo per la distribuzione condizionale in contrasto con SVM, diciamo, che modella solo aspetti di questa distribuzione condizionale per un puramente discriminatorio scopo. Come mostra il tuo secondo punto elenco, un modello di può essere aumentato per diventare un modello completamente generativo. La distinzione è rilevante dal punto di vista dell'apprendimento perché possiamo modellare e calcolare oppure possiamo modellare . P ( y | x ) P ( x , y ) P ( y | x ) P ( y | x )P(y|x)P(y|x)P(x,y)P(y|x)P(y|x)
NRH,

2
Non penso che la tua affermazione sugli SVM sia vera: "Ma questi non hanno nemmeno interpretazioni probabilistiche". Qualsiasi cosa con una funzione di perdita può essere chiaramente interpretata in senso probabilistico trovando la configurazione MAP di un PDF adatto.
gmatt,

Risposte:


135

La differenza fondamentale tra modelli discriminatori e modelli generativi è:

  • I modelli discriminatori apprendono il confine (duro o morbido) tra le classi
  • I modelli generativi modellano la distribuzione di singole classi

Per rispondere alle tue domande dirette:

  • Le SVM e gli alberi decisionali sono discriminatori perché apprendono confini espliciti tra le classi. SVM è un classificatore di margine massimo, nel senso che apprende un limite di decisione che massimizza la distanza tra i campioni delle due classi, dato un kernel. La distanza tra un campione e il limite di decisione appreso può essere utilizzata per rendere l'SVM un classificatore "soft". I DT imparano il confine decisionale partizionando ricorsivamente lo spazio in modo da massimizzare il guadagno di informazioni (o un altro criterio).

  • In questo modo è possibile creare una forma generativa di regressione logistica. Si noti che non si sta utilizzando il modello generativo completo per prendere decisioni di classificazione.

  • Esistono numerosi vantaggi che i modelli generativi possono offrire, a seconda dell'applicazione. Supponiamo che tu abbia a che fare con distribuzioni non stazionarie, in cui i dati dei test online possono essere generati da distribuzioni sottostanti diverse rispetto ai dati di addestramento. In genere è più semplice rilevare le modifiche alla distribuzione e aggiornare di conseguenza un modello generativo piuttosto che farlo per un limite decisionale in un SVM, specialmente se gli aggiornamenti online devono essere non controllati. Anche i modelli discriminatori non funzionano generalmente per il rilevamento anomalo, sebbene i modelli generativi generalmente lo facciano. Ciò che è meglio per un'applicazione specifica dovrebbe, ovviamente, essere valutato in base all'applicazione.

  • (Questa citazione è contorta, ma questo è quello che penso stia cercando di dire) I modelli generativi sono in genere specificati come modelli grafici probabilistici, che offrono ricche rappresentazioni delle relazioni di indipendenza nel set di dati. I modelli discriminatori non offrono rappresentazioni così chiare delle relazioni tra caratteristiche e classi nel set di dati. Invece di utilizzare le risorse per modellare completamente ogni classe, si concentrano sulla modellazione ricca del confine tra le classi. Data la stessa quantità di capacità (ad esempio, bit in un programma per computer che esegue il modello), un modello discriminante può quindi produrre rappresentazioni più complesse di questo limite rispetto a un modello generativo.


Un commento banale: confini tra i cluster diventano sempre più difficili da tracciare / comprendere / misurare all'aumentare di . Pertanto, ad esempio, il k-clustering, visto come un modello discriminatorio, diventa più rumoroso e ad hoc. (Esempio: confrontare la politica in sistemi a 2 partiti con 5 partiti in Germania). (k2)kk
denis,

63

(la risposta di Hamner è ottima, quindi basta postare in croce la mia risposta da MetaOptimize per completezza.)

Penso agli algoritmi generativi come a fornire un modello di come vengono effettivamente generati i dati (penso a loro come a darti un modello di e , piuttosto che di , anche se immagino che sia equivalente) e algoritmi discriminatori che forniscono semplicemente divisioni di classificazione (e non necessariamente in modo probabilistico).P(X|Y)P(Y)P(X,Y)

Confronta, ad esempio, i modelli di miscele gaussiane e il clustering k-mean. Nel primo, abbiamo un bel modello probabilistico per come vengono generati i punti (scegli un componente con una certa probabilità, quindi emetti un punto campionando dalla distribuzione gaussiana del componente), ma non c'è nulla che possiamo davvero dire su quest'ultimo.

Nota che gli algoritmi generativi hanno proprietà discriminatorie, poiché puoi ottenere una volta che hai e (secondo il teorema di Bayes), sebbene gli algoritmi discriminativi non abbiano realmente proprietà generative.P(Y|X)P(X|Y)P(Y)

1: algoritmi discriminatori consentono di classificare i punti, senza fornire un modello di come i punti vengono effettivamente generati. Quindi questi potrebbero essere:

  • gli algoritmi probabilistici tentano di apprendere (ad es. regressione logistica);P(Y|X)
  • o algoritmi non probabilistici che provano ad apprendere le mappature direttamente dai punti alle classi (ad esempio, percettrone e SVM semplicemente forniscono un iperpiano di separazione, ma nessun modello per generare nuovi punti).

Quindi sì, i classificatori discriminatori sono classificatori che non sono generativi.

Un altro modo di pensare a questo è che gli algoritmi generativi fanno una sorta di ipotesi di struttura sul tuo modello , ma gli algoritmi discriminatori fanno meno ipotesi. Ad esempio, Naive Bayes assume l'indipendenza condizionale delle tue caratteristiche, mentre la regressione logistica (la "controparte" discriminante di Naive Bayes) no.

2: Sì, Naive Bayes è generativo perché cattura e . Ad esempio, se sappiamo che e , insieme alle probabilità di parola inglese e francese, ora possiamo generare un nuovo documento scegliendo prima la lingua del documento ( Inglese con probabilità 0,7, francese con probabilità 0,3), quindi generazione di parole in base alla probabilità di parola della lingua scelta.P(X|Y)P(Y)P(Y=English)=0.7P(Y=French)=0.3

Sì, suppongo che potresti rendere generativa la regressione logistica in quel modo, ma è solo perché stai aggiungendo qualcosa alla regressione logistica che non è già lì. Cioè, quando esegui una classificazione Naive Bayes, stai calcolando direttamente (i termini a destra, e , sono ciò che ti consente di generare un nuovo documento); ma quando stai calcolando nella regressione logistica, non stai calcolando queste due cose, stai solo applicando una funzione logistica a un prodotto punto.P(Y|X)P(X|Y)P(Y)P(X|Y)P(Y)P(Y|X)

3: I modelli generativi spesso sovraperformano i modelli discriminatori su insiemi di dati più piccoli perché i loro presupposti generativi posizionano una struttura sul modello che impedisce l'adattamento eccessivo . Ad esempio, consideriamo Naive Bayes contro la regressione logistica. Il presupposto di Naive Bayes è ovviamente raramente soddisfatto, quindi la regressione logistica tenderà a sovraperformare Naive Bayes man mano che il set di dati cresce (poiché può catturare dipendenze che Naive Bayes non può). Ma quando hai solo un piccolo set di dati, la regressione logistica potrebbe riprendersi da schemi spuri che in realtà non esistono, quindi Naive Bayes agisce come una sorta di regolarizzatore sul tuo modello che impedisce l'adattamento eccessivo. C'è un articolo di Andrew Ng e Michael Jordan sui classificatori discriminatori e generativi che ne parla di più.

4: Penso che ciò significhi che i modelli generativi possono effettivamente apprendere la struttura sottostante dei dati se specifichi correttamente il tuo modello e il modello è effettivamente valido, ma i modelli discriminanti possono sovraperformare nel caso in cui i tuoi presupposti generativi non siano soddisfatti (poiché gli algoritmi discriminatori sono meno legato a una particolare struttura, e il mondo reale è disordinato e le assunzioni raramente sono comunque perfettamente soddisfatte). (Probabilmente ignorerei solo queste citazioni se sono confuse.)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.