Comecei aprendendo sobre redes neurais com o tutorial neuralnetworksanddeeplearning dot.com. Em particular no capítulo 3, há uma seção sobre a função de entropia cruzada e define a perda de entropia cruzada como:
No entanto, lendo a introdução do Tensorflow , a perda de entropia cruzada é definida como:
(ao usar os mesmos símbolos que acima)
Em seguida, procurando ao redor para encontrar o que estava acontecendo, encontrei outro conjunto de notas: ( https://cs231n.github.io/linear-classify/#softmax-classifier ) que usa uma definição completamente diferente da perda de entropia cruzada, embora isso tempo para um classificador softmax e não para uma rede neural.
Alguém pode me explicar o que está acontecendo aqui? Por que existem discrepâncias entre. como as pessoas definem a perda de entropia cruzada? Existe apenas algum princípio abrangente?
Respostas:
Essas três definições são essencialmente as mesmas.
fonte
No terceiro capítulo , a equação (63) é a entropia cruzada aplicada a vários sigmóides (que podem não somar 1) enquanto na introdução de Tensoflow a entropia cruzada é calculada em uma camada de saída de softmax.
Conforme explicado por dontloo, ambas as fórmulas são essencialmente equivalentes para duas classes, mas não é quando mais de duas classes são consideradas. Softmax faz sentido para multiclasses com classes exclusivas ( isto é, quando existe apenas um rótulo por amostra, que permita a codificação quente de rótulos), enquanto (múltiplos) sigmóides podem ser usados para descrever um problema de vários rótulos (ou seja, com amostras possivelmente positivas) para várias classes).
Veja esta outra resposta também.
fonte