Função de custo de entropia cruzada na rede neural
10
Estou analisando a função de custo de entropia cruzada encontrada neste tutorial :
C= - 1n∑x[ yema + ( 1 - y) em( 1 - a ) ]
O que exatamente estamos resumindo? É claro que está acima de , mas e não mudam com . Todos os 's são inseridos no um .
é definido no parágrafo acima da equação como uma função da soma de todos os 's e ' s. xyumaxxumaumaWx
Além disso, é definido como o número de entradas nesse neurônio em particular, correto? Está redigido como "o número total de itens de dados de treinamento" .n
Editar:
Estou correto ao pensar que
C= - 1n∑x[ yema + ( 1 - y) em( 1 - a ) ]
seria a função de custo para toda a rede, enquanto
C= [ yema + ( 1 - y) em( 1 - a ) ]
seria o custo para o neurônio individual? A soma não deveria estar sobre cada neurônio de saída?
L (X, Y) = - 1n∑i = 1ny( I )ema ( x( I )) + ( 1 - y( I )) em( 1 - a ( x( I )) ))
Aqui, é o conjunto de exemplos de entrada no conjunto de dados de treinamento e é o conjunto de rótulos correspondente para esses exemplos de entrada. O representa a saída da rede neural dada a entrada . Y = { y ( 1 ) , … , y ( n ) } a ( x ) xX= { x( 1 ), … , X( N )}Y= { y( 1 ), … , Y( N )}a ( x )x
Cada um dos é 0 ou 1, e a ativação de saída é tipicamente restrita ao intervalo aberto (0, 1) usando um sigmóide logístico . Por exemplo, para uma rede de uma camada (equivalente à regressão logística), a ativação seria dada por que é um matriz de pesos é um vetor de viés. Para várias camadas, você pode expandir a função de ativação para algo como que e são a matriz de pesos e a polarização da primeira camada, e a ( x ) a ( x ) = 1y( I )a(x) Wba(x)=1
a(x)=11+e−Wx−b
Wb Vcz(x)
a(x)=11+e−Wz(x)−bz(x)=11+e−Vx−c
Vcz(x) é a ativação da camada oculta na rede.
Usei o (i) sobrescrito para denotar exemplos porque achei bastante eficaz no curso de aprendizado de máquina de Andrew Ng; às vezes as pessoas expressam exemplos como colunas ou linhas em uma matriz, mas a idéia permanece a mesma.
Obrigado! Portanto, isso nos daria um número único para o erro de toda a rede, em todas as nossas amostras. Para propagação traseira, preciso encontrar a derivada parcial dessa função na matriz de pesos na camada final. Como eu faria isso?
precisa saber é o seguinte
Fazer backprop é uma lata de vermes totalmente separada! A página à qual você vinculou tem uma descrição de derivadas de computação etc. e há muitas perguntas sobre backprop no stackoverflow e neste site. Tente olhar um pouco ao redor e, em seguida, postar uma pergunta separada especificamente sobre backprop.
precisa saber é o seguinte
Isso pode ser útil para você entender o backprop, que passa pelo suporte traseiro com uma rede neural de quatro camadas com uma perda de entropia cruzada em detalhes sangrentos :) cookedsashimi.wordpress.com/2017/05/06/…
YellowPillow
5
O que exatamente estamos resumindo?
O tutorial é realmente bastante explícito:
n
xΣa
a=∑jwjxj.
Posteriormente, no mesmo tutorial, Nielsen fornece uma expressão para a função de custo para uma rede de multicamadas e multi-neurônios (Eqn. 63):
Obrigado pela compreensão, uma pergunta: a última que você definiu não é a entropia categórica, certo?
Tommaso Guerrini
Ele também disse em seu tutorial que "às vezes você pode assumir valores intermediários entre 0 e 1", mas a função que ele deu está toda em y e não houve entrada de ativação. Como podemos implementar valores intermediários na função st?
Feras 15/02
No tutorial de Nielsen, que mostra um perceptron de camada única, a = \ sigma (\ sum_ {j} w_j x_j) porque você possui uma função de ativação sigmóide para sua camada de saída, não a = \ sum_ {j} w_j x_j
O tutorial é realmente bastante explícito:
Posteriormente, no mesmo tutorial, Nielsen fornece uma expressão para a função de custo para uma rede de multicamadas e multi-neurônios (Eqn. 63):
fonte