Generativo versus discriminativo

154

Sé que generativo significa "basado en " y discriminativo significa "basado en ", pero estoy confundido en varios puntos:P(x,y)P(y|x)

  • Wikipedia (+ muchos otros éxitos en la web) clasifican cosas como SVM y árboles de decisión como discriminatorias. Pero estos ni siquiera tienen interpretaciones probabilísticas. ¿Qué significa discriminativo aquí? ¿Discriminativo acaba de significar algo que no es generativo?

  • Naive Bayes (NB) es generativo porque captura y , y por lo tanto tiene (así como ). ¿No es trivial hacer, digamos, una regresión logística (el chico del cartel de los modelos discriminativos) "generativa" simplemente calculando de manera similar (el mismo supuesto de independencia que NB, tal que , donde el MLE para son solo frecuencias)?P(x|y)P(y)P(x,y)P(y|x)P(x)P(x)=P(x0)P(x1)...P(xd)P(xi)

  • Sé que los modelos discriminativos tienden a superar a los generativos. ¿Cuál es el uso práctico de trabajar con modelos generativos? Se cita la posibilidad de generar / simular datos, pero ¿cuándo surge? Personalmente solo tengo experiencia con regresión, clasificación, colaboración. filtrando sobre datos estructurados, ¿son los usos irrelevantes para mí aquí? El argumento de "datos faltantes" ( para perdido ) solo parece darle una ventaja con los datos de entrenamiento (cuando realmente conoce y no necesita marginar sobre para volverse relativamente tonto que podría haber estimado directamente de todos modos), e incluso entonces la imputación es mucho más flexible (puede predecirse basándose no solo enP(xi|y)xiyP(y)P(xi)ypero otras también).xi

  • ¿Qué pasa con las citas completamente contradictorias de Wikipedia? "los modelos generativos son típicamente más flexibles que los modelos discriminativos para expresar dependencias en tareas de aprendizaje complejas" frente a "los modelos discriminativos generalmente pueden expresar relaciones más complejas entre las variables observadas y objetivo"

Pregunta relacionada que me hizo pensar en esto.

Yang
fuente
55
(+1) Creo que la terminología es confusa, y pienso en un modelo de como generativo para la distribución condicional en contraste con SVM, por ejemplo, que solo modela aspectos de esta distribución condicional para un tipo puramente discriminativo propósito. Como muestra su segundo punto, se puede aumentar un modelo de para convertirlo en un modelo totalmente generativo. La distinción es relevante desde el punto de vista del aprendizaje porque podemos modelar y calcular o podemos modelar . P(y|x)P(y|x)P(x,y)P(y|x)P(y|x)
NRH
2
No creo que su declaración sobre SVM sea cierta: "Pero estas ni siquiera tienen interpretaciones probabilísticas". Cualquier cosa con una función de pérdida se puede interpretar claramente en un sentido probabilístico al encontrar la configuración MAP de un PDF adecuado.
Gmatt

Respuestas:

135

La diferencia fundamental entre modelos discriminativos y modelos generativos es:

  • Los modelos discriminativos aprenden el límite (duro o blando) entre clases
  • Los modelos generativos modelan la distribución de clases individuales.

Para responder a sus preguntas directas:

  • Los SVM y los árboles de decisión son discriminatorios porque aprenden límites explícitos entre clases. SVM es un clasificador de margen máximo, lo que significa que aprende un límite de decisión que maximiza la distancia entre muestras de las dos clases, dado un núcleo. La distancia entre una muestra y el límite de decisión aprendido se puede utilizar para hacer que el SVM sea un clasificador "suave". Los DT aprenden el límite de decisión al dividir recursivamente el espacio de una manera que maximiza la ganancia de información (u otro criterio).

  • Es posible hacer una forma generativa de regresión logística de esta manera. Sin embargo, tenga en cuenta que no está utilizando el modelo generativo completo para tomar decisiones de clasificación.

  • Hay una serie de ventajas que pueden ofrecer los modelos generativos, según la aplicación. Supongamos que se trata de distribuciones no estacionarias, donde los datos de la prueba en línea pueden ser generados por diferentes distribuciones subyacentes que los datos de capacitación. Por lo general, es más sencillo detectar cambios en la distribución y actualizar un modelo generativo en consecuencia que hacerlo para un límite de decisión en una SVM, especialmente si las actualizaciones en línea no necesitan supervisión. Los modelos discriminativos tampoco suelen funcionar para la detección de valores atípicos, aunque los modelos generativos generalmente sí. Lo que es mejor para una aplicación específica, por supuesto, debe evaluarse en función de la aplicación.

  • (Esta cita es enrevesada, pero esto es lo que creo que está tratando de decir) Los modelos generativos generalmente se especifican como modelos gráficos probabilísticos, que ofrecen ricas representaciones de las relaciones de independencia en el conjunto de datos. Los modelos discriminativos no ofrecen representaciones tan claras de las relaciones entre entidades y clases en el conjunto de datos. En lugar de utilizar recursos para modelar completamente cada clase, se centran en modelar ricamente el límite entre clases. Dada la misma cantidad de capacidad (digamos, bits en un programa de computadora que ejecuta el modelo), un modelo discriminatorio puede, por lo tanto, producir representaciones más complejas de este límite que un modelo generativo.

benhamner
fuente
Un comentario trivial: los límites de entre grupos se vuelven cada vez más difíciles de trazar / comprender / medir a medida que aumenta. Así, por ejemplo, el agrupamiento k, visto como un modelo discriminativo, se vuelve más ruidoso y ad hoc. (Ejemplo: comparar la política en sistemas de 2 partidos con 5 partidos en Alemania). (k2)kk
denis
63

(La respuesta de Hamner es excelente, así que solo publique mi respuesta de MetaOptimize para completarla).

Pienso en los algoritmos generativos como un modelo de cómo se generan realmente los datos (pienso en ellos como un modelo de y , en lugar de , aunque supongo que es equivalente), y algoritmos discriminativos que simplemente proporcionan divisiones de clasificación (y no necesariamente de manera probabilística).P(X|Y)P(Y)P(X,Y)

Compare, por ejemplo, los modelos de mezcla gaussiana y la agrupación de k-media. En el primero, tenemos un buen modelo probabilístico de cómo se generan los puntos (elija un componente con cierta probabilidad y luego emita un punto mediante el muestreo de la distribución gaussiana del componente), pero no hay nada que podamos decir realmente sobre el último.

Tenga en cuenta que los algoritmos generativos tienen propiedades discriminatorias, ya que puede obtener una vez que tiene y (según el Teorema de Bayes), aunque los algoritmos discriminativos realmente no tienen propiedades generativas.P(Y|X)P(X|Y)P(Y)

1: Los algoritmos discriminativos le permiten clasificar puntos, sin proporcionar un modelo de cómo se generan realmente los puntos. Entonces estos podrían ser:

  • los algoritmos probabilísticos intentan aprender (por ejemplo, regresión logística);P(Y|X)
  • o algoritmos no probabilísticos que intentan aprender los mapeos directamente desde los puntos a las clases (por ejemplo, perceptrón y SVM simplemente le dan un hiperplano de separación, pero ningún modelo para generar nuevos puntos).

Entonces, sí, los clasificadores discriminativos son clasificadores que no son generativos.

Otra forma de pensar sobre esto es que los algoritmos generativos hacen algún tipo de suposiciones de estructura en su modelo , pero los algoritmos discriminativos hacen menos suposiciones. Por ejemplo, Naive Bayes asume la independencia condicional de sus características, mientras que la regresión logística (la "contraparte" discriminatoria de Naive Bayes) no.

2: Sí, Naive Bayes es generativo porque captura y . Por ejemplo, si sabemos que y , junto con las probabilidades de palabras en inglés y francés, ahora podemos generar un nuevo documento eligiendo primero el idioma del documento ( Inglés con probabilidad 0.7, francés con probabilidad 0.3), y luego generar palabras de acuerdo con las probabilidades de palabras del idioma elegido.P(X|Y)P(Y)P(Y=English)=0.7P(Y=French)=0.3

Sí, supongo que podría hacer que la regresión logística sea generativa de esa manera, pero es solo porque está agregando algo a la regresión logística que aún no existe. Es decir, cuando realiza una clasificación Naive Bayes, calcula directamente (los términos a la derecha, y , son los que le permiten generar un nuevo documento); pero cuando calcula en regresión logística, no calcula estas dos cosas, solo aplica una función logística a un producto de puntos.P(Y|X)P(X|Y)P(Y)P(X|Y)P(Y)P(Y|X)

3: Los modelos generativos a menudo superan a los modelos discriminativos en conjuntos de datos más pequeños porque sus supuestos generativos colocan cierta estructura en su modelo que evita el sobreajuste . Por ejemplo, consideremos Naive Bayes vs. Regresión logística. La suposición de Naive Bayes, por supuesto, rara vez se cumple, por lo que la regresión logística tenderá a superar a Naive Bayes a medida que crezca su conjunto de datos (ya que puede capturar dependencias que Naive Bayes no puede). Pero cuando solo tiene un pequeño conjunto de datos, la regresión logística puede detectar patrones espurios que realmente no existen, por lo que Naive Bayes actúa como una especie de regularizador en su modelo que evita el sobreajuste. Hay un artículo de Andrew Ng y Michael Jordan sobre clasificadores discriminativos contra generadores que habla más sobre esto.

4: Creo que lo que significa es que los modelos generativos realmente pueden aprender la estructura subyacente de los datos si especificas tu modelo correctamente y el modelo realmente se mantiene, pero los modelos discriminativos pueden tener un rendimiento superior en caso de que tus suposiciones generativas no se cumplan (ya que los algoritmos discriminativos son menos atado a una estructura particular, y el mundo real es desordenado y las suposiciones rara vez se satisfacen perfectamente de todos modos). (Probablemente ignore estas citas si son confusas).

raegtin
fuente