Pregunta

Por favor, me ayudan a comprender la diferencia entre un generativo y un discriminativo algoritmo, teniendo en cuenta que soy un principiante.

¿Fue útil?

Solución

Digamos que usted tiene x de datos de entrada y desea clasificar los datos en etiquetas y. Un modelo generativo se entera de la conjunto p(x,y) distribución de probabilidad y un modelo discriminativo aprende el p(y|x) distribución condicional probabilidad - que debería leer como "la probabilidad de y dado x" .

Este es un ejemplo muy simple. Suponga que tiene los datos siguientes en la forma (x,y):

(1,0), (1,0), (2,0), (2, 1)

p(x,y) es

      y=0   y=1
     -----------
x=1 | 1/2   0
x=2 | 1/4   1/4

p(y|x) es

      y=0   y=1
     -----------
x=1 | 1     0
x=2 | 1/2   1/2

Si se toma unos minutos para mirar a esos dos matrices, comprenderá la diferencia entre las dos distribuciones de probabilidad.

El p(y|x) distribución es la distribución natural para la clasificación de un ejemplo x dada en una y clase, que es por algoritmos que modelar esta directamente son llamados algoritmos discriminativos. algoritmos generativos modelo p(x,y), que puede ser transformado en p(y|x) mediante la aplicación de la regla de Bayes y luego se usa para la clasificación. Sin embargo, el p(x,y) distribución también puede ser utilizado para otros fines. Por ejemplo, podría utilizar p(x,y) a generar pares probable (x,y).

A partir de la descripción anterior, ustedes podrían estar pensando que los modelos generativos son más útiles en general y por lo tanto mejor, pero no es tan simple como eso. Este documento es una referencia muy popular sobre el tema de discriminativo clasificadores vs generativos, pero va bastante pesado. Lo esencial es que en general los modelos discriminantes generalmente superan a los modelos generativos en las tareas de clasificación.

Otros consejos

A algoritmo generativo modelos de cómo los datos se generó con el fin de clasificar una señal. Se hace la pregunta:? Basado en mis suposiciones generación, que tiene la mayor probabilidad de generar esta señal categorías

algoritmo discriminativo no se preocupa por cómo se generaron los datos, simplemente se clasifica una señal dada.

Imagine que su tarea consiste en clasificar un discurso a un idioma.

Puede hacerlo de dos formas:

  1. aprender cada idioma y, a continuación, clasificándola utilizando los conocimientos que acaba de ganado

o

  1. determinar la diferencia en los modelos lingüísticos sin tener que aprender los idiomas y, a continuación, la clasificación de la voz.

La primera es la generativa enfoque y la segunda es la discriminativo enfoque.

Comprobar esta referencia para más detalles: http: // www. cedar.buffalo.edu/~srihari/CSE574/Discriminative-Generative.pdf .

En la práctica, los modelos se utilizan de la siguiente manera.

En discriminativo modelos, para predecir la etiqueta y a partir de la formación de ejemplo x, usted debe evaluar:

enter image description here

que simplemente decide cuál es la más probable de la clase y teniendo en cuenta x.Es como que estaban tratando de el modelo de la decisión de límite entre las clases.Este comportamiento es muy claro en las redes neuronales, donde la calculada pesos puede ser visto como una compleja forma de la curva de aislar los elementos de una clase en el espacio.

Ahora, usando la regla de Bayes, vamos a sustituir el enter image description here en la ecuación por enter image description here.Puesto que usted está interesado en la arg max, puede limpiar el denominador, que será el mismo para todos y.Así, se queda con

enter image description here

que es la ecuación que se utiliza en los modelos generativos.

Mientras que en el primer caso se tuvo la la probabilidad condicional de distribución p(y|x), que modelan el límite entre las clases, en la segunda que tuvo la distribución de probabilidad conjunta p(x, y), puesto que p(x, y) = p(x | y) p(y), que explícitamente los modelos de la distribución real de cada clase.

El conjunto de la función de distribución de probabilidad, dado un y, se puede calcular ("generar"), sus respectivos x.Por esta razón, son llamados "generativo" de los modelos.

Esta es la parte más importante de la conferencia señala de CS299 (por Andrew ng) relacionado con el tema, que realmente me ayuda a comprender la diferencia entre discriminativos y generativos algoritmos de aprendizaje.

Supongamos que tenemos dos clases de animales, elefante (y = 1) y perro (y = 0). Y x es el vector de características de los animales.

Dado un conjunto de entrenamiento, al igual que un algoritmo de regresión logística o el algoritmo perceptrón (básicamente) trata de encontrar una línea recta - es decir, una frontera de decisión - que separa a los elefantes y perros. Entonces, para clasificar un nuevo animal, ya sea como un elefante o un perro, se comprueba en qué lado de la frontera de decisión se cae, y hace su predicción en consecuencia. Llamamos a estos algoritmo de aprendizaje discriminativo .

Aquí hay un enfoque diferente. En primer lugar, mirando a los elefantes, podemos construir una modelo de lo que ven como elefantes. Luego, mirando a los perros, podemos construir una modelo separado de lo que los perros se parecen. Por último, para clasificar un nuevo animal, podemos coincidir con el nuevo animal contra el modelo de elefante, y el partido contra el modelo del perro, para ver si el nuevo animal se parece más a los elefantes o más como los perros que habíamos visto en el conjunto de entrenamiento. Llamamos a estos algoritmo de aprendizaje generativo .

En general, no es una práctica en la comunidad de aprendizaje automático no aprender algo que no desea. Por ejemplo, considere un problema de clasificación, donde uno de meta es asignar etiquetas a una entrada de Y dado x. Si utilizamos el modelo generativo

p(x,y)=p(y|x).p(x)

tenemos que modelar p (x), que es irrelevante para la tarea en cuestión. Las limitaciones prácticas como la escasez de datos nos obligarán a modelar p(x) con algunas suposiciones de independencia débiles. Por lo tanto, intuitivamente utilizar modelos discriminativos para la clasificación.

Un punto informativo además que va bien con la respuesta por StompChicken anteriormente.

La diferencia fundamental entre modelos discriminativos y los modelos generativos es:

  

modelos discriminativos aprender el (dura o blanda) Límite de entre las clases

     

modelos generativos modelo de la distribución de clases individuales

Editar:

Un modelo generativo es el que puede generar datos . Se modelos tanto de las características y la clase (es decir, los datos completos).

Si modelamos P(x,y):. Puedo usar esta distribución de probabilidad para generar puntos de datos - y por lo tanto todo P(x,y) algoritmos de modelado son generativa

Ej. de modelos generativos

  • Naive Bayes modelos P(c) y P(d|c) -. Donde c es la clase y d es el vector de características

    Además, P(c,d) = P(c) * P(d|c)

    Por lo tanto, Naive Bayes en algunos modelos de formulario, P(c,d)

  • Bayes Net

  • Markov Nets

Un modelo discriminativo es la que solamente se puede utilizar para discriminar / clasificar los puntos de datos . Sólo necesita para modelar P(y|x) en tales casos, (es decir, probabilidad de clase dada el vector de características).

Ej. modelos de discriminativos:

  • regresión logística

  • Redes Neuronales

  • campos aleatorios condicionales

En general, los modelos generativos necesidad de modelar mucho más que los modelos discriminativos y por lo tanto a veces no son tan eficaces. Como cuestión de hecho, la mayoría (no estoy seguro si todos los algoritmos de aprendizaje no supervisado) como agrupación, etc pueden ser llamados generativa, ya que el modelo P(d) (y no hay clases: P)

PS: Parte de la respuesta se toma de la fuente href="https://stats.stackexchange.com/questions/12421/generative-vs-discriminative/12426#12426">

Mis dos centavos: enfoques discriminatorios diferencias de relieve enfoques generativos no se centran en las diferencias; intentan construir un modelo que es representativo de la clase. Hay una superposición entre los dos. Lo ideal sería que ambos enfoques se deben utilizar: uno será útil para encontrar similitudes y los otros serán útiles para encontrar dis-similitudes.

Un modelo generativo algoritmo aprenderá por completo de los datos de entrenamiento y predecir la respuesta.

Un trabajo algoritmo discriminativo es sólo para clasificar o diferenciar entre los 2 resultados.

Todas las respuestas anteriores son grandes, y me gustaría que enchufar un punto más.

A partir de los modelos de algoritmos generativos, podemos derivar cualquier distribución; mientras que sólo podemos obtener la distribución condicional P (Y | X) a partir de los modelos de algoritmo discriminativos (o podemos decir que sólo son útiles para discriminar la etiqueta de Y), y por eso se le llama modelo discriminativo. El modelo discriminativo no asume que las X son independientes dada la Y ($ X_i \ perp X _ {- i} | $ S) y por lo tanto es generalmente más potente que para el cálculo de la distribución condicional.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top