O que justifica esse cálculo da derivada de uma função de matriz?

10

No curso de aprendizado de máquina de Andrew Ng, ele usa esta fórmula:

Atr(ABATC)=CAB+CTABT

e ele faz uma prova rápida, que é mostrada abaixo:

Atr(ABATC)=Atr(f(A)ATC)=tr(f()ATC)+tr(f(A)TC)=(ATC)Tf()+(Ttr(f(A)TC)T=CTABT+(Ttr(T)Cf(A))T=CTABT+((Cf(A))T)T=CTABT+CAB

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?

MoneyBall
fonte
Ele deve estar fazendo suposições especiais sobre as dimensões de , e , pois, caso contrário, essa fórmula não fará sentido em geral. No lado da mão esquerda deve ser um matriz, um matriz, e um matriz para arbitrárias inteiros não negativos . Mas então os produtos à direita não seriam definidos a menos que . B C A i × j B j × j C i × m i , j , m i = mABCAi×jBj×jCi×mi,j,mi=m
whuber
@whuber eu vejo. Dadas as suposições, ainda não entendo como a transição ocorreu da segunda para a terceira linha em que ele introduz .
precisa saber é o seguinte
Entre a segunda e a terceira linha, ele deixa . Entre a segunda e a terceira linha, ele usou a regra do produto. depois, ele usa a regra da cadeia para se livrar de . f ( )f(A)=ABf()
Brian Borchers

Respostas:

14

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 CABACAm×nBn×nCm×pm×pTr(X)=iXiip=mC

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 NR M x R N D f ( x ) : R NR M M × NAAf:RNRMxRNDf(x):RNRMM×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 × nARmnN=mnf(A)=Tr(ABAC)M=1Df(x)1×mnRmnm×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

Tr(Aω)=i=1m(Aω)ii=i=1m(j=1nAij(ω)ji)=i,jωijAij

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ωAijAijωijAij=AijωijωA

(1)i,jωijAij=Tr(Aω)=Tr(ω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 !)ωATr(Aω)ATr(ωA)m×nm×nRnRm


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 quefxL

f(x+h)f(x)=Lh+o(|h|)

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 .hRNf(x+h)f(x)Lhhh|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

(2)f(A+h)f(A)=Tr((A+h)B(A+h)C)Tr(ABAC)=Tr(hBAC)+Tr(ABhC)+o(|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)ω=BACTr(XhC)X=AB

(3)Tr(XhC)=i=1mj=1nk=1mXijhkjCki=i,j,khkj(CkiXij)=Tr((CX)h).

Lembrando , pode ser reescritoX=AB(2)

f(A+h)f(A)=Tr(hBAC)+Tr(CABh)+o(|h|).

É nesse sentido que podemos considerar que a derivada de em é porque essas matrizes jogam os papéis de nas fórmulas de rastreamento .fA

Df(A)=(BAC)+CAB=CAB+CAB,
ω(1)

Juntando tudo

Aqui, então, está uma solução completa.

Seja uma matriz , uma matriz e uma matriz . Seja . Seja uma matriz com coeficientes arbitrariamente pequenos. Porque (por identidade ) é diferenciável e sua derivada é a forma linear determinada pela matrizAm×nBn×nCm×mf(A)=Tr(ABAC)hm×n(3)

f(A+h)f(A)=Tr(hBAC)+Tr(ABhC)+o(|h|)=Tr(h(CAB)+(CAB)h)+o(|h|),
f
CAB+CAB.

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.

whuber
fonte
11
É útil saber que, em geral, sempre que as matrizes tiverem tamanhos compatíveis. Conhecer isso torna (3) um passo trivial. tr(ABC)=tr(CAB)
Brian Borchers
11
@Amoeba Não sei dizer se você está tentando ser engraçado ou não. Nem a pergunta nem a resposta têm nada a ver diretamente com derivadas parciais. A forma é explicitamente uma forma linear definida no espaço vetorial de matrizes reais. Quando alguém afirma que a derivada de uma função em um ponto é igual a alguma matriz , o que eles significam é que é linear formulário fornecido por . (1)Mat(m,n)m×nf:Mat(m,n)RAωDf(A)X:→Tr(Xω)
whuber
2
@ Ammoeba Isso é exatamente correto - justifica amplamente as afirmações na primeira linha desta resposta. É por isso que escrevi " nesse sentido" e, posteriormente no resumo, usei a frase "determinado por" em vez de "igual". Não negarei que a explicação tenha sido desafiadora; Vou pensar em como esclarecer isso e agradeço todos os seus comentários e sugestões.
whuber
11
@ user10324 A maior parte do que eu publico neste site é minha própria formulação - raramente consulto fontes (e as documento quando o faço). Esses posts são destilações da leitura de muitos livros e papéis. Alguns dos melhores livros não são aqueles que são matematicamente rigorosos, mas que explicam e ilustram lindamente as idéias subjacentes. Os primeiros que vêm à mente - em ordem de sofisticação - são Freedman, Pisani, & Purves, Statistics (qualquer edição); Jack Kiefer, Introdução à Inferência Estatística ; e Steven Shreve, Cálculo Estocástico para Finanças II .
whuber
11
@ Whuber Eu finalmente entendo qual é a forma linear do traço. Peço desculpas por fazer a mesma pergunta novamente em postagens separadas quando pude ler sua explicação com mais cuidado. Eu tenho mais uma questão. Se sua equação puder ser aplicada para encontrar derivadas de qualquer função da matriz, tem a mesma dimensão que ? Então, se , então ? H x x R m × n h R m × nf(x+h)f(x)=Lh+o(|h|)hxxRm×nhRm×n
precisa saber é o seguinte