IA 101
Modelli di apprendimento automatico generativi vs discriminativi

Alcuni modelli di apprendimento automatico appartengono a categorie di modelli “generativi” o “discriminativi”. Eppure, qual è la differenza tra queste due categorie di modelli? Cosa significa che un modello sia discriminativo o generativo?
La risposta breve è che i modelli generativi sono quelli che includono la distribuzione del set di dati, restituendo una probabilità per un esempio dato. I modelli generativi vengono spesso utilizzati per prevedere cosa accade dopo in una sequenza. Nel frattempo, i modelli discriminativi vengono utilizzati per la classificazione o la regressione e restituiscono una previsione in base alla probabilità condizionale. Esploriamo le differenze tra modelli generativi e discriminativi in maggior dettaglio, in modo da poter comprendere veramente cosa separa i due tipi di modelli e quando ogni tipo dovrebbe essere utilizzato.
Modelli generativi vs discriminativi
Esistono vari modi per categorizzare un modello di apprendimento automatico. Un modello può essere classificato come appartenente a diverse categorie come: modelli generativi, modelli discriminativi, modelli parametrici, modelli non parametrici, modelli basati su alberi, modelli non basati su alberi.
Questo articolo si concentrerà sulle differenze tra modelli generativi e discriminativi. Inizieremo definendo sia i modelli generativi che quelli discriminativi, e poi esploreremo alcuni esempi di ogni tipo di modello.
Modelli generativi
I modelli generativi sono quelli che si concentrano sulla distribuzione delle classi all’interno del set di dati. Gli algoritmi di apprendimento automatico modellano tipicamente la distribuzione dei punti di dati. I modelli generativi si basano sulla ricerca della probabilità congiunta. Creando punti in cui una caratteristica di input data e un output/etichetta desiderati esistono contemporaneamente.
I modelli generativi vengono tipicamente utilizzati per stimare le probabilità e le verosimiglianze, modellando i punti di dati e discriminando tra le classi in base a queste probabilità. Poiché il modello apprende una distribuzione di probabilità per il set di dati, può fare riferimento a questa distribuzione di probabilità per generare nuove istanze di dati. I modelli generativi spesso si basano sul teorema di Bayes per trovare la probabilità congiunta, trovando p(x,y). In sostanza, i modelli generativi modellano come sono stati generati i dati, rispondendo alla seguente domanda:
“Qual è la probabilità che questa classe o un’altra classe abbia generato questo punto di dati/istanza?”
Esempi di modelli di apprendimento automatico generativi includono l’analisi discriminante lineare (LDA), i modelli di Markov nascosti e le reti bayesiane come Naive Bayes.
Modelli discriminativi
Mentre i modelli generativi apprendono la distribuzione del set di dati, i modelli discriminativi apprendono il confine tra le classi all’interno del set di dati. Con i modelli discriminativi, l’obiettivo è identificare il confine decisionale tra le classi per applicare etichette di classe affidabili alle istanze di dati. I modelli discriminativi separano le classi nel set di dati utilizzando la probabilità condizionale, senza fare alcuna ipotesi sui punti di dati individuali.
I modelli discriminativi si propongono di rispondere alla seguente domanda:
“Su quale lato del confine decisionale si trova questa istanza?”
Esempi di modelli discriminativi nell’apprendimento automatico includono le macchine a vettori di supporto, la regressione logistica, gli alberi decisionali e le foreste casuali.
Differenze tra generativi e discriminativi
Ecco una rapida panoramica delle principali differenze tra modelli generativi e discriminativi.
Modelli generativi:
- I modelli generativi si propongono di catturare la distribuzione effettiva delle classi nel set di dati.
- I modelli generativi prevedono la distribuzione di probabilità congiunta – p(x,y) – utilizzando il teorema di Bayes.
- I modelli generativi sono computazionalmente costosi rispetto ai modelli discriminativi.
- I modelli generativi sono utili per compiti di apprendimento automatico non supervisionato.
- I modelli generativi sono influenzati dalla presenza di valori anomali più dei modelli discriminativi.
Modelli discriminativi:
- I modelli discriminativi modellano il confine decisionale per le classi del set di dati.
- I modelli discriminativi apprendono la probabilità condizionale – p(y|x).
- I modelli discriminativi sono computazionalmente economici rispetto ai modelli generativi.
- I modelli discriminativi sono utili per compiti di apprendimento automatico supervisionato.
- I modelli discriminativi hanno il vantaggio di essere più robusti ai valori anomali, a differenza dei modelli generativi.
- I modelli discriminativi sono più robusti ai valori anomali rispetto ai modelli generativi.
Esploreremo ora alcuni esempi diversi di modelli di apprendimento automatico generativi e discriminativi.
Esempi di modelli generativi
Analisi discriminante lineare (LDA)
I modelli LDA funzionano stimando la varianza e la media dei dati per ogni classe nel set di dati. Dopo che la media e le varianze per ogni classe sono state calcolate, le previsioni possono essere fatte stimando la probabilità che un insieme di input appartenga a una classe data.
Modelli di Markov nascosti
Le catene di Markov possono essere considerate come grafi con probabilità che indicano quanto è probabile che si passi da un punto della catena, uno “stato”, a un altro stato. Le catene di Markov vengono utilizzate per determinare la probabilità di passare da uno stato j a uno stato i, che può essere denotato come p(i,j). Ciò è solo la probabilità congiunta menzionata sopra. Un modello di Markov nascosto è dove viene utilizzata una catena di Markov invisibile e non osservabile. I dati di input vengono dati al modello e le probabilità per lo stato corrente e lo stato immediatamente precedente vengono utilizzate per calcolare il risultato più probabile.
Reti bayesiane
Le reti bayesiane sono un tipo di modello grafico probabilistico. Rappresentano le dipendenze condizionali tra variabili, come rappresentato da un grafo aciclico diretto. In una rete bayesiana, ogni arco del grafo rappresenta una dipendenza condizionale e ogni nodo corrisponde a una variabile univoca. La dipendenza condizionale per le relazioni univoche nel grafo può essere utilizzata per determinare la distribuzione congiunta delle variabili e calcolare la probabilità congiunta. In altre parole, una rete bayesiana cattura un subset delle relazioni indipendenti in una specifica distribuzione di probabilità congiunta.
Una volta creata e definita una rete bayesiana, con variabili casuali, relazioni condizionali e distribuzioni di probabilità note, può essere utilizzata per stimare la probabilità di eventi o risultati.
Uno dei tipi più comuni di reti bayesiane è il modello Naive Bayes. Un modello Naive Bayes affronta la sfida di calcolare la probabilità per set di dati con molti parametri/variabili trattando tutte le caratteristiche come indipendenti l’una dall’altra.
Esempi di modelli discriminativi
Macchine a vettori di supporto
Le macchine a vettori di supporto operano disegnando un confine decisionale tra i punti di dati, trovando il confine decisionale che meglio separa le diverse classi nel set di dati. L’algoritmo SVM disegna linee o iperpiani che separano i punti, per spazi bidimensionali e tridimensionali rispettivamente. L’SVM si sforza di trovare la linea/iperpiano che meglio separa le classi cercando di massimizzare il margine, o la distanza tra la linea/iperpiano e i punti più vicini. I modelli SVM possono anche essere utilizzati su set di dati che non sono linearmente separabili utilizzando il “trucco del kernel” per identificare confini decisionali non lineari.
Regressione logistica
La regressione logistica è un algoritmo che utilizza una funzione logit (log-odds) per determinare la probabilità che un input sia in uno di due stati. Una funzione sigmoide viene utilizzata per “comprimere” la probabilità verso 0 o 1, vero o falso. Le probabilità maggiori di 0,50 sono considerate come classe 1, mentre le probabilità di 0,49 o inferiori sono considerate come 0. Per questo motivo, la regressione logistica viene tipicamente utilizzata in problemi di classificazione binaria. Tuttavia, la regressione logistica può essere applicata a problemi di classificazione multi-classe utilizzando un approccio one-vs-all, creando un modello di classificazione binaria per ogni classe e determinando la probabilità che un esempio sia una classe di destinazione o un’altra classe nel set di dati.
Albero decisionale
Un modello di albero decisionale funziona dividendo il set di dati in porzioni sempre più piccole, e una volta che i subset non possono essere più divisi, il risultato è un albero con nodi e foglie. I nodi in un albero decisionale sono dove vengono prese decisioni sui punti di dati utilizzando diversi criteri di filtro. Le foglie in un albero decisionale sono i punti di dati che sono stati classificati. Gli algoritmi di albero decisionale possono gestire sia dati numerici che categoriali, e le divisioni nell’albero si basano su variabili/caratteristiche specifiche.
Foreste casuali
Un modello di foresta casuale è fondamentalmente solo una raccolta di alberi decisionali dove le previsioni degli alberi individuali vengono mediate per arrivare a una decisione finale. L’algoritmo di foresta casuale seleziona osservazioni e caratteristiche in modo casuale, costruendo gli alberi individuali in base a queste selezioni.












