¿Qué quieren decir los ingenieros cuando dicen que un modelo de aprendizaje automático es complejo?

La mayor parte del aprendizaje automático supervisado se puede ver usando el siguiente marco: tiene un conjunto de puntos de entrenamiento [matemática] (x_i, y_i) [/ matemática] y desea encontrar una función [matemática] f [/ matemática] que “se ajusta bien a los datos”, es decir, [matemáticas] y_i \ aprox. f (x_i) [/ matemáticas] para la mayoría de [matemáticas] i [/ matemáticas]. Esta función debe elegirse con cuidado; si es demasiado simple, [math] y_i \ approx f (x_i) [/ math] puede no ser válida para muchos valores de [math] i [/ math]; Si es demasiado complejo, se ajustará muy bien a los datos (tal vez incluso perfectamente), pero no funcionará bien en datos invisibles.

La forma en que establece esta complejidad de la función elegida es la siguiente: Elija una clase de funciones [matemática] \ matemática {F} [/ matemática] cuya complejidad es más fácil de controlar, y luego encuentre la función [matemática] f \ en \ mathcal {F} [/ math] que funciona mejor en los datos de entrenamiento. Entonces, el problema de controlar la complejidad de [math] f [/ math] se ha reducido al problema de controlar la complejidad de [math] \ mathcal {F} [/ math]. Ahora, dado que no hay una forma directa de encontrar la [matemática] \ matemática {F} [/ matemática] óptima, intente con un grupo de clases de función [matemática] \ matemática {F} _1, \ ldots, \ mathcal {F} _k [/ math], y elige el que mejor se adapte a los datos no vistos. Estas clases [math] \ mathcal {F} _1, \ ldots, \ mathcal {F} _k [/ math] están parametrizadas por cantidades llamadas hiperparámetros, y el proceso de elegir la mejor clase se llama optimización de hiperparámetros.

Tomemos un ejemplo rápido: supongamos que tiene un problema de clasificación. Planea utilizar árboles de decisión para la tarea. La complejidad de los árboles de decisión está determinada por su profundidad. Entonces toma clases de función [matemáticas] T_1, \ ldots, T_k [/ matemáticas], donde [matemáticas] T_i [/ ​​matemáticas] es el conjunto de todos los árboles de decisión de profundidad como máximo [matemáticas] i [/ matemáticas]. Por lo tanto, estas clases de funciones están parametrizadas por el hiperparámetro [math] i [/ math]: solo esta cantidad distingue una clase de la otra. Intenta diferentes valores de [math] i [/ math], ajusta el mejor árbol de profundidad a lo sumo [math] i [/ math] en los datos de entrenamiento y elige el que tenga un error mínimo en datos invisibles. Encontrar el valor (casi) óptimo de [math] i [/ math] es el proceso de optimización de hiperparámetros.

La complejidad en informática generalmente significa que un algoritmo alcanza rápidamente los límites de lo que es computacionalmente factible cuando se aumenta la entrada. Un ejemplo es la factorización prima, es decir, la descomposición de un número entero en sus factores primos. Este problema rápidamente se vuelve increíblemente difícil de calcular al aumentar el número entero.

Dentro del contexto del aprendizaje automático, puede haber otra noción del término de complejidad: muchos modelos de aprendizaje automático proporcionan buenos resultados solo si se puede encontrar un buen conjunto de parámetros para el modelo. Como muchos modelos tienen docenas de parámetros que se pueden ajustar, encontrar un buen conjunto de parámetros puede ser una tarea compleja.