Actualmente estoy entrenando una red neuronal y no puedo decidir qué usar para implementar mis criterios de detención temprana: pérdida de validación o una métrica como precisión / f1score / auc / lo que se calcule en el conjunto de validación.
En mi investigación, encontré artículos que defienden ambos puntos de vista. Keras parece tener la pérdida de validación predeterminada, pero también he encontrado respuestas convincentes para el enfoque opuesto (por ejemplo, aquí ).
¿Alguien tiene instrucciones sobre cuándo usar preferiblemente la pérdida de validación y cuándo usar una métrica específica?
cross_entropy
pérdida es un candidato más preferible queMSE
oMAE
. Consulte la sección de Resumen de este artículo y esta publicación sobre estadísticas .En mi opinión, esto es subjetivo y específico del problema. Debe usar lo que sea el factor más importante en su mente como métrica de manejo, ya que esto podría tomar sus decisiones sobre cómo alterar el modelo mejor enfocado.
Por ejemplo, si informará una puntuación F1 en su informe / a su jefe, etc. (y suponiendo que eso es lo que realmente les importa), entonces usar esa métrica podría tener más sentido. La puntuación F1, por ejemplo, tiene en cuenta la precisión y la recuperación , es decir, describe la relación entre dos métricas más detalladas .
Al unir esas cosas, calcular puntuaciones distintas de la pérdida normal puede ser bueno para la descripción general y para ver cómo se optimiza su métrica final en el transcurso de las iteraciones de entrenamiento. Esa relación quizás podría darle una visión más profunda del problema,
Sin embargo, generalmente es mejor probar varias opciones, ya que la optimización para la pérdida de validación puede permitir que el entrenamiento se ejecute por más tiempo, lo que eventualmente también puede producir una puntuación F1 superior . La precisión y el recuerdo podrían influir en algunos mínimos locales, produciendo una puntuación F1 casi estática, por lo que dejaría de entrenar. Si hubiera estado optimizando para pérdida pura, podría haber registrado suficiente fluctuación en la pérdida para permitirle entrenar por más tiempo.
fuente
Si está entrenando una red profunda, le recomiendo que no use la parada temprana. En el aprendizaje profundo, no es muy habitual. En cambio, puede emplear otras técnicas como abandonar para generalizar bien. Si insiste en eso, el criterio de elección depende de su tarea. Si tiene datos desequilibrados, debe emplear la
F1
puntuación y evaluarla en sus datos de validación cruzada. Si tiene datos equilibrados, intente utilizar la precisión en sus datos de validación cruzada. Otras técnicas dependen en gran medida de su tarea.Le recomiendo que encuentre un modelo que se adapte muy bien a sus datos y que lo abandone después de eso. Esto es lo más habitual que usan las personas para los modelos profundos.
fuente