No curso de aprendizado de máquina de Andrew Ng, ele usa esta fórmula:
e ele faz uma prova rápida, que é mostrada abaixo:
A prova parece muito densa sem comentários e estou tendo problemas para entendê-la. O que exatamente aconteceu da segunda para a terceira igualdade?
machine-learning
matrix
derivative
MoneyBall
fonte
fonte
Respostas:
Existe um abuso sutil, mas pesado, da notação que torna muitos dos passos confusos. Vamos abordar esta questão voltando às definições de multiplicação, transposição, traços e derivadas de matrizes. Para aqueles que desejam omitir as explicações, vá para a última seção "Reunindo tudo" para ver como uma demonstração rigorosa pode ser curta e simples.
Notação e conceitos
Dimensões
Para que a expressão faça sentido quando é uma matriz , deve ser uma matriz (quadrada) e deve ser uma matriz , de onde o produto é matriz. Para pegar o traço (que é a soma dos elementos diagonais, ), então , tornando uma matriz quadrada.Uma m × N B N × N C m × p m × p Tr ( X ) = Σ i X i i p = m CABA′C A m×n B n×n C m×p m×p Tr(X)=∑iXii p=m C
Derivados
A notação " " parece referir-se ao derivado de uma expressão em relação a . Ordinariamente, a diferenciação é uma operação realizada em funções . O derivado num ponto é uma transformação linear . Ao escolher as bases para esses espaços vetoriais, essa transformação pode ser representada como uma matriz Esse não é o caso aqui! A f : R N → R M x ∈ R N D f ( x ) : R N → R M M × N∇A A f:RN→RM x∈RN Df(x):RN→RM M×N
Matrizes como vetores
Em vez disso, está sendo considerado como um elemento de : seus coeficientes estão sendo desenrolados (geralmente linha por linha ou coluna por coluna) em um vetor de comprimento . A função possui valores reais, de onde . Conseqüentemente, deve ser uma matriz de : é um vetor de linha que representa uma forma linear em . No entanto, os cálculos da pergunta usam uma maneira diferente de representar formas lineares: seus coeficientes são revertidos em matrizes.R m n N = m n f ( A ) = Tr ( A B A ′ C ) M = 1 D f ( x ) 1 × m n R m n m × nA Rmn N=mn f(A)=Tr(ABA′C) M=1 Df(x) 1×mn Rmn m×n
O rastreio como uma forma linear
Seja uma matriz constante . Então, por definição do traço e da multiplicação da matriz,m × nω m×n
Isso expressa a combinação linear mais geral possível dos coeficientes de : é uma matriz da mesma forma que e seu coeficiente na linha coluna é o coeficiente de na combinação linear. Como , os papéis de e podem ser alterados, fornecendo a expressão equivalenteω A i j A i j ω i j A i j = A i j ω i j ω AA ω A i j Aij ωijAij=Aijωij ω A
Ao identificar uma matriz constante com uma das funções ou , podemos representar linear forma no espaço de matrizes como matrizes. (Não as confunda com derivadas de funções de a !)ω A→Tr(Aω′) A→Tr(ωA′) m×n m×n Rn Rm
Computando uma derivada
A definição
As derivadas de muitas das funções da matriz encontradas nas estatísticas são calculadas com mais facilidade e confiabilidade a partir da definição: você realmente não precisa recorrer a regras complicadas de diferenciação da matriz. Essa definição diz que é diferenciável em se e somente se houver uma transformação linear tal quef x L
para arbitrariamente pequenos deslocamentos . Os meios de notação pequenos-oh que o erro feitas na aproximação à diferença de por é arbitrariamente menor do que o tamanho de para suficientemente pequeno . Em particular, sempre podemos ignorar erros proporcionais a .h∈RN f(x+h)−f(x) Lh h h |h|2
O cálculo
Vamos aplicar a definição à função em questão. Multiplicando, expandindo e ignorando o termo com um produto de dois ,h
Para identificar a derivada , devemos colocar isso na forma . O primeiro termo do lado direito é já nesta forma, com . O outro termo à direita tem o formato para . Vamos escrever isso:L=Df(A) (1) ω=BA′C Tr(Xh′C) X=AB
Lembrando , pode ser reescritoX=AB (2)
É nesse sentido que podemos considerar que a derivada de em é porque essas matrizes jogam os papéis de nas fórmulas de rastreamento .f A
Juntando tudo
Aqui, então, está uma solução completa.
Como isso ocupa apenas metade do trabalho e envolve apenas as manipulações mais básicas de matrizes e traços (multiplicação e transposição), deve ser considerada uma demonstração mais simples - e sem dúvida mais perspicaz - do resultado. Se você realmente deseja entender as etapas individuais da demonstração original, pode ser proveitoso compará-las com os cálculos mostrados aqui.
fonte