Los hiperparámetros no son más que los valores que el modelo utiliza para aprender los parámetros óptimos con el fin de asignar correctamente las características de entrada (variables independientes) a las etiquetas o objetivos (variable dependiente).
Por ejemplo, el parámetro son los pesos en una red neuronal artificial (ANN). Los hiperparámetros son los parámetros específicos que optimizan y controlan el proceso de entrenamiento.
Confundido, ¿verdad? No te preocupes.
¡Veremos todo, desde cuáles son los parámetros y los hiperparámetros hasta cómo se pueden utilizar los hiperparámetros para mejorar el rendimiento de su estrategia!
Por lo tanto, los hiperparámetros son un grupo de parámetros que ayudan a entrenar un modelo de aprendizaje automático para proporcionar los resultados necesarios en todo momento.
En este artículo, discutiremos todo sobre los parámetros, los hiperparámetros y el ajuste de hiperparámetros. Este artículo cubre:
- ¿Cuáles son los parámetros?
- ¿Qué es el ajuste de hiperparámetros e hiperparámetros?
- Ejemplos de hiperparámetros
- Importancia de los hiperparámetros
- Hiperparámetros frente a parámetros
- Categorización de hiperparámetros para el modelo de aprendizaje automático de entrenamiento
- Hiperparámetros para la optimización
- Hiperparámetros para modelos específicos
- ¿Cómo ajustar los hiperparámetros?
¿Cuáles son los parámetros?
Los parámetros son aprendidos por el modelo puramente a partir de los datos de entrenamiento durante el proceso de entrenamiento. El algoritmo de aprendizaje automático utilizado intenta aprender la asignación entre las características de entrada y los objetivos o la(s) salida(es) deseada(s).
El entrenamiento del modelo normalmente comienza con los parámetros que se establecen en valores aleatorios o en ceros. A medida que avanza el entrenamiento/aprendizaje, los valores iniciales se actualizan utilizando un algoritmo de optimización. Un ejemplo de un algoritmo de optimización es el descenso de gradiente.
Al final del proceso de aprendizaje, los parámetros del modelo conducen a la formación del modelo.
Ejemplos de parámetros
Algunos ejemplos de parámetros en el aprendizaje automático son los siguientes:
- Los pesos de los modelos de regresión lineal y logística.
- Los centroides del clúster en la agrupación
¿Qué es el ajuste de hiperparámetros e hiperparámetros?
Un hiperparámetro es un parámetro establecido antes de que comience el proceso de aprendizaje para un modelo de aprendizaje automático. Por lo tanto, el algoritmo utiliza hiperparámetros para aprender los parámetros.
Estos parámetros se pueden ajustar de acuerdo con los requisitos del usuario y, por lo tanto, afectan directamente a la forma en que se entrenan los modelos.
Al crear un modelo de aprendizaje automático, hay múltiples opciones de diseño sobre cómo definir la arquitectura del modelo. Por lo general, explorar una gama de posibilidades o probabilidades ayuda a decidir la arquitectura óptima del modelo. Para que un modelo de aprendizaje automático aprenda con forma adecuada, es mejor pedirle a la máquina que realice esta exploración y seleccione automáticamente la arquitectura óptima del modelo.
Los parámetros, que definen la arquitectura del modelo, se conocen como hiperparámetros. Por lo tanto, este proceso de búsqueda de la arquitectura del modelo ideal y, por lo tanto, el hiperparámetro, se conoce como «ajuste de hiperparámetros».
Por ejemplo, los pesos aprendidos mientras se entrena un modelo de regresión lineal son parámetros, pero la tasa de aprendizaje en el descenso de gradiente es un hiperparámetro.
El rendimiento de un modelo en un conjunto de datos depende significativamente del ajuste adecuado, es decir, de encontrar la mejor combinación de los hiperparámetros del modelo.
Ejemplos de hiperparámetros
Algunos ejemplos de hiperparámetros en el aprendizaje automático son los siguientes:
- La k en el algoritmo KNN o K-Nearest Neighbour
- Tasa de aprendizaje para entrenar una red neuronal
- Número de épocas. Una época equivale a un ciclo para entrenar un modelo de aprendizaje automático. El número de épocas sigue aumentando hasta que el error de validación se reduce.
- Ramas en el árbol de decisiones
Importancia de los hiperparámetros
El ajuste de hiperparámetros es bastante importante mientras se entrena un modelo de aprendizaje automático.
El ajuste de hiperparámetros aborda el diseño del modelo con preguntas como:
- ¿Qué grado de características polinómicas debo usar para mi modelo lineal?
- ¿Cuántos árboles debo incluir en mi bosque al azar?
- ¿Cuántas neuronas debería tener en mi capa de red neuronal?
- ¿Cuál debería ser la profundidad máxima permitida para mi árbol de decisiones?
Hiperparámetros frente a parámetros
Categorización de hiperparámetros para el modelo de aprendizaje automático de entrenamiento
En términos generales, los hiperparámetros se pueden dividir en dos categorías, que se indican a continuación:
- Hiperparámetros para la optimización
- Hiperparámetros para modelos específicos
Hiperparámetros para la optimización
El proceso de selección de los mejores hiperparámetros para usar se conoce como ajuste de hiperparámetros, y el proceso de ajuste también se conoce como optimización de hiperparámetros. Los parámetros de optimización se utilizan para optimizar el modelo.
Algunos de los parámetros de optimización populares se dan a continuación:
- Tasa de aprendizaje: La tasa de aprendizaje es el hiperparámetro en los algoritmos de optimización que controla cuánto necesita cambiar el modelo en respuesta al error estimado para cada vez que se actualizan los pesos del modelo. Es uno de los parámetros cruciales al construir una red neuronal, y también determina la frecuencia de la comprobación cruzada con los parámetros del modelo. Seleccionar la tasa de aprendizaje optimizada es una tarea difícil porque si la tasa de aprendizaje es mucho menor, entonces puede ralentizar el proceso de formación. Por otro lado, si la tasa de aprendizaje es demasiado alta, es posible que no optimice el modelo correctamente.
- Tamaño del lote: para mejorar la velocidad del proceso de aprendizaje, el conjunto de entrenamiento se divide en diferentes subconjuntos, conocidos como lote.
- Número de épocas: Una época se puede definir como el ciclo completo para entrenar el modelo de aprendizaje automático. Epoch representa un proceso de aprendizaje iterativo. El número de épocas varía de un modelo a otro, y se crean varios modelos con más de una época. Para determinar el número correcto de épocas, se tiene en cuenta un error de validación. El número de épocas aumenta hasta que hay una reducción en un error de validación. Si no hay ninguna mejora en el error de reducción para las épocas consecutivas, entonces indica que se debe dejar de aumentar el número de épocas.
Hiperparámetros para modelos específicos
Los hiperparámetros que están involucrados en la estructura del modelo se conocen como hiperparámetros para modelos específicos. Estos se dan a continuación:
- Una serie de unidades ocultas: las unidades ocultas forman parte de las redes neuronales, que se refieren a los componentes que comprenden las capas de procesadores entre las unidades de entrada y salida en una red neuronal.
Es importante especificar el número de unidades ocultas en el hiperparámetro de la red neuronal. Debe estar entre el tamaño de la capa de entrada y el tamaño de la capa de salida. Más específicamente, el número de unidades ocultas debe ser 2/3 del tamaño de la capa de entrada, más el tamaño de la capa de salida.
Para funciones complejas, es necesario especificar el número de unidades ocultas, pero no debe sobreencajar el modelo.
- Número de capas: una red neuronal se compone de componentes dispuestos verticalmente, que se llaman capas. Hay principalmente capas de entrada, capas ocultas y capas de salida. Una red neuronal de 3 capas ofrece un mejor rendimiento que una red de 2 capas. Para una red neuronal convolucional, un mayor número de capas, idealmente 5-7, hacen un mejor modelo.
¿Cómo ajustar los hiperparámetros?
Para entrenar adecuadamente el modelo de aprendizaje automático, se requiere ajustar los hiperparámetros. Los siguientes son los pasos para ajustar los hiperparámetros:
- Selecciona el tipo de modelo correcto
- Revisa la lista de parámetros del modelo y construye el espacio de hiperparámetros
- Encontrar los métodos para buscar en el espacio de hiperparámetros
- Aplicación del enfoque del esquema de validación cruzada
- Evaluar la puntuación del modelo para evaluar el modelo
Ahora, veamos las dos técnicas más utilizadas para el ajuste de hiperparámetros. Estas dos técnicas son:
- Búsqueda en cuadrícula
- Búsqueda aleatoria
Búsqueda en cuadrícula
La búsqueda en cuadrícula es la técnica de búsqueda exhaustiva a través de cada combinación de los valores de hiperparámetros especificados.
La búsqueda de cuadrícula es el algoritmo más simple para el ajuste de hiperparámetros. Básicamente, dividimos el dominio de los hiperparámetros en una cuadrícula discreta. Luego, probamos cada combinación de valores de esta cuadrícula, calculando algunas métricas de rendimiento utilizando la validación cruzada.
El punto de la cuadrícula que maximiza el valor promedio en la validación cruzada es la combinación óptima de los valores de los hiperparámetros.
La búsqueda de cuadrícula es un algoritmo exhaustivo que abarca todas las combinaciones, por lo que realmente puede encontrar el mejor punto en el dominio. Un inconveniente es que es muy lento. Comprobar cada combinación del espacio requiere mucho tiempo que, a veces, no está disponible.
Cada punto de la cuadrícula necesita una validación cruzada de k-fold, lo que requiere k pasos de entrenamiento. Por lo tanto, ajustar los hiperparámetros de un modelo de esta manera puede ser bastante complejo y costoso. Sin embargo, si buscamos la mejor combinación de valores de los hiperparámetros, la búsqueda de cuadrícula es una muy buena idea.
Búsqueda aleatoria
En caso de búsqueda aleatoria, a diferencia de la búsqueda en cuadrícula, no se prueban todos los valores de parámetros dados.
Por lo tanto, se muestrea un número fijo de ajustes de parámetros a partir de la distribución de valores especificada.
Para cada hiperparámetro, se puede especificar una distribución de valores posibles o una lista de valores discretos (que se muestrearán de manera uniforme).
El proceso de muestreo en una búsqueda aleatoria se puede especificar de antemano. Para cada hiperparámetro, se puede especificar una distribución sobre posibles valores o una lista de valores discretos (que se muestrearán de manera uniforme).
Cuanto más pequeño sea este subconjunto, más rápida pero menos precisa será la optimización. Cuanto más grande sea este conjunto de datos, más precisa será la optimización, pero más cerca de una búsqueda en cuadrícula.
La búsqueda aleatoria es una opción muy útil cuando tienes varios hiperparámetros con una cuadrícula de valores de grano fino.
Usando un subconjunto hecho por 5-100 puntos seleccionados al azar, podemos obtener un conjunto razonablemente bueno de valores de los hiperparámetros.
No es probable que sea el mejor punto, pero aún así puede ser un buen conjunto de valores que nos dé un buen modelo.
Conclusión
Los hiperparámetros y el ajuste de hiperparámetros son muy importantes para garantizar que el modelo de aprendizaje automático almacene la información correcta para mapear las entradas con las salidas correctas.
Con el conocimiento adecuado con respecto a los hiperparámetros, se puede entrenar el modelo de aprendizaje automático para las acciones requeridas.