Respostas:
Vou responder sua pergunta sobre o , mas lembre-se de que sua pergunta é uma subquestão de uma pergunta maior e é por isso que:
Lembrete sobre as etapas nas redes neurais:
Etapa 1: propagação direta (cálculo de )
Etapa 2a: propagação reversa: cálculo dos erros
Etapa 2b: propagação para trás: cálculo do gradiente de J ( ) usando os erros e ,
Etapa 3: descida do gradiente: calcule o novo usando os gradientes
Primeiro, para entender o que o são , o que eles representam e por Andrew NG-lo falando sobre eles , você precisa entender o que Andrew está realmente fazendo naquele pointand porque nós fazemos todos esses cálculos: ele está calculando o gradiente de a ser usado no algoritmo de descida Gradiente.
O gradiente é definido como:
Como não podemos realmente resolver essa fórmula diretamente, vamos modificá-la usando DOIS TRUQUES MÁGICOS para chegar a uma fórmula que realmente podemos calcular. Esta fórmula final utilizável é:
Para chegar a esse resultado, o PRIMEIRO TRUQUE MÁGICO é que podemos escrever o gradiente de usando :
E então o SEGUNDO TRUQUE MÁGICO usando a relação entre e , para definir os outros índices,
E como eu disse, finalmente podemos escrever uma fórmula para a qual conhecemos todos os termos:
DEMONSTRAÇÃO DO PRIMEIRO TRUQUE MÁGICO:
Definimos:
A regra Chain para dimensões mais altas (você REALMENTE deve ler esta propriedade da regra Chain) nos permite escrever:
No entanto, como:
Podemos então escrever:
Devido à linearidade da diferenciação [(u + v) '= u' + v '], podemos escrever:
com:
Então, para k = i (caso contrário, é claramente igual a zero):
Finalmente, para k = i:
Como resultado, podemos escrever nossa primeira expressão do gradiente :
O que equivale a:
Ou:
DEMONSTRAÇÃO DO SEGUNDO TRUQUE MÁGICO : ou:
Lembre-se de que colocamos:
Novamente, a regra Cadeia para dimensões mais altas nos permite escrever:
Substituindo por , temos:
Agora, vamos nos concentrar em . Nós temos:
Em seguida, derivamos essa expressão em relação a :
Devido à linearidade da derivação, podemos escrever:
Se j i, então
Como consequência:
E depois:
Como g '(z) = g (z) (1-g (z)), temos:
E como , temos:
E, finalmente, usando a notação vetorizada:
Este cálculo ajuda. A única diferença deste resultado para o resultado de Andrew é por causa da definição de teta. Na definição de Andrew, z (l + 1) = teta (l) * a (l). Neste cálculo, z (l + 1) = teta (l + 1) * a (l). Então, na verdade, não há diferença.