Aprendizado de máquina: devo usar uma perda de entropia cruzada categórica ou de entropia cruzada binária para previsões binárias?

36

Antes de tudo, percebi que, se preciso realizar previsões binárias, tenho que criar pelo menos duas classes executando uma codificação one-hot. Isso está correto? No entanto, a entropia cruzada binária é apenas para previsões com apenas uma classe? Se eu usasse uma perda de entropia cruzada categórica, que normalmente é encontrada na maioria das bibliotecas (como o TensorFlow), haveria uma diferença significativa?

De fato, quais são as diferenças exatas entre uma entropia cruzada categórica e binária? Eu nunca vi uma implementação de entropia cruzada binária no TensorFlow, então pensei que talvez a categórica funcione tão bem.

infomin101
fonte
11
Exemplo de classificação binária: machinelearningmastery.com/... e multi-classe-de classificação: machinelearningmastery.com/...
user1367204
@ user1367204: O link para a classificação multi-classe redireciona para a classificação binária. Deveria ser este .
precisa saber é o seguinte

Respostas:

51

A perda de entropia cruzada binomial é um caso especial de perda de entropia cruzada multinomial para .m=2

eu(θ)=-1 1nEu=1 1n[yEuregistro(pEu)+(1 1-yEu)registro(1 1-pEu)]=-1 1nEu=1 1nj=1 1myEujregistro(pEuj)

Onde indexa amostras / observações e indexa classes, e é o rótulo da amostra (binário para LSH, vetor quente no RHS) e é a previsão para uma amostra.EujypEuj(0 0,1 1):jpEuj=1 1Eu,j

Sycorax diz restabelecer Monica
fonte
3
Significa dizer que, desde que eu use 2 classes em uma perda de entropia cruzada multinomial, estou essencialmente usando uma perda de entropia cruzada binária?
Infomin101
2
@leekwotsin yup
Sycorax diz Reinstate Monica
17

Entropia cruzada binária é para classificações com vários rótulos, enquanto entropia cruzada categórica é para classificação com várias classes, onde cada exemplo pertence a uma única classe.

Henok S Mengistu
fonte
3
Qual é a justificativa para sua declaração? Por que você não usaria entropia cruzada categórica para classificação de vários rótulos?
Michal
e se houver vários rótulos, cada um contendo várias classes?
Slizb
11
Era exatamente isso que eu queria ouvir, mas não o que meu chefe queria ouvir. Um pouco de explicação teria sido tão incrível.
Aditya
2

Eu acho que existem três tipos de tarefas de classificação:

  1. Classificação binária: duas classes exclusivas
  2. Classificação multi-classe: mais de duas classes exclusivas
  3. Classificação de vários rótulos: apenas classes não exclusivas

Destes, podemos dizer

  • No caso de (1), você precisa usar entropia cruzada binária.
  • No caso de (2), você precisa usar entropia cruzada categórica.
  • No caso de (3), você precisa usar entropia cruzada binária. Você pode apenas considerar o classificador com vários rótulos como um classificador binário separado. Se você possui 10 classes aqui, possui 10 classificadores binários separadamente. Cada classificador binário é treinado de forma independente. Assim, podemos produzir rótulos múltiplos para cada amostra. Se você deseja garantir que pelo menos um rótulo seja adquirido, é possível selecionar aquele com a menor perda de classificação ou usando outras métricas.

Quero enfatizar que a classificação multi-classe não é semelhante à classificação multi-rótulo ! Em vez disso, o classificador de vários rótulos empresta uma idéia do classificador binário!

jeongmin.cha
fonte