# Metaaprendizaje (ciencias de la computación)

El metaaprendizaje es un subcampo del aprendizaje automático (AU). La idea es aplicar algoritmos de AU a los metadatos de otros algoritmos de AU, de ahí la denominación alternativa: aprender a aprender.
El objetivo es entender como resolver problemas de aprendizaje con mayor flexibilidad, mejorando el desempeño de algoritmos existentes o induciendo al algoritmo de aprendizaje en si.
La flexibilidad es importante porque cada algoritmo de AU está basado en una serie de asunciones sobre los datos, su sesgo inductivo. Esto quiere decir que el algoritmo solo aprenderá correctamente si su sesgo inductivo se ajusta al problema de aprendizaje (usualmente una base de datos). Por ende, un algoritmo de AU se desempeña bien en un dominio específico pero no en otros.
Este fenómeno imprime fuertes restricciones al uso del aprendizaje automático o minería de datos, dado que la relación entre el problema de aprendizaje y la efectividad de diferentes algoritmos de AU aún no se entiende bien.
Se utilizan diferentes tipos de metadatos como las propiedades del problema de aprendizaje, las del propio algoritmo (como mediciones de desempeño) o patrones derivados directamente de la los datos.
De esta manera es posible aprender, seleccionar, alterar o combinar diferentes algoritmos de AU para buscar los resultados que mejor satisfagan el problema de aprendizaje.
Una buena analogía es que la evolución genética aprende del procedimiento de aprendizaje codificado en los genes y ejecutado en la cerebro de cada individuo como plantea Bengio et al.'s en su trabajo temprano (1991).

## Definición

Una definición propuesta para un metasistema de aprendizaje combina tres requisitos:
* El sistema tiene que incluir un subsistema de aprendizaje.
* La experiencia se gana aprovechando el metaconocimiento extraído de un episodio de aprendizaje anterior con uno solo conjunto de datos o múltiples dominios.
* El sesgo de aprendizaje se debe elegir dinámicamente.
El "sesgo" se refiere a las asunciones que influencian la elección de las hipótesis explicatorias y no en la noción de "Sesgo" representado en el dilema de sesgo-variabilidad
El metaaprendizaje se centra en dos aspectos del sesgo de aprendizaje:
* El "sesgo declarativo" especifica la representación del espacio de las hipótesis, afectando al tamaño del espacio de búsqueda. (Representando hipótesis utilizando solo funciones lineares por ejemplo).
* El "sesgo procedimental" impone restricciones en el ordenamiento de las hipótesis inductivas (priorizando las hipótesis más pequeñas por ejemplo).

## Enfoques de metaaprendizaje

Varios enfoques se entienden como instancias del metaaprendizaje:
Descubrir metaconocimiento que expresa como cada método de aprendizaje se va a desempeñar en diferentes problemas de aprendizaje.
Los metadatos se componen de características de los datos en si (generales, estadísticos, información teórica, etc.) y de las del propio algoritmo (tipo, ajustes de parámetros, mediciones de desempeño, etc.). A partir de estos datos, un segundo algoritmo aprende la relación entre ambas e intenta predecir el desempeño de diferentes algoritmos sobre un nuevo problema.
La generalización apilada combina diferentes algoritmos, buscando la combinación que arroja los mejores resultados para un problema.
Las predicciones del conjunto de algoritmos se combinan para proveer una predicción final. Dado que cada algoritmo primario está pensado para trabajar en un subconjunto de problemas, se espera que la combinación tenga mayor flexibilidad para encontrar la solución óptima para cada problema y por ende mejores predicciones.
El potenciado es similar a la generalización apilada, pero utiliza el mismo algoritmo con diferentes configuraciones de parámetros cada vez. El resultado es una serie de predicciones centradas en subconjuntos de los datos del problema, que en una segunda instancia se combinan para obtener el rendimiento general óptimo.
La selección dinámica de sesgo altera las diferentes opciones de un algoritmo (como la representación de la hipótesis, la formulación heurística o diferentes parámetros) para optimizar el resultado de un problema dado.
La transferencia inductiva estudia como el proceso de aprendizaje puede mejorarse a lo largo del tiempo. Los metadatos generados por el desempeño de episodios anteriores de aprendizaje se utilizan para desarrollar nuevas hipótesis más efectivas sobre el mismo proceso y los mismos datos.
Aprendiendo a aprender es un enfoque similar donde el objetivo es utilizar el conocimiento adquirido de un problema para predecir diferentes dominios.
Otras aproximaciones para mejorar el AU son los sistemas de clasificación de aprendizaje, razonamiento basado en casos y satisfacción de pesos.