machine learning inteligencia examples entre diferencia artificial algoritmos algorithms algorithm machine-learning difference

inteligencia - machine learning algorithms python



¿Cuál es la diferencia entre un algoritmo generativo y uno discriminativo? (10)

Aquí está la parte más importante de las cs229.stanford.edu/notes/cs229-notes2.pdf de la cs229.stanford.edu/notes/cs229-notes2.pdf de CS299 (por Andrew Ng) relacionada con el tema, que realmente me ayuda a entender la diferencia entre los algoritmos de aprendizaje discriminativo y generativo .

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

Dado un conjunto de entrenamiento, un algoritmo como la regresión logística o el algoritmo de perceptrón (básicamente) intenta encontrar una línea recta, es decir, un límite de decisión, que separa a los elefantes y los perros. Luego, para clasificar un nuevo animal como un elefante o un perro, verifica en qué lado del límite de decisión cae, y hace su predicción en consecuencia. Los llamamos algoritmo de aprendizaje discriminativo .

Aquí hay un enfoque diferente. Primero, mirando a los elefantes, podemos construir un modelo de cómo se ven los elefantes. Luego, mirando a los perros, podemos construir un modelo separado de cómo se ven los perros. Finalmente, para clasificar un nuevo animal, podemos comparar el nuevo animal con el modelo de elefante, y compararlo con el modelo de perro, para ver si el nuevo animal se parece más a los elefantes o más a los perros que hemos visto en el conjunto de entrenamiento . Los llamamos algoritmo de aprendizaje generativo .

Por favor, ayúdeme a entender la diferencia entre un algoritmo generativo y uno discriminativo , teniendo en cuenta que solo soy un principiante.


En general, existe una práctica en la comunidad de aprendizaje automático para no aprender algo que no desea. Por ejemplo, considere un problema de clasificación donde el objetivo de una persona es asignar etiquetas y a una entrada x dada. Si usamos 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 algunos supuestos de independencia débiles. Por lo tanto, intuitivamente utilizamos modelos discriminativos para la clasificación.


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

En modelos discriminativos , para predecir la etiqueta y del ejemplo de entrenamiento x , debe evaluar:

que simplemente elige cuál es la clase más probable y considerando x . Es como si estuviéramos tratando de modelar el límite de decisión entre las clases . Este comportamiento es muy claro en las redes neuronales, donde los pesos calculados se pueden ver como una curva de forma compleja que aísla los elementos de una clase en el espacio.

Ahora, usando la regla de Bayes, reemplazemos la en la ecuación por . Como solo te interesa el argumento máx , puedes eliminar el denominador, que será el mismo para cada y . Así que, te quedas con

Cuál es la ecuación que usas en los modelos generativos .

Mientras que en el primer caso tenías la distribución de probabilidad condicional p(y|x) , que modelaba el límite entre clases, en el segundo tenías la distribución de probabilidad conjunta p (x, y), ya que p (x, y) = p (x | y) p (y), que modela explícitamente la distribución real de cada clase .

Con la función de distribución de probabilidad conjunta, dada una y , puede calcular ("generar") su respectiva x . Por esta razón, se les llama modelos "generativos".


Imagina que tu tarea es clasificar un discurso a un idioma.

Puedes hacerlo ya sea por:

  1. aprendiendo cada idioma, y ​​luego clasificándolo usando el conocimiento que acaba de adquirir

o

  1. determinar la diferencia en los modelos lingüísticos sin aprender los idiomas, y luego clasificar el discurso.

El primero es el enfoque generativo y el segundo es el enfoque discriminativo .

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


Los diferentes modelos se resumen en la siguiente tabla:


Mis dos centavos: los enfoques discriminatorios resaltan las diferencias Los enfoques generativos no se centran en las diferencias; intentan construir un modelo que sea representativo de la clase. Hay una superposición entre los dos. Lo ideal sería utilizar ambos enfoques: uno será útil para encontrar similitudes y el otro será útil para encontrar des-similitudes.


Un algoritmo generativo modela cómo se generaron los datos para categorizar una señal. Hace la pregunta: según mis suposiciones de la generación, ¿qué categoría es más probable que genere esta señal?

A un algoritmo discriminativo no le importa cómo se generaron los datos, simplemente categoriza una señal dada.


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

Un trabajo de algoritmo discriminativo es simplemente clasificar o diferenciar entre los 2 resultados.


Un punto informativo adicional que va bien con la respuesta de StompChicken arriba.

La diferencia fundamental entre modelos discriminativos y modelos generativos es:

Los modelos discriminatorios aprenden el límite (duro o suave) entre clases

Modelos generativos modelan la distribución de clases individuales.

Editar:

Un modelo generativo es el que puede generar datos . Modela tanto las características como 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, todos los algoritmos que modelan P(x,y) son generativos.

P.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 forma, P(c,d)

  • Bayes Net

  • Redes de Markov

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

P.ej. de modelos discriminativos:

  • Regresión logística

  • Redes neuronales

  • Campos aleatorios condicionales

En general, los modelos generativos necesitan modelar mucho más que los modelos discriminativos y, por lo tanto, a veces no son tan efectivos. De hecho, la mayoría (no estoy seguro de si) todos los algoritmos de aprendizaje no supervisados, como el agrupamiento en clúster, etc., pueden llamarse generativos, ya que modelan P(d) (y no hay clases: P)

PD: parte de la respuesta se toma de la source


Digamos que tiene datos de entrada x y desea clasificar los datos en etiquetas y . Un modelo generativo aprende la distribución de probabilidad conjunta p(x,y) y un modelo discriminativo aprende la distribución de probabilidad condicional p(y|x) , que debe leerse como "la probabilidad de y dada x " .

Aquí hay un ejemplo muy simple. Supongamos que tiene los siguientes datos en el formulario (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 esas dos matrices, comprenderá la diferencia entre las dos distribuciones de probabilidad.

La distribución p(y|x) es la distribución natural para clasificar un ejemplo x en una clase y , por lo que los algoritmos que modelan esto directamente se denominan algoritmos discriminativos. Los algoritmos generativos modelan p(x,y) , que pueden transformarse en p(y|x) aplicando la regla de Bayes y luego usarse para la clasificación. Sin embargo, la distribución p(x,y) también se puede utilizar para otros fines. Por ejemplo, podría usar p(x,y) para generar pares probables (x,y) .

A partir de la descripción anterior, podría pensar que los modelos generativos son generalmente más útiles y, por lo tanto, mejores, pero no es tan simple como eso. Este artículo es una referencia muy popular sobre el tema de los clasificadores discriminativos y generativos, pero es bastante difícil de lograr. La idea general es que los modelos discriminativos generalmente superan a los modelos generativos en las tareas de clasificación.