Luego de consultar especialistas en el tema, programadores de varias áreas y profesores hemos dado con la respuesta al problema y la plasmamos en este post.
Solución:
Cuanto menor sea el pérdida, mejor es un modelo (a menos que el modelo se haya sobreajustado a los datos de entrenamiento). La pérdida se calcula sobre capacitación y validación y su interpretación es qué tan bien le está yendo al modelo a estos dos conjuntos. A diferencia de la precisión, la pérdida no es un porcentaje. Es una suma de los errores cometidos para cada ejemplo en conjuntos de entrenamiento o validación.
En el caso de las redes neuronales, la pérdida suele ser log-verosimilitud negativa y suma residual de cuadrados para clasificación y regresión, respectivamente. Entonces, naturalmente, el objetivo principal en un modelo de aprendizaje es reducir (minimizar) el valor de la función de pérdida con respecto a los parámetros del modelo cambiando los valores del vector de peso a través de diferentes métodos de optimización, como la retropropagación en redes neuronales.
El valor de pérdida implica qué tan bien o mal se comporta un determinado modelo después de cada iteración de optimización. Idealmente, uno esperaría la reducción de la pérdida después de cada iteración o varias iteraciones.
los exactitud de un modelo generalmente se determina después de que los parámetros del modelo se aprenden y fijan y no se lleva a cabo ningún aprendizaje. Luego, las muestras de prueba se alimentan al modelo y se registra el número de errores (pérdida de cero a uno) que comete el modelo, después de la comparación con el modelo. true objetivos Luego se calcula el porcentaje de clasificación errónea.
Por ejemplo, si el número de muestras de prueba es 1000 y el modelo clasifica 952 de ellas correctamente, la precisión del modelo es del 95,2 %.
También hay algunas sutilezas al reducir el valor de la pérdida. Por ejemplo, puede encontrarse con el problema del sobreajuste en el que el modelo “memoriza” los ejemplos de entrenamiento y se vuelve un poco ineficaz para el conjunto de prueba. El sobreajuste también ocurre en los casos en que no emplea una regularización, tiene un modelo muy complejo (el número de parámetros libres W
es grande) o el número de puntos de datos N
Es muy bajo.
Son dos métricas diferentes para evaluar el rendimiento de tu modelo que normalmente se utilizan en distintas fases.
La pérdida se usa a menudo en el proceso de entrenamiento para encontrar los “mejores” valores de parámetros para su modelo (por ejemplo, pesos en la red neuronal). Es lo que intentas optimizar en los entrenamientos actualizando pesos.
La precisión es más desde una perspectiva aplicada. Una vez que encuentre los parámetros optimizados anteriores, use esta métrica para evaluar qué tan precisa es la predicción de su modelo en comparación con la true datos.
Usemos un ejemplo de clasificación de juguetes. Desea predecir el género a partir del peso y la altura de uno. Tienes 3 datos, son los siguientes: (0 representa masculino, 1 representa femenino)
y1 = 0, x1_w = 50 kg, x2_h = 160 cm;
y2 = 0, x2_w = 60 kg, x2_h = 170 cm;
y3 = 1, x3_ancho = 55 kg, x3_alto = 175 cm;
Utiliza un modelo de regresión logística simple que es y = 1/(1+exp-(b1*x_w+b2*x_h))
¿Cómo encuentras b1 y b2? primero define una pérdida y usa el método de optimización para minimizar la pérdida de forma iterativa actualizando b1 y b2.
En nuestro ejemplo, una pérdida típica para este problema de clasificación binaria puede ser: (se debe agregar un signo menos delante del signo de suma)
No sabemos qué deberían ser b1 y b2. Hagamos una conjetura aleatoria, digamos b1 = 0.1 y b2 = -0.03. Entonces, ¿cuál es nuestra pérdida ahora?
entonces la pérdida es
Luego, su algoritmo de aprendizaje (por ejemplo, descenso de gradiente) encontrará una manera de actualizar b1 y b2 para disminuir la pérdida.
¿Qué pasa si b1=0.1 y b2=-0.03 son los b1 y b2 finales (salida del descenso de gradiente), cuál es la precisión ahora?
Supongamos que si y_hat >= 0.5, decidimos que nuestra predicción es femenina (1). de lo contrario, sería 0. Por lo tanto, nuestro algoritmo predice y1 = 1, y2 = 1 y y3 = 1. ¿Cuál es nuestra precisión? Hacemos una predicción incorrecta en y1 e y2 y hacemos una correcta en y3. Entonces ahora nuestra precisión es 1/3 = 33.33%
PD: en la respuesta de Amir, se dice que la propagación hacia atrás es un método de optimización en NN. Creo que se trataría como una forma de encontrar gradientes para pesos en NN. Los métodos de optimización comunes en NN son GradientDescent y Adam.
Solo para aclarar los conjuntos de datos de Entrenamiento/Validación/Prueba: El conjunto de entrenamiento se utiliza para realizar el entrenamiento inicial del modelo, inicializando los pesos de la red neuronal.
El conjunto de validación se usa después de que se haya entrenado la red neuronal. Se utiliza para ajustar los hiperparámetros de la red y comparar cómo los cambios en ellos afectan la precisión predictiva del modelo. Mientras que se puede pensar que el conjunto de entrenamiento se usa para construir los pesos de puerta de la red neuronal, el conjunto de validación permite el ajuste fino de los parámetros o la arquitectura del modelo de red neuronal. Es útil, ya que permite la comparación repetible de estos diferentes parámetros/arquitecturas con los mismos pesos de datos y redes, para observar cómo los cambios de parámetros/arquitectura afectan el poder predictivo de la red.
Luego, el conjunto de prueba se usa solo para probar la precisión predictiva de la red neuronal entrenada en datos no vistos previamente, después del entrenamiento y la selección de parámetros/arquitectura con los conjuntos de datos de entrenamiento y validación.
Aquí puedes ver las reseñas y valoraciones de los lectores
Si sostienes algún disgusto y disposición de reaccionar nuestro post te evocamos realizar una anotación y con placer lo analizaremos.