Generativo vs Discriminativo

Inferência, estimação e tomada de decisão a partir de dados

Há duas formas fundamentalmente distintas de construir um classificador, e essa divisão atravessa todo o machine learning. Um modelo discriminativo aprende diretamente a fronteira entre classes. Um modelo generativo aprende como cada classe gera os seus dados e deriva a fronteira como subproduto.

Formalmente: um modelo discriminativo estima diretamente a condicional p(y|x), respondendo a "dadas estas variáveis, qual o rótulo?". Um modelo generativo estima a conjunta p(x, y) (muitas vezes através de p(x|y) e p(y)) e usa depois a regra de Bayes para obter p(y|x).

Pense em dois estudantes de arte. Um aprende a pintar um gato do zero, dominando como pelo, bigodes e orelhas se juntam: isso é um modelo generativo, que aprende como cada classe produz seus dados. O outro nunca pinta nada, mas se torna brilhante em identificar um gato versus um cachorro em qualquer foto: isso é um modelo discriminativo, que aprende apenas o limite entre as classes. O pintor consegue criar novos gatos; o identificador apenas traça a linha, e muitas vezes é mais afiado nisso.

Onde isso aparece no MLEsta dicotomia organiza enormes porções do ML. Um classificador (regressão logística, a maioria das redes neurais) é discriminativo: p(y|x) e nada mais. Um VAE ou um modelo de difusão é generativo: aprende p(x) suficientemente bem para sintetizar imagens novas, algo que um discriminador não consegue fazer. Naive Bayes vs regressão logística é o par clássico dos manuais; VAE vs classificador é o…
▶ Generativo vs Discriminativo
← Testes Estatísticos para MLExpectation-Maximization (EM) →