Algoritmos discriminativos y generativos en machine learning

Una pregunta que siempre nos planteamos en machine learning es la diferencia entre algoritmos discriminativos y generativos y cuál escoger para un problema concreto.

Los algoritmos discriminativos modelan la dependencia de una variable objetivo Y  en función de una variable observada X.  De esta forma se puede predecir la variable Y  a partir de X. En función de si nuestro modelo es probabilístico o no, tendremos:

  • Algoritmos que aprenden la distribución de probabilidad condicional P(Y/X). Por ejemplo la regresión logística donde se modela la probabilidad de un evento en función de las variables independientes.
  • Algoritmos no probabilísticos donde se aprende un mapeo o función directa desde las variables de entrada a las clases o variables objetivo.

Los algoritmos generativos, en cambio, proporcionan un modelo de cómo los datos se generan. Aprenden la distribución de probabilidad conjunta P(X,Y). Una vez que se tiene el modelo de cómo se generan los datos, se pregunta qué clase o valor de la variable objetivo los ha generado.

Equivalentemente, el algoritmo generativo modela la distribución P(X/Y) y P(Y). Por ejemplo si la variable Y indica clases de animales, entonces la distribución P(X/Y) modela como se distribuyen las características (datos de entrada) de cada tipo de animal.

En la imagen podemos ver que los algoritmos discriminativos directamente estiman la distribución de probabilidad condicional P(Y/X), por ejemplo la probabilidad de que sea un perro para una entrada en pixels determinada. Los algoritmos generativos modelan qué distribución de probabilidad tiene la entrada para una clase determinada y a partir de ahí deducen la probailidad de que sea una clase u otra (un perro o un gato).

Algoritmos discriminativos vs generativos

Esto es muy importante porque los algoritmos generativos abordan un problema más general y aprenden realmente como se estructuran y distribuyen los datos de entrada mientras que los discriminativos simplemente aprenden a categorizar una variable objetivo en función de la entrada.

Debido a que el algoritmo generativo hace más suposiciones sobre la estructura del modelo, es normal que cuando se tienen pocos datos de entrenamiento el algoritmo generativo se comporte mejor pero a medida que crece el conjunto de datos de entrenamiento este comportamiento se invierta, como demostraron Andrew Ng y Michael Jordan en una comparativa del «Naive Bayes» frente a la regresión logística.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Orgullosamente ofrecido por WordPress | Tema: Baskerville 2 por Anders Noren.

Subir ↑

A %d blogueros les gusta esto: