Hiperparametros

 ¿Qué son los hiperparámetros?

Los hiperparámetros son variables de configuración externa que los científicos de datos utilizan para administrar el entrenamiento de modelos de machine learning. A veces llamados hiperparámetros de modelos, los hiperparámetros se configuran de manera manual antes de entrenar un modelo. Son diferentes de los parámetros, que son elementos internos derivados de manera automática durante el proceso de aprendizaje y que no están configurados por científicos de datos. Entre los ejemplos de hiperparámetros se incluyen el número de nodos y capas de una red neuronal y el número de ramificaciones de un árbol de decisiones. Los hiperparámetros determinan características clave como la arquitectura del modelo, la tasa de aprendizaje y la complejidad del modelo.


¿En qué consiste el ajuste de hiperparámetros?

Cuando se entrenan modelos de machine learning, cada conjunto de datos y cada modelo necesitan un conjunto diferente de hiperparámetros, que son un tipo de variables. La única forma de determinarlos es mediante la realización de múltiples experimentos, en los que se elige un conjunto de hiperparámetros y se los ejecuta a través del modelo. Esto se denomina ajuste de hiperparámetros. Básicamente, está entrenando su modelo secuencialmente con diferentes conjuntos de hiperparámetros. Este proceso puede ser manual o puede elegir uno de los distintos métodos automatizados de ajuste de hiperparámetros.

Sea cual sea el método que utilice, debe hacer un seguimiento de los resultados de los experimentos. Tendrá que aplicar algún tipo de análisis estadístico, como la función de pérdida, para determinar qué conjunto de hiperparámetros da el mejor resultado. El ajuste de hiperparámetros es un proceso importante e intensivo desde el punto de vista computacional.


¿Cómo se identifican los hiperparámetros?

Seleccionar el conjunto correcto de hiperparámetros es importante en términos de rendimiento y precisión del modelo. Desgraciadamente, no hay reglas establecidas en cuanto a qué hiperparámetros funcionan mejor ni sobre sus valores óptimos o predeterminados. Necesita experimentar para encontrar la configuración de hiperparámetros óptima. Esta actividad se conoce como ajuste de hiperparámetros u optimización de hiperparámetros.


¿Por qué es importante el ajuste de hiperparámetros?

Los hiperparámetros controlan de forma directa la estructura, funciones y rendimiento de los modelos. El ajuste de hiperparámetros permite a los científicos de datos modificar el rendimiento del modelo para lograr resultados óptimos. Este proceso es una parte fundamental del machine learning, y elegir los valores de hiperparámetros apropiados es fundamental para que llegue a buen puerto. Por ejemplo, pongamos que utiliza la tasa de aprendizaje del modo como hiperparámetro. Si el valor es demasiado alto, es posible que el modelo converja demasiado rápido con resultados subóptimos. Por el contrario, si el valor es muy bajo, el entrenamiento se demora demasiado y es posible que los resultados no converjan. Una elección correcta y equilibrada de hiperparámetros da lugar a modelos precisos y con un rendimiento excelente.

¿Cómo funciona el ajuste de hiperparámetros?

Como se ha indicado anteriormente, el ajuste de hiperparámetros puede ser manual o automático. A pesar que el ajuste manual es lento y tedioso, le permite entender mejor cómo afectan al modelo las ponderaciones de los hiperparámetros. Sin embargo, en la mayoría de casos, utilizaría por lo general uno de los algoritmos de aprendizaje de hiperparámetros más conocidos.


El proceso de ajuste de hiperparámetros es iterativo, y debe probar diferentes combinaciones de parámetros y valores. Por lo general, se debe comenzar con la definición de una variable de destino (por ejemplo, precisión) como métrica principal, para luego intentar aumentar o reducir esta variable. Es buena idea utilizar técnicas de validación cruzada, de modo que el modelo no se centre únicamente en una única porción de sus datos.


¿En qué consisten las técnicas de ajuste de hiperparámetros?

Existen varios algoritmos de ajuste de hiperparámetros, aunque los tipos más utilizados son la optimización bayesiana, la búsqueda por cuadrícula y la búsqueda aleatoria.

  • Optimización bayesiana: La optimización bayesiana es una técnica basada en el teorema de Bayes, que describe la probabilidad de que ocurra un evento de acuerdo con el conocimiento actual. Cuando esto se aplica a la optimización de hiperparámetros, el algoritmo crea un modelo probabilístico a partir de un conjunto de hiperparámetros que optimiza una métrica específica. Además, utiliza análisis de regresión para elegir de forma iterativa el mejor conjunto de hiperparámetros.
  • Búsqueda por cuadrícula: A través de la búsqueda de cuadrícula, se especifica una lista de hiperparámetros y una métrica de rendimiento, y el algoritmo trabaja con todas las combinaciones posibles para determinar la opción más adecuada. La búsqueda por cuadrícula funciona bien, pero es relativamente tediosa e intensiva a nivel computacional, sobre todo con números elevados de hiperparámetros.
  • Búsqueda aleatorizada: Aunque se basa en principios similares a los de la búsqueda por cuadrícula, la búsqueda aleatorizada busca grupos seleccionados de hiperparámetros de manera aleatoria en cada iteración. Funciona bien cuando un número relativamente pequeño de hiperparámetros determinan de manera principal el resultado del modelo.


¿Cuáles son algunos ejemplos de hiperparámetros?

Aunque algunos hiperparámetros son comunes, en la práctica comprobará que los algoritmos utilizan conjuntos específicos de hiperparámetros. 

A continuación, se muestran algunos ejemplos de hiperparámetros comunes:

  • La tasa de aprendizaje es la frecuencia con la que un algoritmo actualiza las estimaciones
  • El decaimiento de la tasa de aprendizaje es una reducción gradual de dicha tasa a medida que avanza el tiempo para acelerar el aprendizaje
  • El impulso es la dirección del próximo paso respecto al paso anterior
  • Los nodos de red neuronal aluden al número de nodos que contiene cada capa oculta
  • Las capas de red neuronal hacen referencia al número de capas ocultas de una red neuronal
  • El tamaño del minilote es el tamaño del lote de datos de entrenamiento
  • Las sesiones son el número de veces que el conjunto de datos de entrenamiento al completo se muestra a la red durante el entrenamiento
  • La Eta es la reducción del tamaño del paso para evitar el sobreajuste