Por Eduardo Cesar Garrido Merchán
Profesor de Métodos Cuantitativos, Universidad Pontificia Comillas.
Pincha aquí para ver el vídeo sobre este post
Antes de aprender en qué consiste la optimización Bayesiana es pertinente estudiar el concepto de hiperparámetro de un modelo de aprendizaje automático, ya que al final la optimización Bayesiana se está usando con éxito como solución al problema del tuning de hiperparámetros de modelos de aprendizaje automático. Pero has leído bien, he dicho hiperparámetro y no parámetro, así que… ¿Qué diferencia hay entre un parámetro y un hiperparámetro? Pese al juego de palabras, son conceptos de aprendizaje automático que poco tienen que ver. En este post te lo explico. Pero empecemos con los parámetros, que son mas sencillos de entender.
En los modelos paramétricos de aprendizaje automático supervisado se codifican en los valores de sus parámetros los patrones que explican la función que se pretende aprender. Por ejemplo, si se quisiera obtener un modelo predictivo para predecir el precio de una vivienda en función a una serie de variables independientes como la superficie del piso, su localización o el año de construcción, entonces, se codificarían en los parámetros de una red neuronal unos valores tal que al ejecutar el algoritmo predictivo de la red neuronal con un nuevo piso de entrada, se obtenga el valor del precio que minimiza el estimador del error de generalización obtenido. Vamos, que los valores de parámetros son como un camino que pintas en un mapa (la red neuronal) que te lleva de las variables que puedes observar a las variables que te interesa predecir. ¿Y como se pinta esta línea en el mapa? Mediante el algoritmo de optimización de cada modelo de aprendizaje automático, como por ejemplo en las redes neuronales el descenso del gradiente. En otras palabras, que dada una arquitectura de red neuronal determinada, por ejemplo 2 capas ocultas con 100 neuronas en cada capa y 1 neurona en la capa de salida, y unos datos concretos, el algoritmo de optimización me pinta automáticamente la línea en el mapa que me lleva de los datos del piso a su precio. Hasta ahí lo que es un parámetro, una cantidad que se calcula automáticamente. ¡Pero hay una cosa que se te está escapando! Y es que te he dicho que la red neuronal sería el mapa que me lleva desde las variables de entrada a la variable a predecir… pero… ¿Qué mapa debo elegir? Tomar un mapa de todo el mundo no es lo mismo que tomar un mapa de España. Si mi camino me lleva de mi casa al centro de Madrid y tomo un mapa de todo el mundo, ¡mi camino va a ser un punto rojo por el que no voy a saber moverme! Debo elegir bien el mapa, es decir, debo elegir bien qué red neuronal debo tomar. ¿Cuántas capas tiene que tener? ¿Cuántas neuronas por capa? ¿Qué regularizador debo tomar? ¿Qué tasa de aprendizaje? Eso son hiperparámetros. Cantidades que elije el usuario antes del entrenamiento del modelo. Cada problema requiere de un valor distinto, y no puedo usar un optimización clásica para obtenerlos…. … pero si optimización Bayesiana.
When someone writes an paragraph he/she keeps the plan of a user
in his/her mind that how a user can be aware of it.
Therefore that’s why this post is outstdanding.
Thanks!