2 votos

Encontrar el gradiente y el hessiano de $\frac{1}{2}|Ax-By|^2$

Estoy tratando de calcular el gradiente y el hessiano de la siguiente función

$$f(x,y) = \frac{1}{2}|Ax-By|^2$$

donde $A$ y $B$ son $m \times n$ matrices, $x, y \in \mathbb{R}^n$ y $f: \mathbb{R}^{2n} \to \mathbb{R}$ .

Sinceramente, no tengo ni idea de la mejor manera de proceder. Normalmente, para encontrar el gradiente, reescribiría la función en sumas y derivaría a partir de ahí - pero el cuadrado y los múltiples argumentos vectoriales me tienen perplejo. No estoy buscando una solución, sino más bien una pista sobre dónde empezar.

Además, ¿tengo razón al pensar que $\nabla f(x,y)$ es un vector en $\mathbb{R}^{2n}$ que consiste en las derivadas parciales a lo largo de $x$ y $y$ y $\nabla^2 f(x,y)$ para ser un $2n \times 2n$ ¿Matriz?

Gracias de antemano.

0 votos

Tenga en cuenta que $\|x\|^2 = x^T x$ . Ampliar $f(x+u,y+v)-f(x,y)$ .

0 votos

@copper.hat ¡gracias!

2voto

JeanMarie Puntos 196

Una respuesta para el gradiente.

Asimilar vectores y vectores columna (como se hace) :

$$f(x,y) := \frac{1}{2}\|Ax-By\|^2=\frac{1}{2}(Ax-By)^T(Ax-By)=$$

$$\frac{1}{2}(x^TA^T-y^TB^T)(Ax-By)$$ $$=\frac{1}{2}\left(x^T(A^TA)x-\underbrace{(x^TA^TBy+y^TB^TAx)}_{2x^TA^TBy}+y^T(B^TB)y\right)\tag{1}$$

Apliquemos ahora dos resultados clásicos:

1) el gradiente de $x^TMx$ con respecto a $x$ es $2x^TM$ visto como un vector de filas. ¿Por qué? Consideremos la expansión (Taylor), donde $h$ es un incremento del vector:

$$\underbrace{(x+h)^TM(x+h)}_{f(x+h)}=\underbrace{x^TMx}_{f(x)}+\underbrace{x^TMh+h^TMx}_{(2x^TM)h=f'(x).h}+\underbrace{h^TMh}_{\text{2nd order term}}$$

2) El gradiente de $x^TMy$ con respecto a $y$ es un vector de filas $x^TM$ por una razón similar.

Utilizando estos dos resultados, el gradiente de (1) es (¡efectivamente!) a $2n$ vector dimensional de filas que es:

$$(x^T(A^TA)-y^TB^TA,y^T(B^TB)-x^TA^TB)$$

Observaciones :

1) Además, sí, el hessiano es un $2n \times 2n$ matriz.

2) Se podría haber hecho una derivación diferente para (1) escribiendo :

$$f(x,y) := \frac{1}{2}\|Ax-By\|^2= \frac{1}{2}\begin{pmatrix}x^T \ \ y^T\end{pmatrix}\begin{pmatrix}A^T\\-B^T\end{pmatrix}\begin{pmatrix}A \ \ -B\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$$

$$= \frac{1}{2}\begin{pmatrix}x^T \ \ y^T\end{pmatrix}\begin{pmatrix}A^TA&-A^TB\\-B^TA&B^TB\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$$

0 votos

Creo que olvidaste transponer, $(x^T(A^TA)-y^TB^TA,y^T(B^TB)-x^TA^TB)$ es el jacobiano, no el gradiente.

0 votos

@Hyperplane Un jacobiano es una matriz. Un gradiente es un vector fila que debe multiplicarse por un vector columna (véase el punto en $f'(x).h$ que representa un producto punto?

1 votos

El jacobiano de una función $f\colon \mathbb R^n \to\mathbb R^m$ es por definición el $m\times n$ matriz $(\frac{\partial f_i}{\partial x_j})_{ij}$ que en este caso es precisamente el $1\times n$ matriz también conocida como vector de filas $(x^T(A^TA)-y^TB^TA,y^T(B^TB)-x^TA^TB)$

1voto

greg Puntos 156

Concatenar los dos vectores (y matrices) en un único vector columna (y matriz). $$\eqalign{ z &= \pmatrix{x\\y} &\in{\mathbb R}^{2n\times 1} \quad\quad C &= \Big[\,A\;-\!\!B\,\Big] &\in{\mathbb R}^{m\times 2n} \\ }$$ Ahora la función es muy sencilla, al igual que sus derivadas. $$\eqalign{ f &= \tfrac{1}{2}\|Cz\|^2 = \tfrac{1}{2}z^TC^TCz \\ \frac{\partial f}{\partial z} &= C^TCz \\ \frac{\partial^2 f}{\partial z^2} &= C^TC \\ }$$

0 votos

Lo siento, pero $\tfrac{1}{2}\|Cz\|^2 = \tfrac{1}{2}(\|Ax\|^2+\|By\|^2)$ no es lo mismo que $ \tfrac{1}{2}\|Ax-By\|^2$ ...

0 votos

@JeanMarie Gracias. El $C$ matriz tenía la forma equivocada. Por alguna razón, pensé que tenía que ser diagonal en bloque.

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