El usuario de Quora ya respondió muy bien a la pregunta. Solo agrego una nota para enfatizar que no se deben asignar muchos recursos a una tarea que no se garantiza que ofrezca una muy buena “recompensa” (es decir, óptima). Esto puede suceder aquí … y es la razón por la cual los métodos de segundo orden generalmente no se usan.
Es decir, es mejor invertir la potencia de cálculo para obtener varias aproximaciones aproximadas de buenos óptimos locales, y elegir la mejor de estas , en lugar de invertir los mismos recursos para obtener un valor casi exacto de un óptimo local, que, al final , puede ser malo (en la mayoría de los problemas nunca tenemos medios para probar si un óptimo que tenemos a mano es el óptimo global buscado …)
Los problemas de alta dimensión del tipo que aparecen en los problemas de ML / DL generalmente tienen muchos óptimos locales, y ahora se sabe que también tienen muchos puntos de silla (áreas de baja curvatura). Es decir, no son problemas de optimización convexa donde existe la garantía de convergencia al óptimo global.
- Cómo dominar el aprendizaje automático en Python
- ¿Qué son las redes amplias?
- ¿Existe un método común para detectar la convergencia de la muestra de Gibbs y el algoritmo de maximización de expectativas?
- ¿El aprendizaje automático o los algoritmos de aprendizaje se pueden aplicar a problemas de optimización?
- ¿Cómo puedo comenzar el trabajo de investigación sobre aprendizaje automático y cómo puedo elegir un tema o problema en el aprendizaje automático?
Los métodos de gradiente completo y de segundo orden basados en Hessian, como BFGS y métodos relacionados (ver por ejemplo https: //ipvs.informatik.uni-stut…), son métodos de optimización local . Por lo tanto, no hay tantos incentivos para invertir mucha energía de la computadora en seguir una pista y converger a un óptimo local que eventualmente puede ser “malo”, es decir, que puede ser bastante peor que el óptimo global buscado en términos de objetivo o costo valor de la función No hay una “recompensa” clara aquí.
Además, el gradiente es solo un vector, de tamaño [matemático] L [/ matemático], donde [matemático] L [/ matemático] es el número de parámetros en el modelo de optimización, pero el Hessiano [matemático] H [/ matemático ] es una matriz [matemática] L \ veces L [/ matemática], y las aproximaciones de las segundas derivadas son mucho más engorrosas de calcular (ver Diferencia finita) principalmente cuando el cálculo de la función de costo es costoso en términos de tiempo de computadora. Por lo tanto, los métodos basados en arpillera son muy raros en problemas grandes de ML / DL debido al tiempo de cálculo muy grande necesario para calcular [matemáticas] H [/ matemáticas].
Los métodos utilizados para encontrar el óptimo óptimo global o, al menos, el óptimo local, en problemas que no son convexos, generalmente son estocásticos por naturaleza (Monte Carlo, recocido simulado, algoritmos genéticos, ver Optimización global) y, por lo tanto, las variaciones del gradiente estocástico son, en cierto sentido, adaptado al problema en cuestión.
Una razón final que descarta el uso de métodos precisos pero costosos es la optimización en línea . Suponga que está haciendo una regresión de [matemática] m [/ matemática] puntos [matemática] (x_i, y_i) [/ matemática], [matemática] i = 1,…, m [/ matemática], a una función parametrizada no lineal [math] y = f (x, \ boldsymbol \ beta) [/ math], donde [math] \ boldsymbol \ beta [/ math] es el vector (tamaño [math] L [/ math]) de los parámetros del modelo. Entonces su optimización es el problema de minimización
[matemáticas] \ min _ {\ boldsymbol \ beta} S = \ sum_ {i = 1} ^ {m} (y_i – f (x_i, \ boldsymbol \ beta)) ^ 2 [/ math]
Si sigue recibiendo más puntos [matemáticos] (x_i, y_i) [/ matemáticos] a lo largo del tiempo (por ejemplo, si está midiendo el número de visitas en su sitio web por minuto), su función de costo varía continuamente, así como también es óptima. no hay incentivo para obtener el óptimo global “exacto” [matemática] \ boldsymbol \ beta ^ \ ast [/ math] en un instante dado: es aconsejable llevarse bien con una buena optima [matemática] \ boldsymbol \ beta ^ + ( t) [/ math] que tienen alguna deriva a lo largo del tiempo.
El escenario de optimización en línea es muy común; por ejemplo, en lugar de hacer una regresión, podría estar entrenando una red neuronal (redes neuronales y aprendizaje profundo), o un bosque aleatorio, con un flujo de datos que llegan continuamente …