Sobes.tech
Middle — Senior

Pode-se usar entropia cruzada para duas classes e por que não é recomendado?

sobes.tech IA

Resposta da IA

A entropia cruzada é uma função de perda amplamente utilizada para tarefas de classificação, incluindo classificação binária (de duas classes). Teoricamente, a entropia cruzada é adequada para duas classes, pois mede a diferença entre a distribuição verdadeira e a prevista.

No entanto, na classificação binária, muitas vezes é usada uma forma especializada de entropia cruzada: a entropia cruzada binária, que é otimizada para duas classes e leva em conta as características das probabilidades e das etiquetas.

Razões pelas quais não é recomendado usar a entropia cruzada multiclasse padrão para duas classes:

  • Requer que as etiquetas sejam representadas como vetores one-hot, o que é redundante para duas classes.
  • Pode levar a cálculos excessivos e tornar o modelo mais complexo.
  • A entropia cruzada binária é mais simples e eficiente, pois trabalha com um único número: a probabilidade de pertencer à classe positiva.

Exemplo de entropia cruzada binária em PyTorch:

import torch
import torch.nn as nn

criterion = nn.BCELoss()  # entropia cruzada binária
outputs = torch.sigmoid(logits)  # saídas do modelo
loss = criterion(outputs, targets)

Portanto, para duas classes, recomenda-se usar a entropia cruzada binária em vez da entropia cruzada geral, para melhorar a eficiência e a correção do treinamento.