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?
y-t
. willamette.edu/~gorr/classes/cs449/classify.htmlRespostas:
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[∑mi=1y(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))].
Geralmente é usado para problemas de classificação. O erro quadrado tem a equação como12N∑Ni=1∥x1i−x2i∥22.
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(θ)=−[∑mi=1∑Kk=11{y(i)=k}logP(y(i)=k|x(i);θ)]
fonte
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.
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)=k∣x(i);θ)
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.
Exceto os links, recomendamos este exemplo: https://github.com/rasbt/python-machine-learning-book/blob/master/faq/softmax_regression.md
fonte