Muitas referências (incluindo a wikipedia e http://www.atmos.washington.edu/~dennis/MatrixCalculus.pdf e http://michael.orlitzky.com/articles/the_derivative_of_a_quadratic_form.php ) definem a derivada de um função por um vetor como derivadas parciais da função organizada em uma linha (portanto, uma derivada de uma função com valor escalar é um vetor de linha). Nesta convenção, o gradiente e a derivada do vetor são transpostos um do outro. O benefício desta convenção é que podemos interpretar o significado da derivada como uma função que informa a taxa linear de mudança em cada direção. O gradiente continua sendo um vetor, indica a direção e a magnitude da maior taxa de mudança.
Recentemente, li a álgebra matricial de Gentle ( http://books.google.com/books/about/Matrix_Algebra.html?id=Pbz3D7Tg5eoC ) e ele parece usar outra convenção, na qual define o gradiente como igual à derivada do vetor, resultando em em um arranjo de coluna (portanto, um derivado de uma função com valor escalar é um vetor de coluna). Como resultado desse arranjo, todo resultado de diferenciação é a transposição do resultado na outra convenção. O benefício desta convenção, suponho aqui, é que o gradiente e a derivada são iguais. Portanto, para tarefas de otimização, em vez de diferenciar e depois fazer a transposição, você pode apenas diferenciar.
Eu acho que a tensão está entre jacobiana e gradiente. Na convenção de linha, o jacobiano segue diretamente da definição da derivada, mas você deve aplicar uma transposição para obter o gradiente; enquanto na convenção da coluna o gradiente é o que não precisa ser transposto, mas você deve aplicar uma transposição para obter o jacobiano. Portanto, se você prefere pensar no resultado derivado como um mapa linear, a primeira convenção faz sentido; se você prefere pensar no resultado como um vetor / direção, a segunda convenção faz sentido. Então você só precisa ser consistente.
Qual dessas convenções é mais comumente usada no Machine Learning? Vou ficar irremediavelmente confuso se gastar muito tempo lendo trabalhos na convenção "errada"?
fonte
Respostas:
Se você considerar um mapa linear entre espaços vetoriais (como o jacobiano) , os elementos terão que concordar em forma com a definição de vetor de matriz : os componentes de são os produtos internos das linhas de com .v = J u v J uJ:u∈U→v∈V v=Ju v J u
Por exemplo, na regressão linear, o espaço de saída (escalar neste caso) é uma combinação ponderada de recursos: , exigindo novamente o produto interno.w⊺u=v
Qual convenção você usa em última análise não tem importância, desde que você mantenha o mesmo o tempo todo. O Matrix Cookbook de Pedersen e Petersen é um recurso bastante seco, mas definitivamente informativo.
fonte