Función de pérdida (Pérdida)

Si definimos un modelo de aprendizaje automático, como una red neuronal de tres capas, entonces debemos hacer que este modelo se ajuste lo más posible a los datos de entrenamiento proporcionados. Pero, ¿cómo evaluamos si el modelo se ajusta suficientemente bien a los datos? Luego es necesario utilizar los indicadores correspondientes para evaluar su grado de ajuste. La función utilizada se llama función de pérdida. Cuando el valor de la función de pérdida disminuye, pensamos que el modelo ha dado un paso más en el camino hacia el ajuste. El mejor ajuste del modelo final al conjunto de datos de entrenamiento es cuando el valor de la función de pérdida es el más pequeño, que es cuando el valor promedio de la función de pérdida es el más pequeño en el conjunto de datos especificado.

Función de pérdida de entropía cruzada (Cross Entropy)

En física, "entropía" se utiliza para describir el grado de desorden que presenta un sistema termodinámico. Shannon introdujo este concepto en el campo de la teoría de la información y propuso el concepto de "entropía de la información" para medir la incertidumbre de la información mediante una función logarítmica.

La entropía cruzada es un concepto importante en la teoría de la información, que se utiliza principalmente para medir la diferencia entre dos distribuciones de probabilidad. asumir páginasp yqqq son datosxxDos distribuciones de probabilidad de x , por qqq para representarppLa entropía cruzada de p se puede calcular de la siguiente manera: H ( p , q ) = − ∑ xp ( x ) log ⁡ q ( x ) ) H(p,q)=-\displaystyle \sum_x p(x)\log q (x) )H ( pag ,q )=Xpag ( x )iniciar sesiónq ( x )) la entropía cruzada caracteriza la distancia entre dos distribuciones de probabilidad, con el objetivo de representar la distribución de probabilidadqqq para expresar la distribución de probabilidadppEl grado de dificultad de p . No es difícil de entender según la fórmula: cuanto menor sea la entropía cruzada, las dos distribuciones de probabilidadppp yqqq esta mas cerca.

Aquí todavía tomamos como ejemplo el problema de clasificación de tres categorías, suponiendo que los datos xxx pertenece a la categoría 1. Recordar datosxxLa probabilidad de distribución de clases de x esyyy,显然y = ( 1 , 0 , 0 ) y=(1,0,0)y=( 1 ,0 ,0 ) representa datosxxLa probabilidad de distribución de clases real de x . Recuerday ^ \hat{y}y^Representa la probabilidad de distribución de clases predicha por el modelo.

Entonces para datos xxPara x , su probabilidad de distribución de clases realyyy y el modelo predijo la probabilidad de distribución de clasesy ^ \hat yy^La función de pérdida de entropía cruzada se define como:
entropía cruzada = − y × log ⁡ ( y ^ ) cross\ entropy=-y\times \log \left( \hat{y} \right)entropía cruzada _ _ _ _ _ =y×iniciar sesión(y^)

Obviamente, una buena red neuronal debe intentar garantizar que para cada dato de entrada, la brecha entre la probabilidad de distribución de categorías predicha por la red neuronal y la probabilidad de distribución de categorías real sea lo más pequeña posible, es decir, cuanto menor sea la entropía cruzada, mayor mejor. Por lo tanto, la entropía cruzada se puede utilizar como función de pérdida para entrenar redes neuronales.

Insertar descripción de la imagen aquí
La figura anterior ofrece un ejemplo de clasificación de tres categorías. Desde los datos de entrada xxx pertenece a la categoría 1, por lo que su valor de distribución de probabilidad de categoría real esy = ( y 1 , y 2 , y 3 ) = ( 1 , 0 , 0 ) y=(y_1,y_2,y_3)=(1,0,0 )y=( y1,y2,y3)=( 1 ,0 ,0 ) . Después de la transformación por la red neuronal, se obtienenxxx relativo al valor mediano previsto de las tres categorías( z 1 , z 2 , z 3 ) (z_1,z_2,z_3)( z1,z2,z3) . Luego, a través del mapeo de funciones Softmax, se obtienenxxProbabilidad de distribución de clases de x y ^ = ( y ^ 1 , y ^ 2 , y ^ 3 ) \hat y=(\hat y_1,\hat y_2,\hat y_3)y^=(y^1,y^2,y^3) . Según la introducción anterior,y ^ 1 , y ^ 2 , y ^ 3 \hat y_1,\hat y_2,\hat y_3y^1,y^2,y^3es un valor de probabilidad entre el rango (0,1). Debido a la muestra xxx pertenece a la primera categoría, por lo que esperamos que la red neuronal predigay ^ 1 \hat y_1y^1El valor debe ser mucho mayor que y ^ 2 \hat y_2y^2 y ^ 3 \hat y_3 y^3valor. Para obtener dicha red neuronal, se puede utilizar la siguiente función de pérdida de entropía cruzada para optimizar los parámetros del modelo durante el entrenamiento: entropía cruzada = − ( y 1 × log ⁡ ( y ^ 1 ) + y 2 × log ⁡ ( y ^ 2 ) + y 3 × log ⁡ ( y ^ 3 ) ) cruz\ entropía=-\left( y_1\times \log \left( \hat{y}_1 \right) +y_2\times \log \left( \ sombrero{y }_2 \right) +y_3\times \log \left( \hat{y}_3 \right) \right)entropía cruzada _ _ _ _ _ =( y1×iniciar sesión(y^1)+y2×iniciar sesión(y^2)+y3×iniciar sesión(y^3) ) En la fórmula anterior,y 2 y_2y2 y 3 y_3 y3son todos 0, y 1 y_1y1es 1, por lo que la función de pérdida de entropía cruzada se simplifica a: − y 1 × log ⁡ ( y ^ 1 ) = − log ⁡ ( y ^ 1 ) -y_1\times \log \left( \hat{y}_1 \ derecha) = -\log \left( \hat{y}_1 \right)y1×iniciar sesión(y^1)=iniciar sesión(y^1) En el entrenamiento de redes neuronales, el error (es decir, la pérdida) entre la distribución de probabilidad de categoría real de los datos de entrada y la distribución de probabilidad de categoría predicha por el modelo se transfiere desde el extremo de salida al extremo de entrada para optimizar los parámetros del modelo. La siguiente es una breve introducción al error calculado en función de la entropía cruzada dey ^ 1 \hat y_1y^1pasado a z 1 z_1z1suma z 2 z_2z2z 3 z_3z3La derivación de y z 2 z_2z2相同)的情况。∂ y ^ 1 ∂ z 1 = ∂ ( ez 1 ∑ kezk ) ∂ z 1 = ( ez 1 ) ′ × ∑ kezk − ez 1 × ez 1 ( ∑ kezk ) 2 = ez 1 ∑ kezk − ez 1 ∑ kezk × ez 1 ∑ kezk = y ^ 1 ( 1 − y ^ 1 ) \frac{\partial \hat{y}_1}{\partial z_1}=\frac{\partial \left( \frac{e^ {z_1}}{\sum_k{e^{z_k}}} \right)}{\partial z_1}=\frac{\left( e^{z_1} \right) ^{'}\times \sum_k{e^ {z_k}-e^{z_1}\times e^{z_1}}}{\left( \sum_k{e^{z_k}} \right) ^2}=\frac{e^{z_1}}{\sum_k {e^{z_k}}}-\frac{e^{z_1}}{\sum_k{e^{z_k}}}\times \frac{e^{z_1}}{\sum_k{e^{z_k}} }=\sombrero{y}_1\izquierda( 1-\sombrero{y}_1 \derecha)z1y^1=z1(kmizkmiz1)=( kmizk)2( miz1)×kmizkmiz1×miz1=kmizkmiz1kmizkmiz1×kmizkmiz1=y^1( 1y^1) debido a la función de pérdida de entropía cruzada− log ⁡ ( y ^ 1 ) -\log \left( \hat{y}_1 \right)iniciar sesión(y^1) y ^ 1 \hat y_1 y^1El resultado de la derivación es − 1 y ^ 1 -\frac{1}{\hat{y}_1}y^11y ^ 1 ( 1 − y ^ 1 ) \hat{y}_1\left( 1-\hat{y}_1 \right)y^1( 1y^1) − 1 y ^ 1 -\frac{1}{\hat{y}_1} y^11El resultado de la multiplicación es y ^ 1 − 1 \hat{y}_1-1y^11Esto muestra que una vez que se obtiene la salida de predicción del modeloy ^ 1 \hat y_1y^1, restar 1 de esta salida es la función de pérdida cruzada relativa a z 1 z_1z1的偏导结果。∂ y ^ 1 ∂ z 2 = ∂ ( ez 1 ∑ kezk ) ∂ z 2 = 0 × ∑ kezk − ez 1 × ez 2 ( ∑ kezk ) 2 = − ez 1 ∑ kezk × ez 2 ∑ kezk = − y ^ 1 y ^ 2 \frac{\partial \hat{y}_1}{\partial z_2}=\frac{\partial \left( \frac{e^{z_1}}{\sum_k{e^{ z_k}}} \right)}{\partial z_2}=\frac{0\times \sum_k{e^{z_k}-e^{z_1}\times e^{z_2}}}{\left( \sum_k{ e^{z_k}} \right) ^2}=-\frac{e^{z_1}}{\sum_k{e^{z_k}}}\times \frac{e^{z_2}}{\sum_k{e ^{z_k}}}=-\sombrero{y}_1\sombrero{y}_2z2y^1=z2(kmizkmiz1)=( kmizk)20×kmizkmiz1×miz2=kmizkmiz1×kmizkmiz2=y^1y^2De la misma manera, la derivada de la función de pérdida de entropía cruzada es − 1 y ^ 1 -\frac{1}{\hat{y}_1}y^11 − y ^ 1 y ^ 2 -\hat{y}_1\hat{y}_2 y^1y^2 − 1 y ^ 1 -\frac{1}{\hat{y}_1} y^11El resultado de la multiplicación es y ^ 2 \hat y_2y^2. Esto significa que para nodos distintos del primer nodo de salida se realizan derivadas parciales. Después de obtener la salida de predicción del modelo, siempre que se guarde, es el resultado de la derivada parcial de la función de pérdida cruzada en relación con otros nodos. en z 1 z_1z1z 2 z_2z2suma z 3 z_3z3Después de obtener el resultado de la derivada parcial, el error de pérdida se puede transferir al extremo de entrada mediante la regla de la cadena (que se describe más adelante).

En el ejemplo anterior, supongamos que los valores intermedios predichos ( z 1 , z 2 , z 3 ) (z_1,z_2,z_3)( z1,z2,z3) después del mapeo Softmax, el resultado es(0.34, 0.46, 0.20) (0.34,0.46,0.20)( 0,34 ,0,46 ,0,20 ) . Dado que los datos de entradaxxx pertenece a la primera categoría. Obviamente, este resultado no es ideal y es necesario optimizar los parámetros del modelo. Si se elige la función de pérdida de entropía cruzada para optimizar el modelo, entonces( z 1 , z 2 , z 3 ) (z_1,z_2,z_3)( z1,z2,z3) El valor de la derivada parcial de esta capa es(0,34 − 1, 0,46, 0,20) = (−0,66, 0,46, 0,20) (0,34−1,0,46,0,20)=(−0,66,0,46,0,20)( 0,341 ,0,46 ,0,20 )=( -0,66 , _0,46 ,0,20 )

Se puede ver que la combinación de Softmax y las funciones de pérdida de entropía cruzada brinda una gran conveniencia para los cálculos de derivadas parciales. El cálculo de la derivada parcial hace que el error de pérdida se transfiera desde el extremo de salida al extremo de entrada para optimizar los parámetros del modelo. Aquí, la entropía cruzada se combina con la función Softmax, por lo que también se denomina pérdida Softmax (Softmax con pérdida de entropía cruzada).

Error cuadrático medio (MSE)

La pérdida por error cuadrático medio también se denomina pérdida cuadrática y pérdida L2, y se utiliza a menudo en tareas de predicción de regresión. La función de error cuadrático medio mide la calidad de un modelo calculando el cuadrado de la distancia (es decir, el error) entre el valor predicho y el valor real. Es decir, cuanto más cerca esté el valor predicho del valor real, menor será el error cuadrático medio entre los dos.

Supongamos que hay nn datos de entrenamientoxi x_iXyo, cada dato de entrenamiento xi x_iXyoLa salida real de es yi y_iyyo,Modelo 对xi x_iXyoEl valor predicho es y ^ i \hat y_iy^yo. El modelo está en nn.La pérdida de error cuadrático medio generada bajo n datos de entrenamiento se puede definir de la siguiente manera: MSE = 1 n ∑ i = 1 n ( yi − y ^ i ) 2 MSE=\frac{1}{n}\sum_{i=1} ^n{\left( y_i-\hat{y}_i \right) ^2}MSE=norte1yo = 1norte( yyoy^yo)2 Suponga que el valor objetivo real es 100 y el valor previsto está entre -10000 y 10000. Dibuje la curva de la función MSE como se muestra en la siguiente figura. Se puede ver que cuando el valor previsto se acerca a 100, el valor de pérdida de MSE es menor. La pérdida de MSE varía de 0 a∞ ∞

Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_49346755/article/details/127356376
Recomendado
Clasificación