Esta noticia fue aprobado por especialistas así se garantiza la exactitud de nuestro post.
Solución:
Entonces, para entender lo que metrics
son, es bueno empezar por entender lo que es un loss
la función es. Las redes neuronales se entrenan principalmente utilizando métodos de gradiente mediante un proceso iterativo de disminución de un loss
función.
A loss
está diseñado para tener dos propiedades cruciales: primero, cuanto menor sea su valor, mejor se ajustará su modelo a sus datos, y segundo, debería ser diferenciable. Entonces, sabiendo esto, podríamos definir completamente lo que es un metric
es: es una función que, dados los valores predichos y los valores reales de los ejemplos, le proporciona una medida escalar de la “adecuación” de su modelo a los datos que tiene. Entonces, como puede ver, un loss
función es una métrica, pero lo contrario no siempre se cumple. Para entender estas diferencias, veamos los ejemplos más comunes de metrics
uso:
-
Mida el rendimiento de su red utilizando funciones no diferenciables: por ejemplo, la precisión no es diferenciable (ni siquiera continua), por lo que no puede optimizar directamente su red. Sin embargo, puede usarlo para elegir el modelo con la mayor precisión.
-
Obtenga valores de diferentes funciones de pérdida cuando su pérdida final sea una combinación de algunas de ellas: Supongamos que su pérdida tiene un término de regularización que mide cómo sus pesos difieren de
0
, y un término que mide la idoneidad de su modelo. En este caso, podrías usarmetrics
para tener un seguimiento separado de cómo cambia la aptitud de su modelo a través de las épocas. -
Realice un seguimiento de una medida con respecto a la cual no desea optimizar directamente su modelo: entonces, supongamos que está resolviendo un problema de regresión multidimensional en el que le preocupa principalmente
mse
pero al mismo tiempo estás interesado en cómo uncosine-distance
de su solución está cambiando en el tiempo. Entonces, es mejor usarmetrics
.
Espero que la explicación presentada anteriormente haya dejado claro para qué se usan las métricas y por qué podría usar varias métricas en un modelo. Así que ahora, digamos algunas palabras sobre la mecánica de su uso en keras
. Hay dos formas de calcularlos durante el entrenamiento:
-
Utilizando
metrics
definido durante la compilación: esto es lo que preguntaste directamente. En este caso,keras
está definiendo un tensor separado para cada métrica que definiste, para que se calcule durante el entrenamiento. Por lo general, esto hace que el cálculo sea más rápido, pero tiene un costo de compilaciones adicionales y el hecho de que las métricas deben definirse en términos dekeras.backend
funciones -
Utilizando
keras.callback
: Es bueno que puedas usarCallbacks
para calcular sus métricas. Como cada devolución de llamada tiene un valor predeterminado attribute demodel
puede calcular una variedad de métricas usandomodel.predict
o modelar parámetros durante el entrenamiento. Además, hace posible calcularlo, no solo por época, sino también por lotes o por entrenamiento. Esto tiene el costo de cálculos más lentos y una lógica más complicada, ya que necesita definir las métricas por su cuenta.
Aquí puede encontrar una lista de métricas disponibles, así como un ejemplo de cómo podría definir las suyas propias.
Como se describe en la página de métricas de Keras:
Una métrica es una función que se utiliza para juzgar el rendimiento de su modelo.
Las métricas se utilizan con frecuencia con devolución de llamada de parada anticipada para finalizar el entrenamiento y evitar el sobreajuste
Referencia: Documentación de Keras Metrics
Como se indica en la página de documentación de keras metrics
a metric
juzga el rendimiento de su modelo. los metrics
argumento en el compile
El método contiene la lista de métricas que el modelo debe evaluar durante sus fases de entrenamiento y prueba. Métricas como:
-
binary_accuracy
-
categorical_accuracy
-
sparse_categorical_accuracy
-
top_k_categorical_accuracy
y -
sparse_top_k_categorical_accuracy
son las funciones métricas disponibles que se suministran en el metrics
parámetro cuando se compila el modelo.
Las funciones métricas también se pueden personalizar. Cuando es necesario evaluar varias métricas, se pasa en forma de dictionary
o un list
.
Un recurso importante que debe consultar para profundizar en las métricas se puede encontrar aquí
Aquí tienes las reseñas y calificaciones
Nos puedes corroborar nuestra faena ejecutando un comentario y dejando una valoración te lo agradecemos.