Perda logística multinomial vs (entropia cruzada vs erro quadrado)

9

Observei que Caffe (uma estrutura de aprendizado profundo) usava a Softmax Loss Layer SoftmaxWithLoss como camada de saída para a maioria das amostras do modelo .

Até onde eu sei, a camada Softmax Loss é a combinação de Camada Multinomial de Perda Logística e Camada Softmax .

De Caffe, eles disseram que

O cálculo do gradiente da Softmax Loss Layer é mais numericamente estável

No entanto, essa explicação não é a resposta que eu quero, a explicação é apenas comparar a combinação da camada Multinomial Logistic Loss Layer e Softmax Loss em vez de camada por camada. Mas não compare com outro tipo de função de perda.

No entanto, gostaria de saber mais quais são as diferenças / vantagens / desvantagens dessas três funções de erro, que são Perdas Logísticas Multinomiais , Entropia Cruzada (CE) e Erro Quadrado (SE) na perspectiva de aprendizado supervisionado? Algum artigo de suporte?

karfai
fonte
11
Apenas uma dica: acho que você receberá uma resposta mais rápida se adicionar a tag "caffe" às ​​suas perguntas. Também postá-lo no stackoverflow em vez de stackexchange pode dar mais atenção).
mcExchange
11
A combinação facilita o cálculo do gradiente, apenas y-t. willamette.edu/~gorr/classes/cs449/classify.html
Jingpeng Wu

Respostas:

11

Na minha opinião, a função de perda é a função objetiva que queremos que nossas redes neurais otimizem seus pesos de acordo com ela. Portanto, é específico da tarefa e também de alguma forma empírico. Só para esclarecer, a Perda Logística Multinomial e a Perda de Entropia Cruzada são as mesmas (consulte http://ufldl.stanford.edu/wiki/index.php/Softmax_Regression ). A função de custo da Perda Logística Multinomial é assim: J(θ)=1m[i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))].

Geralmente é usado para problemas de classificação. O erro quadrado tem a equação como 12Ni=1Nxi1xi222.

Portanto, geralmente é usado para minimizar o uso de alguns erros de construção.

EDIT: @MartinThoma A fórmula acima de perda logística multinomial é apenas para casos binários, para casos gerais, deve ser , onde K é o número de categorias.J(θ)=[i=1mk=1K1{y(i)=k}logP(y(i)=k|x(i);θ)]

beahacker
fonte
2
No Caffe, MultinomialLogisticLoss é , então quem está errado aqui? 1Nn=1Nlog(pn,ln)
moi
Não está errado, são variáveis ​​binárias, no final, elas podem ser reduzidas em sua formulação. yi
precisa saber é o seguinte
Eu pensei que a perda logística multinomail estivesse sem o segundo pedido, entãoJ(θ)=1m[i=1my(i)loghθ(x(i))]
Martin Thoma
11
@MartinThoma Minha fórmula é apenas para casos binários, para casos gerais, deve serJ(θ)=[i=1mk=1K1{y(i)=k}logP(y(i)=k|x(i);θ)]
beahacker
@beahacker Você poderia me dizer por que o segundo pedido não está incluído no caso multinominal, como apontado por Martin Thoma. Estou tentando entender por que isso é feito assim. Pelo menos você poderia me indicar algum recurso para analisar.
Nandeesh
2

Gostaria de saber mais quais são as diferenças / vantagens / desvantagens dessas três funções de erro, que são Perdas Logísticas Multinomiais, Entropia Cruzada (CE) e Erro Quadrado (SE) na perspectiva de aprendizado supervisionado?

A perda logística multinomial é atuarialmente a mesma que a entropia cruzada. Observe esta função (a função de custo no softmax ): onde m é o número da amostra, K é o número da classe.

J(θ)=i=1mk=1K1{y(i)=k}logp(y(i)=kx(i);θ)

A função do indicador ( ) determina se o abaixo é 0 ou 1 na definição de entropia cruzada , que é rotulada como quente nos dados de treinamento é a probabilidade condicional do softmax (q (x) como mostrado abaixo). 1{y(i)=k}p(x)p(y(i)=kx(i);θ)

xp(x)logq(x)

E MSE é principalmente para a situação em que a função de link é a função de unidade (a distribuição de resposta segue uma distribuição normal), a regressão linear padrão, enquanto a entropia cruzada é normalmente para onde a função de link é a função de logit. Aqui está uma comparação impressionante a que você pode se referir.

Algum artigo de suporte?

Exceto os links, recomendamos este exemplo: https://github.com/rasbt/python-machine-learning-book/blob/master/faq/softmax_regression.md

Lerner Zhang
fonte