Durante o treinamento de um classificador binário de rede neural simples, recebo um alto valor de perda usando entropia cruzada. Apesar disso, o valor da precisão no conjunto de validação é bastante bom. Isso tem algum significado? Não existe uma correlação estrita entre perda e precisão?
Tenho no treinamento e validação desses valores: 0,4011 - acc: 0,8224 - val_loss: 0,4577 - val_acc: 0,7826 . Esta é minha primeira tentativa de implementar um NN, e acabei de abordar o aprendizado de máquina, portanto, não sou capaz de avaliar adequadamente esses resultados.
neural-networks
accuracy
user146655
fonte
fonte
Respostas:
Eu tive um problema semelhante.
Treinei meu classificador binário de rede neural com uma perda de entropia cruzada. Aqui o resultado da entropia cruzada em função da época. Vermelho é para o conjunto de treinamento e azul é para o conjunto de testes.
Ao mostrar a precisão, tive a surpresa de obter uma precisão melhor para a época 1000 em comparação com a época 50, mesmo para o conjunto de testes!
Para entender as relações entre entropia cruzada e precisão, desenvolvi um modelo mais simples, a regressão logística (com uma entrada e uma saída). A seguir, apenas ilustro esse relacionamento em 3 casos especiais.
Em geral, o parâmetro em que a entropia cruzada é mínima não é o parâmetro em que a precisão é máxima. No entanto, podemos esperar alguma relação entre entropia cruzada e precisão.
[A seguir, suponho que você saiba o que é entropia cruzada, por que a usamos em vez da precisão para treinar o modelo etc. Se não, leia primeiro: Como interpretar uma pontuação de entropia cruzada? ]
Ilustração 1 Este é para mostrar que o parâmetro onde a entropia cruzada é mínima não é o parâmetro onde a precisão é máxima e para entender o porquê.
Aqui estão os meus dados de amostra. Eu tenho 5 pontos e, por exemplo, a entrada -1 levou à saída 0.
Entropia cruzada. Depois de minimizar a entropia cruzada, obtenho uma precisão de 0,6. O corte entre 0 e 1 é feito em x = 0,52. Para os 5 valores, obtenho, respectivamente, uma entropia cruzada de: 0,14, 0,30, 1,07, 0,97, 0,43.
Precisão. Depois de maximizar a precisão em uma grade, obtenho muitos parâmetros diferentes que levam a 0,8. Isso pode ser mostrado diretamente, selecionando o corte x = -0,1. Bem, você também pode selecionar x = 0,95 para cortar os conjuntos.
No primeiro caso, a entropia cruzada é grande. De fato, o quarto ponto está longe do corte, assim como uma grande entropia cruzada. Nomeadamente, obtenho, respectivamente, uma entropia cruzada de: 0,01, 0,31, 0,47, 5,01, 0,004.
No segundo caso, a entropia cruzada também é grande. Nesse caso, o terceiro ponto está muito longe do corte, assim como uma grande entropia cruzada. Eu obtenho, respectivamente, uma entropia cruzada de: 5e-5, 2e-3, 4,81, 0,6, 0,6.
Eu acho que se o modelo tiver capacidade suficiente (suficiente para conter o modelo verdadeiro) e se os dados forem grandes (ou seja, o tamanho da amostra for infinito), a entropia cruzada poderá ser mínima quando a precisão for máxima, pelo menos para o modelo logístico . Não tenho provas disso; se alguém tiver uma referência, compartilhe.
Bibliografia: O assunto que liga entropia cruzada e precisão é interessante e complexo, mas não consigo encontrar artigos sobre isso ... Estudar a precisão é interessante porque, apesar de ser uma regra de pontuação inadequada, todos podem entender seu significado.
Nota: Primeiro, eu gostaria de encontrar uma resposta neste site, as postagens que tratam da relação entre precisão e entropia cruzada são numerosas, mas com poucas respostas, consulte: Traing comparável e entropia cruzada de teste resultam em precisões muito diferentes ; Perda de validação caindo, mas piora na precisão da validação ; Dúvida sobre a função de perda de entropia cruzada categórica ; Interpretando a perda de log como porcentagem ...
fonte
ahstat dá muito boas ilustrações.
Inspirado por estas ilustrações, concluo por 2 razões possíveis. 1. O modelo é muito simples para extrair os recursos necessários para previsão. Na sua ilustração 1, é um problema múltiplo e precisa de mais uma camada para obter 100% de precisão. 2. Os dados possuem muitas etiquetas com ruído (compare as Figuras 1 e 3)
Quanto à ilustração 2, explica por que não podemos adicionar muita regularização L1 / L2 ao modelo.
fonte