¿Por qué no usar la tercera derivada para la optimización numérica?

29

Si los hessianos son tan buenos para la optimización (ver, por ejemplo, el método de Newton ), ¿por qué detenerse allí? ¿Vamos a usar las derivadas tercera, cuarta, quinta y sexta? Por qué no?

eco
fuente
11
Una vez que encuentre el óptimo, ¿por qué buscar más? De hecho, ¿qué estás tratando de preguntar realmente? ¿Cuál es tu pregunta estadística?
whuber
2
En muchos casos, la distribución limitante de las estimaciones que resuelven ecuaciones de estimación óptimas o minimizan las funciones objetivas son conjuntamente normales, por lo que pueden caracterizarse completamente por su primer y segundo momento.
AdamO
3
Si puedes hacer algo, no significa que debas hacerlo. Los derivados de orden superior son cada vez más susceptibles al ruido.
Vladislavs Dovgalecs
66
Estoy votando para cerrar esta pregunta como fuera de tema porque no se trata de estadísticas. Se trata de optimización numérica
Aksakal
11
No has hecho un gran avance científico. Halley te ganó por unos 3 1/4 siglos. Halley, E., 1694, "Un método nuevo, exacto y fácil de encontrar las raíces de cualquier ecuación en general, y que sin ninguna reducción previa" Philos. Trans. Roy Soc. Londres, 18, 136–145. Los métodos de tercera derivada para la optimización han existido y se han estudiado durante muchos años, pero no han alcanzado una gran popularidad. Si se implementa bien, su mayor ventaja puede ser un aumento en la robustez frente a un método de Newton bien implementado. Esto puede ser una ventaja para los problemas más desagradables.
Mark L. Stone el

Respuestas:

31

Estoy interpretando la pregunta como "¿Por qué el método de Newton solo usa derivadas primera y segunda, no derivadas de terceros o superiores?"

En realidad, en muchos casos, ir a la tercera derivada ayuda; Lo he hecho con cosas personalizadas antes. Sin embargo, en general, ir a derivados más altos agrega complejidad computacional: debe encontrar y calcular todos esos derivados, y para problemas multivariados, ¡hay muchas más terceras derivadas que primeras derivadas! - eso supera con creces los ahorros en conteo de pasos que obtienes, si corresponde. Por ejemplo, si tengo un problema tridimensional, tengo 3 primeras derivadas, 6 segundas derivadas y 10 terceras derivadas, por lo que ir a una versión de tercer orden más que duplica el número de evaluaciones que tengo que hacer (de 9 a 19), por no mencionar la mayor complejidad de calcular la dirección / tamaño del paso una vez que he realizado esas evaluaciones, pero casi seguramente no reducirá a la mitad la cantidad de pasos que tengo que dar.

Ahora, en el caso general con variables, la colección de n t h derivados parciales número ( k + n - 1knorteth, entonces, para un problema con cinco variables, el número total de derivadas parciales tercera, cuarta y quinta será igual a 231, un aumento de más de 10 veces sobre el número de derivadas parciales primera y segunda (20). Tendría que tener un problema que es muy, muy cercano a un polinomio de quinto orden en las variables para ver una reducción lo suficientemente grande en los recuentos de iteraciones para compensar esa carga computacional adicional.(k+norte-1k-1)

jbowman
fuente
3
¿Podría explicar cómo está utilizando derivados más altos?
whuber
55
@whuber A lo que se refiere el OP, extremadamente claro que tengo que admitir, es al método de Newton de optimización. La pregunta realmente es "¿Por qué el método de Newton solo usa primera y segunda derivada, no una tercera o una derivada superior?". Está fuera de tema y no está claro lo que él / ella está pidiendo, pero pensé que solo daría una respuesta en lugar de votar para cerrar por una razón u otra.
jbowman
44
+1 Creo que esta es una buena respuesta, pero podría mejorarse mostrando lo que estás haciendo en función de la expansión de Taylor.
Matthew Drury
8
Como uno de mis profesores, un consultor muy exitoso también, nos dijo una vez: "Cada vez que pienses que has descubierto cómo construir una mejor trampa para ratones, trata de averiguar por qué las 1,000 personas que tuvieron exactamente la misma idea antes de que no lo hayas puesto en el mercado ". El objetivo de usar Newton es guardar el cálculo; de lo contrario, solo haríamos una búsqueda exhaustiva. Le aseguro que agregar una tercera derivada a un problema tridimensional muy raramente pagará la duplicación de la computación en cada paso con iteraciones muy reducidas a menos que la función sea ~ cúbica.
jbowman
9
No, no lo es, es un comentario un poco más profundo de lo que parece. El punto es doble: la mayoría de las ideas que parecen buenas al principio, no lo son, por razones que pueden no ser del todo obvias, y la verdadera clave para un avance puede no ser la idea en sí, sino algo que supera o resuelve la falla en la idea. Este razonamiento, en efecto, lo señala y le dice que busque debilidades en la idea. No se trata de darse por vencido, se trata de pensar las cosas y con un ojo crítico en eso.
jbowman
22

Realmente no veo cuál es el aspecto estadístico de esta pregunta, así que responderé la parte de optimización.

Hay 2 partes para la convergencia: costo de iteración e iteración conteo de

Casi todas las respuestas aquí se centran solo en el costo de iteración e ignoran el recuento de iteraciones . Pero ambos importan. Un método que itera en 1 nanosegundo pero que requiere iteraciones para converger no te servirá de nada. Y un método que explote tampoco ayudará, no importa cuán barato sea su costo de iteración.1020

Veamos qué está pasando.

Entonces: ¿por qué no usar> derivados de segundo orden?

En parte porque (y esto también es cierto para el segundo orden, pero más sobre eso en un momento):

Los métodos de orden superior generalmente solo convergen más rápido cuando están cerca de lo óptimo .

¡Por otro lado, explotan más fácilmente cuando están más lejos de lo óptimo!

(Por supuesto, esto no siempre es cierto; por ejemplo, una cuadrática convergerá en 1 paso con el método de Newton. Pero para funciones arbitrarias en el mundo real que no tienen buenas propiedades, esto es generalmente cierto).

Esto significa que cuando está más lejos de lo óptimo, generalmente desea un método de bajo orden (léase: primer orden). Solo cuando está cerca desea aumentar el orden del método.

Entonces, ¿por qué detenerse en el segundo orden cuando está cerca de la raíz?

¡Porque el comportamiento de convergencia "cuadrática" realmente es "suficientemente bueno"!

Para ver por qué, primero debes entender qué es la "convergencia cuadrática" significa .

Matemáticamente, la convergencia cuadrática significa que, si es su error en la iteración k , entonces lo siguiente finalmente es cierto para alguna constante cϵkkdo :

El |ϵk+1El |do El |ϵkEl |2

En inglés simple, esto significa que, una vez que esté cerca del óptimo (¡importante!), Cada paso adicional se duplica el número de dígitos de precisión .

¿Por qué? Es fácil de ver con un ejemplo: para y | ϵ 1 | = 0.1 , tienes | ϵ 2 | 0.01 , | ϵ 3 | 0.0001 , etc., que es ridículamente rápido. (Es súper exponencialdo=1El |ϵ1El |=0.1El |ϵ2El |0,01El |ϵ3El |0,0001 !)

¿Por qué no detenerse en el primer orden en lugar del segundo orden?

En realidad, las personas a menudo hacen esto cuando los derivados de segundo orden se vuelven demasiado caros. Pero la convergencia lineal puede ser muy lenta. por ejemplo, si obtuviste , necesitarías quizás 10,000,000 iteraciones con convergencia lineal para obtener | ϵ | < 0.5 , pero solo 23 iteraciones con convergencia cuadrática. Entonces puede ver por qué hay una diferencia drástica entre la convergencia lineal y cuadrática. Esto no esϵk=0.9999999|ϵ|<0.5 cierto para la convergencia de segundo y tercer orden, por ejemplo (ver el siguiente párrafo).

En este punto, si conoce alguna ciencia de la computación, comprende que con la convergencia de segundo orden, el problema ya está resuelto . Si no ve por qué, aquí está el por qué: no hay nada práctico que ganar triplicando el número de dígitos en cada iteración en lugar de duplicarlo : ¿qué le va a comprar? Después de todo, en una computadora, incluso un doublenúmero de precisión tiene 52 bits de precisión, que son alrededor de 16 dígitos decimales. Tal vez disminuirá el número de pasos que necesita de 16 a 3 ... lo cual suena genial, hasta que se dé cuenta de que tiene que calcular las terceras derivadas en cada iteración, que es donde está la maldición de la dimensionalidad.6656

Pero de nuevo: recuerda que la maldición de la dimensionalidad es la mitad de la historia .

La otra mitad es que generalmente obtienes un comportamiento peor cuando estás lejos de lo óptimo, lo que generalmente afecta negativamente la cantidad de iteraciones que tienes que hacer.

Conclusión

En una configuración general, los métodos de orden superior a 2 son una mala idea. Por supuesto, si puede aportar supuestos útiles adicionales a la tabla (por ejemplo, tal vez sus datos se parezcan a un polinomio de alto grado, o si tiene formas de delimitar la ubicación del óptimo, etc.), entonces tal vez pueda encontrar que son es una buena idea, pero será una decisión específica del problema y no una regla general para vivir.

Mehrdad
fuente
Gran respuesta, pero creo que el teorema de Abel-Ruffini es una pista falsa. En primer lugar, estamos hablando de problemas multivariados, por lo que calcular ceros de polinomios univariados es, como mucho, un subproblema fácil de interés limitado. Y, lo que es más importante, no importa si hay una fórmula cerrada para la solución o no: en la práctica, hasta donde yo sé, las personas no usan fórmulas cerradas ni siquiera para polinomios de grado 4. Son demasiado largos, complicados e inestables. Los ceros de los polinomios se calculan numéricamente, en la práctica (utilizando QR en la matriz complementaria).
Federico Poloni
@FedericoPoloni: Sí, los mismos pensamientos me vinieron a la mente cuando decidí ponerlo. Originalmente no lo tenía ... Pensé que tal vez debería ponerlo como otro ejemplo de por qué los grados más altos pueden tener Problemas inesperados Pero supongo que lo sacaré de nuevo si no ayuda, gracias por el comentario.
Mehrdad
@FedericoPoloni: PD. Mientras estamos en el tema del cómputo numérico, puede encontrar interesantes las funciones de Sturm (si aún no las conoce).
Mehrdad
7

H=[2FX122FX1X22FX1Xnorte2FX2X12FX222FX2Xnorte2FXnorteX12FXnorteX22FXnorte2].

H/ /X=[HX1HX2HXnorte]
(H/x)ijk=3fxixjxk

6fxixjxkxlxmxn

Por lo general, la compensación no es favorable para ir más allá de Hesse. Me refiero a la compensación entre la ganancia potencial de velocidad mediante el uso de aproximaciones de mayor orden frente a la amplificación de ruido. Siempre tiene ruido en las entradas porque estamos hablando de aplicaciones estadísticas. Este ruido será amplificado por las derivadas.

Si juega al golf, entonces la analogía en la optimización es primero balancearse tratando de llegar al green, no preocuparse demasiado por un hoyo. Una vez, en el green, pondremos un hoyo.

Aksakal
fuente
4

Por lo general, cuando analiza la efectividad de dichos algoritmos, encontrará resultados como un paso de un algoritmo de cuarto orden que tiene aproximadamente la misma efectividad que dos pasos de un algoritmo de segundo orden.

Por lo tanto, la elección de qué algoritmo usar es relativamente simple: si un paso del algoritmo de cuarto orden requiere el doble de trabajo o más de un paso del algoritmo de segundo orden, debería usar el último.

Esa es la situación típica de este tipo de métodos: el algoritmo clásico tiene la relación óptima de trabajo a efectividad para problemas generales. Si bien hay problemas ocasionales en los que un enfoque de orden superior es inusualmente fácil de calcular y puede superar a la variante clásica, son relativamente poco comunes.


fuente
2

Puede pensar en el orden de las derivadas como el orden de una aproximación polinómica a la función. La mayoría de las rutinas de optimización dependen de la convexidad. Un polinomio cuadrático será convexo / cóncavo en todas partes, mientras que un polinomio de tercer orden o superior no será convexo en todas partes. La mayoría de las rutinas de optimización se basan en aproximaciones sucesivas de funciones convexas con cuadráticos por este motivo. Una aproximación cuadrática que es convexa requiere que se imponga una condición de definición positiva para que la cuadrática sea convexa.

Lucas Roberts
fuente
3
x2y2
x2y2
1
Es una función cuadrática pero ni convexa ni cóncava.
Dirk
@Dirk, sí, tienes razón, debería haber agregado una advertencia positiva semi-definida. Agregaré eso a mi respuesta.
Lucas Roberts
1

dim3/6

¿Por qué el modelo de tercer orden de dirección única puede ser beneficioso? Por ejemplo, porque una derivada cercana a cero segundos en esta dirección básicamente significa dos escenarios alternativos: meseta o punto de inflexión: solo el primero requiere un tamaño de paso más grande, y la tercera derivada permite distinguirlos.

Creo que iremos hacia métodos híbridos de orden múltiple: método de segundo orden en un subespacio de baja dimensión, por ejemplo, de PCA de gradientes recientes, lo que aún permite el descenso de gradiente simultáneo de primer orden libre hacia parte del gradiente ortogonal a este subespacio ... y adicionalmente Agregaría, por ejemplo, el modelo de tercer orden para una dirección más relevante.

Jarek Duda
fuente