Derivados de gradiente y vector: ¿vector de fila o columna?

9

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"?

Pez simple
fuente
Posiblemente relacionado con math.stackexchange.com/questions/336640/… , que básicamente dice que la primera convención es el camino a seguir, pero todavía tengo curiosidad por saber qué hacer con la convención de Gentle.
Simplefish
chrishecker.com/Column_vs_row_vectors hace un fuerte argumento para la primera convención.
Simplefish
En econometría, la disposición de columnas es la convención.
tchakravarty
Un ejemplo increíblemente frustrante de ambigüedad en esta área es el libro de texto de series temporales de Leutkepohl. Nunca especifica qué notación se usa para los vectores de fila y columna, por lo que la única forma de usar ecuaciones del libro es seguir meticulosamente las pruebas y definiciones de principio a fin, lo que puede involucrar declaraciones en varios capítulos del libro.
shadowtalker

Respuestas:

4

Si considera un mapa lineal entre espacios vectoriales (como el jacobiano) J:tuUvV, los elementos v=Jtutiene 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: wtu=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.

ocramz
fuente
Ah, ya veo. Eché un vistazo más de cerca a la definición de Gentle del jacobiano y en realidad es la misma en ambas convenciones y está de acuerdo con la definición de la representación matricial de un mapa lineal. Específicamente, bajo la convención de columna, existe una noción de un "gradiente matricial" que es la transposición de la convención jacobiana bajo la fila. Pero en la convención de la columna, el jacobiano se define exactamente como esa transposición, por lo que la definición matricial del jacobiano es la misma en ambas convenciones. Son solo las entidades unidimensionales las que son diferentes (vectores vs mapas lineales a R).
Simplefish