¿Cuál es la diferencia entre el aprendizaje inductivo y transductivo?

El aprendizaje inductivo es el aprendizaje supervisado tradicional. Aprendemos un modelo a partir de ejemplos etiquetados e intentamos predecir las etiquetas de ejemplos que no hemos visto o que no conocemos.

El aprendizaje transductivo es menos ambicioso. Aprendemos sobre muchos ejemplos, pero solo tratamos de predecir sobre un conjunto conocido (prueba) de ejemplos sin etiquetar.

Puede pensar en esto como tratar de aprender las etiquetas en un conjunto de entrenamiento, mientras que, simultáneamente, tratar de adivinar las mejores etiquetas en el conjunto de prueba.

Aprendizaje automático con etiquetas faltantes: SVM transductoras

El aprendizaje inductivo es más general, y presumiblemente más difícil, que el aprendizaje transductivo. El aprendizaje transductivo supone que aunque no tengamos las etiquetas del conjunto de pruebas, tenemos otra información que podemos aprovechar.

En particular, en una SVM transductiva, esta información adicional es saber cuántas muestras de prueba están etiquetadas positivamente y cuántas están etiquetadas negativamente, aunque no sepamos cuáles son cuáles.

Si conocemos las etiquetas de fracción (+/- 0) en el conjunto de prueba, y bajo ciertas circunstancias, muy afortunadas, la SVM transductiva es realmente convexa

Relajaciones convexas del aprendizaje transductivo

Debido a que el problema de transducción puede ser más fácil que el aprendizaje inductivo, esto ha llevado al dicho coloquial

“Uno no debería tratar de resolver un problema [adivinando las etiquetas en el conjunto de prueba] planteando un problema intermedio que es más difícil de resolver [haciendo un modelo totalmente generalizable]”

Comencemos con un conjunto de trenes U que contiene ejemplos de entrenamiento etiquetados (x_i, y_i) donde, x_i es la instancia de entrenamiento e y_i es la etiqueta correspondiente. A continuación, considere un conjunto de pruebas V que contiene instancias de prueba (x’_i). El objetivo es etiquetar las instancias de prueba x’_i correctamente. ¡Guay! Hemos definido el espacio del problema ahora …

Ahora, veamos los enfoques para resolver el problema anterior a través de la inducción y la transducción.

Inducción:

Entrada: U, V puede estar presente o no (es decir, V puede llegar en línea)

Salida: y’_i para x’_i

Enfoque: intente encontrar una función f, utilizando la información disponible de U, tal que f (x_i) = y_i. Una vez que encuentre el modelo / función predictivo f, puede predecir las instancias de prueba en V en la fase de prueba.

Transducción:

Entrada: U, V (V debe estar presente de antemano, debemos saber de antemano qué instancias deben clasificarse).

Salida: y’_i para x’_i (En realidad, obtenemos un vector de etiquetas para instancias de prueba, ya que están disponibles de antemano)

Enfoque: no intente encontrar una función f. Solo no lo hagas. :-), no es necesario aquí. Intente modelar un método que clasifique directamente los datos de prueba. Lo sé, es un poco difícil pensar y objetivar tal modelo, pero recomiendo leer el pdf mencionado al final de esta respuesta, especialmente las diapositivas 11, 12 y 13, para la comprensión visual.

Algunos puntos sobre el aprendizaje inductivo y el aprendizaje transductivo:

1> El aprendizaje transductivo no construye un modelo predictivo, el aprendizaje inductivo, por otro lado, sí.

2> Por lo tanto, el aprendizaje inductivo puede etiquetar nuevos puntos de prueba tan pronto como estén disponibles; con muy poco cálculo, pero se necesita un algoritmo transductivo para ejecutarse cada vez que llega un nuevo punto de prueba, lo que aumenta el cálculo.

3> Como se dijo, en caso de aprendizaje transductivo, el conjunto de pruebas debe estar disponible de antemano, de modo que el modelado transductivo del problema explote la información disponible de los datos de prueba sin etiquetar para una mejor precisión.

Enlace al pdf: http://www.kyb.mpg.de/fileadmin/

PD: Soy un principiante en ML, los expertos pueden corregir mi comprensión. 🙂

Imagina que tienes datos de entrenamiento, pero solo un subconjunto de ellos tiene etiquetas.

Por ejemplo, supongamos que está intentando clasificar si una imagen tiene una flor o no. Tienes 100,000 imágenes, pero solo tienes 1,000 imágenes que sabes que definitivamente contienen una flor; y otros 1,000 que sabes que no contienen una flor. De los otros 98,000 que no tienes idea, tal vez tengan flores, tal vez no.

El aprendizaje inductivo funciona al observar los 2,000 ejemplos etiquetados y construir un clasificador sobre esto. El aprendizaje transductivo (también conocido como aprendizaje semi-supervisado) dice “Espera: quizás las otras 98,000 imágenes no tienen etiquetas, pero me dicen algo sobre el espacio problemático. Tal vez aún pueda usarlas para ayudar a mejorar mi precisión”.

Bonificación: hay otro tipo de aprendizaje realmente interesante, que es el aprendizaje activo . Es entonces cuando mira los 98,000 ejemplos y puede seleccionar un subconjunto y solicitar etiquetas de un oráculo. Entonces, el algoritmo podría decir “OK, de esos 98,000, ¿puedes etiquetar este conjunto de 50 imágenes para mí? Eso me ayudará a construir un mejor clasificador”.

More Interesting

¿Es importante aprender Python para el aprendizaje automático? He aprendido R. ¿Cómo puedo aprender el aprendizaje automático en R?

¿En qué técnicas de aprendizaje automático se puede confiar para identificar (y posiblemente tratar) la deriva del concepto?

¿Cuál es un buen libro para estadísticas como una consideración de ML para principiantes?

¿Algún investigador utiliza ReLU en un modelo de aprendizaje no profundo? ¿ReLU es solo para aprendizaje profundo?

¿Por qué están recibiendo tanta atención Machine Learning + Big Data?

¿Qué se entiende por agrupamiento jerárquico aglomerativo?

¿Qué tan importante es el aprendizaje profundo en la conducción autónoma?

¿Qué es el procesamiento del lenguaje natural en términos simples?

¿Por qué Quora eligió a HackerRank como plataforma para organizar sus competiciones de ML en lugar de algún sitio más familiar como Kaggle?

¿Por qué una gran proporción de los nuevos estudiantes de CS optan por especializarse en áreas más nuevas como el aprendizaje automático, la informática social y la informática móvil en lugar de las más antiguas como los sistemas, la arquitectura y las redes?

¿Keras admitirá PyTorch como backend en el futuro?

¿Cuál es el mejor algoritmo de agrupamiento adaptativo k-means (que k se elige automáticamente)?

Si hay investigaciones que muestran que una máquina interactúa con un humano dentro de la realidad a través de una conciencia cuántica, ¿cómo se recibirá?

¿Cuál es una explicación intuitiva de lo que es la actualización de gradiente proyectada?

¿Cómo funciona KNN?