1 votos

Gradiente de la función que se puede expresar como otra función

Dadas las constantes desconocidas $a$ y $b$ , dejemos que

$$f(x,y) := \frac{a}{2} x^2+ \frac{b}{2} y^2$$

lo que significa que $$\nabla f(x,y) = \begin{bmatrix} ax\\ by\end{bmatrix}$$

Entonces tengo $h(k) = f((1-ka)x_0, (1-kb)y_0)$ , donde $x_0$ y $y_0$ son constantes.

(Esto es la búsqueda de líneas para el descenso de gradiente, por cierto, teníamos la fórmula $h(k) = f(z_i + kp_i)$ donde $z_i$ es el punto de partida que tenemos ( $(x_0, y_0)$ en este caso) y $p_i$ es el gradiente negativo en $z_i$ ( $-\nabla f(z_i)$ ))

Me pidieron que fijara el gradiente de $h$ a $0$ y resolver para $k$ . ¿Esto hace que $\nabla h(k) = \nabla f((1-ka)x_0, (1-kb)y_0) = (a(1-ka)x_0, b(1-kb)y_0)$ ? En cuyo caso necesitaría $a(1-ka)x_0 = b(1-kb)y_0 = 0?$ Lo cual es imposible ya que $a$ y $b$ ¿podría no ser igual?

Así que la pregunta que tengo es 1) ¿he entendido algo mal/he hecho algún paso mal al hacer la derivación y 2) es realmente posible encontrar un $k$ donde el gradiente de $h(k)$ es $0$ ?

1voto

Shubham Johri Puntos 692

Configurar $u(k)=(1-ka)x_0,v(k)=(1-kb)y_0$ El gradiente de $h(k)$ es simplemente $$\begin{align*}h'(k)&=\frac{df(u(k),v(k))}{dk}\\&=f_uu'(k)+f_vv'(k)\\&=-ax_0f_u-by_0f_v\\&=-a^2ux_0-b^2vy_0\end{align*}$$

Sustitución de la espalda $u(k),v(k)$ y al igualar esto a cero se obtiene $$k=\frac{a^2x_0^2+b^2y_0^2}{a^3x_0^2+b^3y_0^2}$$

1voto

Intentemos entender el algoritmo, y eso también debería responder a tu consulta. Tenemos una función escalar convexa en el espacio $f:R^2 \to R$ y queremos encontrar el punto donde alcanza su valor mínimo/máximo

Para empezar el juego, tenemos que elegir un punto de partida -etiquetado arbitrariamente como $(x_0,y_0)$ . Lo bueno de una función convexa es que puedes elegir cualquier punto de partida y finalmente convergerá a tu solución

Ahora, necesitamos una dirección para pasar al siguiente punto: ¿cómo elegirlo? El gradiente nos da una dirección que representa la tasa de cambio más rápida - por lo tanto, para un pequeño paso en esa dirección cambiaríamos el valor más. Parece una buena elección de la dirección. (Estoy añadiendo el signo negativo aquí pero incluso si no lo haces el valor de $k$ sería negativo)

$$\vec{p_0} = -\nabla f(x_0, y_0)$$

Por último, necesitamos una distancia para avanzar en esa dirección. Aquí es donde $k$ entra en escena. ¿Hasta dónde debemos viajar? Una buena manera de hacerlo es seguir avanzando hasta $f$ se minimiza, ¿verdad? Eso se traduciría en

$$k^* = \arg\min h(k)$$

donde $h(k) = f((x_0,y_0) - k\vec{p_0})$

En su caso, eso significa simplemente encontrar $k^*$ tal que

$$\frac{dh(k)}{dk}|_{k^*} = 0$$

Una vez que se obtiene $k^*$ puedes encontrar el siguiente punto y repetir el proceso hasta que converja

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