1 votos

¿Tiene sentido este descenso gradual?

Estoy tratando de maximizar una función $f(x)$ de un vector de reales $x=<x_1, x_2, ...x_n>$ . En mi aplicación práctica, no tengo ninguna expresión para $f$ en cualquier caso, todo lo que puedo hacer es dar un vector $x$ , calcule $f(x)$ mediante un experimento determinista.

Así, en lugar de tener que establecer un tamaño de paso $\alpha$ calcular las derivadas, etc., sólo hay que ver si el movimiento $x_1 ->x_1(1+\alpha)$ aumenta $f$ o $x_1 ->x_1(1-\alpha)$ lo aumenta, transforma $x_1$ en consecuencia, y luego iterar sobre todas las coordenadas de esta manera hasta que se cumpla algún criterio de terminación. Aquí $\alpha$ es un pequeño número positivo como $0.05$ .

Esto es más práctico para mí que un descenso de gradiente estándar, porque el valor de $f$ es de un orden de magnitud completamente diferente del $x_i$ s, así como su derivada, por lo que será más difícil elegir el tamaño de paso apropiado de una manera clásica de descenso de gradiente de libro de texto.

¿Tiene sentido este enfoque? ¿Tiene un nombre específico?

2voto

Stefan Jorgensen Puntos 46

Esto se llama descenso de coordenadas . Es lento, pero funciona si la función es suave. También puede considerar descenso adaptativo de coordenadas que trata de encontrar una transformación que descorrelacione las coordenadas de descenso para acelerar la convergencia (evitando los zig-zags).

Una nota sobre el tamaño del paso: Por lo general, para los algoritmos de tipo de descenso de gradiente, se quiere elegir un tamaño de paso aditivo que disminuye a cero a medida que avanza la optimización. Es decir, si se mueve en la dirección positiva, establezca $$x_1\gets x_1 + \mu(1-\epsilon)^n,$$ donde $\mu$ es su tamaño de paso inicial, y $\epsilon \ll 1$ es el decaimiento. Como $n$ se hace grande, su algoritmo convergerá a un valor específico de $x_1$ . En tu post utilizas un multiplicativo tamaño del paso, lo que puede ser peligroso especialmente si $\alpha$ no es adaptable. Por ejemplo, suponga que su función es una gaussiana con media 100, y que inicializa $x = 1$ con $\alpha = 0.2$ . Entonces su algoritmo bailará alrededor del óptimo, así: Comparison between multiplicative and additive Obsérvese el rendimiento mucho mayor de un paso aditivo con decaimiento (en naranja)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X