4 votos

¿Cómo calcular la derivada parcial de la función de costo de aprendizaje de tarea media multi regularizados?

Antecedentes: Este es el costfunction de la Media de Regularización de la Multi Tarea de Aprendizaje. Este es un típico de regresión lineal modelo de aprendizaje, con la única diferencia de que hay varias instancias de capacitaciones al mismo tiempo. De modo que X tiene un adicional de 3ª dimensión y W y y una 2ª dimensión. X es la capacitación de los datos, Y es objetivos, W es pesos, m es el número de tareas (3ª dimensión), d es el número de cuenta, n es el número de ejemplos.

$X\in R^{n_i\times d \times m}$, $Y\in R^{n_i\times m }$, $W\in R^{d \times m}$

enter image description here

Pregunta: Dada la función de costo

$$ J =\min_W \frac{1}{2}||XW-Y||_F^2+\lambda\sum_{i=1}^m||W_i-\frac{1}{m}\sum_{s=1}^mW_s||^2_2 $$ ¿Qué es $\frac{\partial}{\partial W}J$?

Necesito calcular las derivadas parciales que se pueden utilizar con la línea de máxima pendiente de descenso algoritmo de optimización. Yo estaba pensando en el cálculo de la derivada de ambos con respecto a un solo peso, y de toda la matriz. Ver mi respuesta para mis cálculos hasta ahora.

4voto

Steve Pitchers Puntos 584

Bueno, así fue como llegué a esta conclusión. ¿Alguien puede verificarlo por favor?


En línea de gradiente de la pendiente:

$$ \frac{\partial}{\partial w_{j,k}}J =\frac{\partial}{\partial w_{j,k}}\frac{1}{2}||XW-Y||_F^2+\lambda\sum_{i=1}^m||W_i-\frac{1}{m}\sum_{s=1}^mW_s||^2_2 $$ vamos $ z_{i,k} = \sum_{j=1}^dx_{i,j,k}w_{j,k} - y_{i,k} $ $$ =\frac{\partial}{\partial w_{j,k}}\frac{1}{2}\left(\sqrt{\sum_{k=1}^{m}\sum_{i=1}^{n_{k}}|z_{i,k}|^2}\right)^2+\lambda\sum_{k=1}^m\left(\sqrt{\sum_{j=1}^d|w_{j,k}-\frac{1}{m}\sum_{s=1}^mw_{j,s}|^2}\right)^2 $$ $$ =\frac{\partial}{\partial w_{j,k}}\frac{1}{2}{\sum_{k=1}^{m}\sum_{i=1}^{n_{k}}z_{i,k}^2}+\lambda\sum_{k=1}^m(\sum_{j=1}^d(w_{j,k}-\frac{1}{m}\sum_{s=1}^mw_{j,s})^2) $$

$$ \frac{\partial}{\partial w_{j,k}}J= \sum_{i=1}^{n_{k}}((\sum_{j=1}^dx_{i,j,k}w_{j,k}-y_{i,k}) x_{i,j,k})+\lambda2(w_{j,k}-\frac{1}{m}\sum_{s=1}^mw_{j,s})(1-\frac{1}{m}) $$


Lote de gradiente de la pendiente $$ \frac{\partial}{\partial W}J= (XW-Y)X + 2\lambda\sum_{i=1}^m(W_i-\frac{1}{m}\sum_{s=1}^mW_s) $$

3voto

patfla Puntos 1

Sólo algunos consejos generales

  • trate de limitar la indexación donde sea posible, y utilizar el álgebra matricial

  • Como la dimensión de la $Y_i$ varía con $i$ mejor no como almacén de una matriz. El tratamiento de $i$ por separado.

  • Alternativamente, se podría definir como una muy larga vector $Y=(Y_1^T,\dots,Y_m^T)^T$. Del mismo modo, $X$ $\sum_{i=1}^{m}n_i$ filas y $d$ columnas. Pero, a continuación, $W$ necesita ser redefinido como la driect suma $W=\oplus_{i=1}^{m}W_i$. Pero, a continuación, $W$ ahora ha estructurales ceros. Demasiado complicado para trabajar con...

  • no utilizar los índices más de una vez. Por ejemplo utilizar $w_{j,k}$ y también el uso de $j,k$ como la suma de las variables. Debe utilizar $w_{r,s}$ lugar

Así que me gustaría escribir su función de coste como $$J=\frac{1}{2}\sum_{i=1}^{m}(X_iW_i-Y_i)^T (X_iW_i-Y_i) +\lambda (W_i-\overline{W})^T (W_i-\overline{W})$$ Donde $\overline{W}=\frac{1}{m}\sum_{i=1}^{m}W_i$ Ahora, utilizando la regla de la cadena tenemos $\frac{\partial e^Te}{\partial W_r}= 2\frac{\partial e}{\partial W_r} e$

Así que usted tiene $$ \frac{\partial J}{\partial W_r} =X_r^T (X_rW_r-Y_r) +2\lambda \sum_{i=1}^{m} \left(\frac{\partial W_i}{\partial W_r}- \frac{\partial \overline{W} }{\partial W_r}\right)(W_i-\overline{W})$$ $$ =X_r^T (X_rW_r-Y_r) +2\lambda (W_r-\overline{W})$$

Esta no es la respuesta que usted tiene.

actualización

Una manera de re-expresar las ecuaciones mediante el establecimiento $ X=\oplus_{i=1}^mX_i $ (que ha $\sum_{i=1}^mn_i $ filas y $ dm $ columnas, y $ w=(W_1^T,\dots, W_m^T)^T $$ Y=(Y_1^T,\dots, Y_m^T)^T $. También podemos re-expresar el término de penalización como $\sum_{i=1}^m(W_i-\overline {W})^T (W_i-\overline {W})=w^Tw-m\overline {W}^T\overline {W} =w^T (I-m^{-1}G^TG) w $ donde $ G$ $ d\times md $ matriz que calcula los totales para $ w $. Por lo que el $ k $ ésima fila de a $ G $ tiene en columnas $k, d+k, 2d+k, \dots, (m-1) d+k $ y ceros en todas las demás. También podemos escribir el otro factor como $\frac{1}{2}(Y-Xw)^T (Y-Xw) $. Por lo tanto una solución explícita se da como

$$\hat {w}=\left [X^TX +2\lambda (I-m^{-1} G^TG)\right]^{-1} X^TY $$

Probablemente será más eficiente para aplicar por la primera utilización de la woodbury matriz identidad, como $ X^TX $ es un bloque - diagonal de la matriz.

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