15 Optimización
La optimización es el proceso de encontrar los valores más efectivos o eficientes para ciertas variables bajo un conjunto de restricciones, con el objetivo de maximizar o minimizar una función específica. Esta función podría representar diversos objetivos, como minimizar el costo, maximizar la eficiencia, o reducir el error.
En el contexto de las redes neuronales, la optimización se centra en ajustar los parámetros de la red para mejorar su rendimiento en tareas específicas, como la clasificación o la predicción. Cada red neuronal se compone de múltiples capas y conexiones, y cada conexión tiene un peso asociado que determina su importancia en el cálculo de la salida de la red. El papel de la optimización es encontrar el conjunto de pesos que minimice la diferencia entre las predicciones del modelo y los valores reales, es decir, minimizar la función de pérdida.
Este proceso de ajuste se realiza comúnmente a través de algoritmos como el descenso del gradiente, donde los pesos se ajustan iterativamente en la dirección que más reduce la función de pérdida. A medida que el algoritmo de optimización procesa los datos de entrenamiento, los pesos se van refinando de manera que el modelo se vuelve cada vez más preciso en sus predicciones, lo que efectivamente “entrena” a la red para realizar su tarea de forma más eficaz. Este proceso de entrenamiento y optimización es fundamental para que las redes neuronales funcionen correctamente y cumplan con las expectativas en aplicaciones prácticas.
15.1 Conceptos de optimización
La función de interés se denomina función objetivo y usualmente se representa con la letra \(f\).
Un punto estacionario de una función es aquel en el cual la derivada (o el gradiente en el caso de varias variables) es igual a cero. Es decir, en ese punto la función no tiene cambios instantáneos en su valor (no crece ni decrece localmente). Para \(f\) un punto estacionario es aquel \(a\) donde: $$
f’(a) = 0$$
Un mínimo local es aquel punto estacionario cuya evaluación es la menor en su vecindario. Es decir, \(a\) es un mínimo local si: $$
f(a) < f(a )$$
donde \(\Delta > 0\) y \(\Delta\) toma valores dentro del vecindario delimitado por \(u\), es decir \(\Delta \leq u\).
Un mínimo global es un punto estacionario en el cual el valor de la función es menor al valor de la función en cualquier punto del dominio. Es decir, \(a\) es un mínimo global si: $$
f(a) < f(b) b a$$
Tanto el mínimo local como el mínimo global son conceptos análogos a el máximo global y local; en ambos casos, los máximos son puntos que tienen valores mayores a sus vecinos. Tales definiciones no se formalizan en este libro dado que en área de aprendizaje automático, el principal objetivo es la minimización del error.