É bom usar a função de perda de entropia cruzada com rótulos flexíveis?


10

Eu tenho um problema de classificação em que os pixels serão rotulados com rótulos flexíveis (que denotam probabilidades) em vez de rótulos rígidos 0,1. No início, com 0,1 pixel rígido rotulando a função de perda de entropia cruzada (sigmoidCross entropyLossLayer da Caffe) estava obtendo resultados decentes. Tudo bem usar a camada de perda de entropia cruzada sigmóide (da Caffe) para esse problema de classificação suave?


Estou procurando uma função de entropia cruzada que possa lidar com rótulos com valor real. Por favor, deixe-me saber se você souber uma resposta aqui
Amir

Respostas:


27

A resposta é sim, mas você precisa defini-la da maneira certa.

pq

H(p,q)=yp(y)logq(y)

pqx0y0

yI{y=y0}logq(yx0)=logq(y0x0)

I{}

No caso de rótulos 'flexíveis' como você mencionou, os rótulos não são mais identidades de classe em si, mas probabilidades em duas classes possíveis. Por esse motivo, você não pode usar a expressão padrão para a perda de log. Mas, o conceito de entropia cruzada ainda se aplica. De fato, parece ainda mais natural nesse caso.

ys(x)x

p(yx)={s(x)E se y=11-s(x)E se y=0 0

O classificador também fornece uma distribuição por classes, considerando a entrada:

q(yx)={c(x)E se y=11-c(x)E se y=0 0

c(x)x

pq{0 0,1}

H(p,q)=-p(y=0 0x)registroq(y=0 0x)-p(y=1x)registroq(y=1x)=-(1-s(x))registro(1-c(x))-s(x)registroc(x)

Essa é a expressão para um único ponto de dados observado. A função de perda seria a média em todos os pontos de dados. Obviamente, isso também pode ser generalizado para a classificação multiclasse.


3
Continuo voltando à lucidez dessa resposta.
auro
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.