Observé que Caffe (un marco de aprendizaje profundo) utilizó la capa de pérdida Softmax SoftmaxWithLoss
como capa de salida para la mayoría de las muestras de modelos .
Hasta donde sé, la capa de pérdida Softmax es la combinación de la capa de pérdida logística multinomial y la capa Softmax .
Desde Caffe, dijeron que
El cálculo del gradiente Softmax Loss Layer es más estable numéricamente
Sin embargo, esta explicación no es la respuesta que quiero, solo explica la combinación de la capa de pérdida logística multinomial y la capa de pérdida de Softmax en lugar de capa por capa. Pero no se compara con otro tipo de función de pérdida.
Sin embargo, me gustaría saber más cuáles son las diferencias / ventajas / desventajas de esta función de 3 errores, que es la pérdida logística multinomial , la entropía cruzada (CE) y el error cuadrado (SE) en la perspectiva de aprendizaje supervisado. ¿Algún artículo de apoyo?
y-t
. willamette.edu/~gorr/classes/cs449/classify.htmlRespuestas:
En mi opinión, la función de pérdida es la función objetivo que queremos que nuestras redes neuronales optimicen sus pesos de acuerdo con ella. Por lo tanto, es específico de la tarea y también de alguna manera empírica. Para ser claros, la pérdida logística multinomial y la pérdida de entropía cruzada son las mismas (consulte http://ufldl.stanford.edu/wiki/index.php/Softmax_Regression ). La función de costo de la pérdida logística multinomial es asíJ( θ ) = - 1metro[ ∑metroi = 1y( i )Iniciar sesiónhθ( x( i )) + ( 1 - y( i )) registro( 1 - hθ( x( i )) ) ] .
Generalmente se usa para problemas de clasificación. El error cuadrado tiene una ecuación como12 N∑nortei = 1∥ x1yo- x2yo∥22.
Por lo tanto, generalmente se usa para minimizar el uso de algunos errores de construcción.
EDITAR: @MartinThoma La fórmula anterior de pérdida logística multinomial es solo para el caso binario, para el caso general, debe ser , donde K es el número de categorías.J( θ ) = - [ ∑metroi = 1∑Kk = 11 { y( i )= k } logPAG( y( i )= k | X( i ); θ ) ]
fuente
La pérdida logística multinomial es en realidad la misma que la entropía cruzada. Mire esta función (la función de costo en softmax ): donde m es el número de muestra, K es el número de clase.
La función del indicador ( ) determina si el debajo es 0 o 1 en la definición de entropía cruzada , que está etiquetado como uno de los puntos calientes en los datos de entrenamiento, y es la probabilidad condicional del softmax (q (x) como se muestra a continuación). p ( x ) p ( y ( i ) = k ∣ x ( i ) ; θ ) - ∑ x p ( x ) log q ( x )1{y(i)=k} p(x) p(y(i)=k∣x(i);θ)
Y MSE es principalmente para la situación donde la función de enlace es la función de unidad (la distribución de respuesta sigue una distribución normal), la regresión lineal estándar, mientras que la entropía cruzada es normalmente donde la función de enlace es la función logit. Aquí hay una comparación impresionante a la que puede referirse.
Excepto los que están en los enlaces, le recomiendo este ejemplo: https://github.com/rasbt/python-machine-learning-book/blob/master/faq/softmax_regression.md
fuente