Redes neuronales profundas: funciones de pérdida comunes

tarea de clasificación

La más utilizada es la función de pérdida de entropía cruzada.

tarea de varias categorías

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

import tensorflow as tf
y_true=[[0,1,0],[0,0,1]]
y_pre=[[0.05,0.9,0.05],[0.3,0.2,0.5]]
cce=tf.keras.losses.CategoricalCrossentropy()
cce(y_true,y_pre)

<tf.Tensor: forma=(), dtype=float32, numpy=0.39925388>

Tarea de clasificación binaria

inserte la descripción de la imagen aquí

y_true=[[0],[1]]
y_pre=[[0.4],[0.6]]
bce=tf.keras.losses.BinaryCrossentropy()
bce(y_true,y_pre)

<tf.Tensor: forma=(), dtype=float32, numpy=0.5108254>

tarea de retorno

Pérdida MAE (Pérdida L1)

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

y_true=[[0.],[1.]]
y_pre=[[1.],[0.]]
mae=tf.keras.losses.MeanAbsoluteError()
mae(y_true,y_pre)

<tf.Tensor: forma=(), dtype=float32, numpy=1.0>

Pérdida MSE (pérdida L2)

distancia euclidiana
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

y_true=[[0.],[1.]]
y_pre=[[1.],[1.]]
mse=tf.keras.losses.MeanSquaredError()
mse(y_true,y_pre)

<tf.Tensor: forma=(), dtype=float32, numpy=0.5>

pérdida suave de L1

inserte la descripción de la imagen aquí

y_true=[[0.],[1.]]
y_pre=[[0.2],[0.6]]
smooth=tf.keras.losses.Huber()
smooth(y_true,y_pre)

<tf.Tensor: forma=(), dtype=float32, numpy=0.049999997>

Supongo que te gusta

Origin blog.csdn.net/qq_40527560/article/details/131493351
Recomendado
Clasificación