Diferencia entre el algoritmo de 1er y 2do orden:
Cualquier algoritmo que requiere al menos una primera derivada/gradiante es un algoritmo de primer orden. En el caso de un problema de optimización de suma finita, puede usar solo el gradiente de una muestra, pero aún así es de primer orden porque necesita al menos un gradiente.
Un algoritmo de segundo orden es cualquier algoritmo que utilice alguna segunda derivada, en el caso escalar. Para elaborar, el paso de Newton requiere el uso del Hessiano que tiene segundas derivadas de orden i.e. H_{i,j} = \partial_i \partial_j f(x).
En general, un algoritmo puede clasificarse como de optimización de orden n^{th} si utiliza un tensor de rango n.
Diferenciación importante:
Cuando un algoritmo utiliza una versión aproximada de la información de segundo orden (Hessiano) para la optimización, puede o no ser un algoritmo de segundo orden. Estoy enfatizando esto porque, por ejemplo, puede aproximar el Hessiano por el producto externo del gradiente H = \nabla f(x) \nabla f(x)^T. En este caso, está usando únicamente información de primer orden, por lo que esto se consideraría un algoritmo de primer orden. Por otro lado, si está aproximando el Hessiano calculando solo los elementos diagonales \partial_i \partial_i f(x), esto sería un algoritmo de segundo orden.
El orden de un algoritmo puede considerarse como el orden de error resultante de la aproximación de la derivada. Recuerde la definición de una derivada: \partial_i f(x) \approx \frac{f(x + \epsilon \Delta x_i) - f(x)}{\epsilon}
y la segunda derivada: \partial_{ij} f(x) \approx \frac{\partial_j f(x + \epsilon \Delta x_i) - \partial_j f(x)}{\epsilon},
donde x_i es igual a x solo en la coordenada i^{th} y 0 en otros lugares. Por lo tanto, si utiliza una aproximación de \epsilon para cada cálculo de derivada, obtendrá inherentemente un error de \epsilon^2 en su algoritmo de optimización.
Porque de alguna forma está incluido en su pregunta, me gustaría agregar que los algoritmos de primer orden no necesariamente convergen linealmente. El Descenso de Gradiente Estocástico (SGD) converge de forma sub-lineal y muchos algoritmos de segundo orden no convergen de forma cuadrática.
0 votos
¿Alguien tiene alguna opinión sobre esto?