tutorial redes neuronales libreria example español conv2d con python machine-learning neural-network keras data-science

python - redes - tensorflow



¿Qué significa la salida del modelo estándar de Keras? ¿Qué es época y pérdida en Keras? (2)

Solo para responder las preguntas más específicamente, aquí hay una definición de época y pérdida:

Época : un pase completo sobre todos sus datos de entrenamiento .

Por ejemplo, en su vista anterior, tiene 1213 observaciones. Entonces, una época concluye cuando ha terminado un pase de entrenamiento sobre todas las 1213 observaciones.

Pérdida : un valor escalar que intentamos minimizar durante nuestro entrenamiento del modelo. Cuanto menor sea la pérdida, más cercanas estarán nuestras predicciones a las etiquetas verdaderas.

Esto es generalmente el Error Cuadrático Medio (MSE) como dijo David Maust anteriormente, o con frecuencia en Keras, entropía cruzada categórica

Lo que esperaría ver al funcionar en su modelo Keras, es una disminución en la pérdida en un n número de épocas. Su entrenamiento es bastante anormal, ya que su pérdida en realidad está aumentando. Esto podría deberse a una tasa de aprendizaje que es demasiado grande, lo que está causando que supere el límite óptimo.

Como se mencionó en jaycode, querrá ver el rendimiento de su modelo en datos no vistos, ya que este es el caso de uso general de Machine Learning.

Como tal, debe incluir una lista de métricas en su método de compilación, que podría verse así:

model.compile(optimizer=''rmsprop'', loss=''categorical_crossentropy'', metrics=[''accuracy''])

Además de ejecutar su modelo en la validación durante el método de ajuste, como:

model.fit(data, labels, validation_split=0.2)

Hay mucho más que explicar, pero espero que esto te permita comenzar.

Acabo de construir mi primer modelo usando Keras y esta es la salida. Se parece a la salida estándar que obtiene después de construir cualquier red neuronal artificial Keras. Incluso después de mirar en la documentación, no entiendo completamente qué es la época y cuál es la pérdida que se imprime en la salida.

¿Qué es época y pérdida en Keras?

(Sé que es probablemente una pregunta extremadamente básica, pero parece que no puedo encontrar la respuesta en línea, y si la respuesta es realmente tan difícil de extraer de la documentación, pensé que otros tendrían la misma pregunta y decidí publicarla aquí .)

Epoch 1/20 1213/1213 [==============================] - 0s - loss: 0.1760 Epoch 2/20 1213/1213 [==============================] - 0s - loss: 0.1840 Epoch 3/20 1213/1213 [==============================] - 0s - loss: 0.1816 Epoch 4/20 1213/1213 [==============================] - 0s - loss: 0.1915 Epoch 5/20 1213/1213 [==============================] - 0s - loss: 0.1928 Epoch 6/20 1213/1213 [==============================] - 0s - loss: 0.1964 Epoch 7/20 1213/1213 [==============================] - 0s - loss: 0.1948 Epoch 8/20 1213/1213 [==============================] - 0s - loss: 0.1971 Epoch 9/20 1213/1213 [==============================] - 0s - loss: 0.1899 Epoch 10/20 1213/1213 [==============================] - 0s - loss: 0.1957 Epoch 11/20 1213/1213 [==============================] - 0s - loss: 0.1923 Epoch 12/20 1213/1213 [==============================] - 0s - loss: 0.1910 Epoch 13/20 1213/1213 [==============================] - 0s - loss: 0.2104 Epoch 14/20 1213/1213 [==============================] - 0s - loss: 0.1976 Epoch 15/20 1213/1213 [==============================] - 0s - loss: 0.1979 Epoch 16/20 1213/1213 [==============================] - 0s - loss: 0.2036 Epoch 17/20 1213/1213 [==============================] - 0s - loss: 0.2019 Epoch 18/20 1213/1213 [==============================] - 0s - loss: 0.1978 Epoch 19/20 1213/1213 [==============================] - 0s - loss: 0.1954 Epoch 20/20 1213/1213 [==============================] - 0s - loss: 0.1949


Una época finaliza cuando su modelo ha ejecutado los datos a través de todos los nodos de su red y está listo para actualizar los pesos para alcanzar el valor de pérdida óptimo. Es decir, más pequeño es mejor. En su caso, como hay puntajes de pérdida más altos en una época más alta, "parece" que el modelo es mejor en la primera época.

Dije "parece" ya que no podemos decir con certeza todavía ya que el modelo no se ha probado utilizando el método de validación cruzada adecuado, es decir, se evalúa solo en comparación con los datos de capacitación.

Formas de mejorar su modelo:

  • Use la validación cruzada en su modelo Keras para averiguar cómo funciona realmente el modelo, ¿se generaliza bien cuando se predicen nuevos datos que nunca antes se habían visto?
  • Ajuste su tasa de aprendizaje, la estructura del modelo de red neuronal, el número de unidades / capas ocultas, los parámetros init, optimizador y activador utilizados en su modelo entre otras muchas cosas.

La combinación de GridSearchCV de sklearn con Keras puede automatizar este proceso.