Muchas referencias (incluidas wikipedia y http://www.atmos.washington.edu/~dennis/MatrixCalculus.pdf y http://michael.orlitzky.com/articles/the_derivative_of_a_quadratic_form.php ) definen la derivada de un funcionar por un vector como derivadas parciales de la función organizada en una fila (por lo que una derivada de una función de valor escalar es un vector de fila). En esta convención, el gradiente y la derivada del vector son transposiciones entre sí. El beneficio de esta convención es que podemos interpretar el significado de la derivada como una función que le indica la tasa de cambio lineal en cada dirección. El gradiente sigue siendo un vector, le indica la dirección y la magnitud de la mayor tasa de cambio.
Hace poco leí Gentle's Matrix Algebra ( http://books.google.com/books/about/Matrix_Algebra.html?id=Pbz3D7Tg5eoC ) y parece usar otra convención, donde define el gradiente como igual a la derivada del vector, lo que resulta en una disposición de columna (por lo que una derivada de una función de valor escalar es un vector de columna). Como resultado de esta disposición, cada resultado de diferenciación es la transposición del resultado en la otra convención. Supongo que el beneficio de esta convención es que el gradiente y la derivada son iguales. Entonces, para las tareas de optimización, en lugar de diferenciar y luego tomar la transposición, simplemente puede diferenciar.
Creo que la tensión es entre jacobiano y gradiente. En la convención de filas, el jacobiano se deduce directamente de la definición de la derivada, pero debe aplicar una transposición para obtener el gradiente; mientras que en la convención de columna el gradiente es el que no necesita ser transpuesto, pero debe aplicar una transposición para obtener el jacobiano. Entonces, si prefiere pensar en el resultado derivado como un mapa lineal, entonces la primera convención tiene sentido; Si prefiere pensar en el resultado como un vector / dirección, entonces la segunda convención tiene sentido. Entonces solo tienes que ser consistente.
¿Cuál de estas convenciones se usa más comúnmente en Machine Learning? ¿Me confundiré irremediablemente si paso demasiado tiempo leyendo el trabajo en la convención "incorrecta"?
fuente
Respuestas:
Si considera un mapa lineal entre espacios vectoriales (como el jacobiano)J: u ∈ U→ v ∈ V , los elementos v = Jtu tiene que estar de acuerdo en forma con la definición de matriz-vector : los componentes dev son los productos internos de las filas de J con tu .
Por ejemplo, en la regresión lineal, el espacio de salida (escalar en este caso) es una combinación ponderada de características:w⊺u =v , de nuevo requiere el producto interior.
La convención que use en última instancia no tiene ninguna consecuencia, siempre que mantenga la misma en todo momento. El Matrix Cookbook de Pedersen y Petersen es un recurso bastante seco pero definitivamente informativo.
fuente