Cuando se aplica una red neuronal de avance en 10 puntos de datos (20 características), la pérdida no llega a cero. ¿Cómo es esto posible? ¿Cómo lo depuro?

Saludos para la A2A Jessica.

Estos dos escenarios son los más comunes en mi experiencia:

(1) La tasa de aprendizaje es demasiado alta. Este es el escenario más común. Cuando la tasa de aprendizaje es demasiado alta, SGD podría comenzar a oscilar cerca del mínimo local en la superficie de error. Considere actualizarlo en función de un programa de recocido (por ejemplo, multiplique la tasa de aprendizaje por 0.8 cada época).

(2) Está utilizando funciones de activación lineal y los datos no son linealmente separables. En este caso, es imposible clasificar perfectamente el conjunto de datos. Considere usar una función de activación no lineal como sigmoide.

(3) Este es un error en los cálculos de gradiente. Este es un poco más difícil de depurar. Si el error baja y converge, probablemente esté bien en este frente. Pero si está haciendo algo completamente diferente, entonces ese es probablemente tu problema.

Espero que esto ayude.