¿Podemos tener un error cuadrado medio de datos de entrenamiento para una red neuronal?

Por supuesto que puede.

Recuerde el teorema de aproximación universal [1] para un perceptrón multicapa. En principio, una red neuronal puede reproducir cualquier conjunto de datos dado exactamente, porque un NN es un aproximador universal. Teniendo en cuenta que su red neuronal está entrenada mediante propagación hacia atrás, hay algunas formas de obtener un error cuadrático medio cero, por ejemplo:

  1. Puede agregar una gran cantidad de neuronas a las capas ocultas de la red, lo que la hace muy compleja;
  2. Podría usar características de polinomios de alto grado como entrada a la red neuronal;
  3. Entrene la red durante mucho tiempo, no use la regularización.

Es probable que estos pasos produzcan lo que llamamos sobreajuste : la red neuronal reproduce perfectamente el conjunto de datos. En general, esto es altamente indeseable, porque no podrá generalizarse muy bien, que es el objetivo principal de las redes neuronales en la mayoría de las aplicaciones.

También encontré un artículo [2] que adopta un enfoque diferente para obtener un error cero en los modelos de avance, al elegir un conjunto de ‘ patrones de entrenamiento ‘ específicos . Lamentablemente, el artículo está detrás de un muro de pago.

Notas al pie

[1] Teorema de aproximación universal – Wikipedia

[2] Aprendizaje con cero errores en las redes neuronales Feedforward

TL; respuesta DR: en teoría, sí; en la práctica, sin embargo, la dimensión del conjunto de datos de entrenamiento abruma el número de pesos en el NN y luego la respuesta es no (suponiendo que la variabilidad del conjunto de datos está bien).

Entrenar a un NN es definir los valores de sus pesos (los parámetros libres del modelo, en un vector que llamamos w ) para minimizar la suma de las diferencias al cuadrado entre la salida [math] y [/ math] del modelo (NN ) y el conjunto de entrenamiento genera [math] \ bar {y} [/ math].

Esto no es más que una especialización de una regresión no lineal; sucede solo que el modelo no lineal es un NN.

Por lo tanto, en general, resolver un conjunto de ecuaciones donde el número de parámetros libres es igual o mayor que el número de casos de entrenamiento, le brinda una solución exacta y luego puede obtener un error de entrenamiento cero.

Ejemplo : suponga que tiene una entrada [matemática] (x_1, x_2) [/ matemática] de una entrada [matemática] (y) [/ matemática] NN con solo dos nodos de entrada y un nodo de salida con una no linealidad en forma de sigma (o función de activación)

[matemáticas] y = \ sigma (u) = 1 / (1+ \ exp (-u)) [/ matemáticas]

entonces tu modelo es

[matemáticas] y = \ sigma (w_0 + w_1 x_1 + w_2 x_2) = 1 / (1+ \ exp (- (w_0 + w_1 x_1 + w_2 x_2))) [/ matemáticas]

Con tres parámetros libres ([math] w_0 [/ math] es el sesgo) eventualmente puede tener un error de entrenamiento cero si solo hay tres casos de entrenamiento.

Por ejemplo, para los tres conjuntos de valores [matemática] (x_1, x_2; y) [/ matemática]

(-1, 2; 0.9975) (2, 1; 0.9991) (3, -5; 0.0180)

una solución perfecta (es decir, el mínimo encontrado es 0) para

[matemáticas] \ min_ {w} E (w) = \ sum_ {k = 1} ^ 3 (\ bar {y} _k-y_k) ^ 2 [/ matemáticas]

(donde [math] \ bar {y} _k [/ math] es el valor medido en el conjunto de datos de entrenamiento, w es el vector con pesos NN y [math] k [/ math] es el índice de caso del conjunto de datos) una solución es

w = [3, 1, 2] ‘

como puedes comprobar

( Nota : los valores en el conjunto de entrenamiento están muy redondeados a cuatro decimales, y la activación es muy no lineal y compresiva; el rango [matemático] \ sigma (u) [/ matemático] es solo el intervalo [matemático] [0, 1] [/ matemáticas].)

Pero en casos prácticos, la dimensión del conjunto de datos de entrenamiento es muy grande (es por eso que usamos el NN como regresor …) y, por lo tanto, no es posible una solución perfecta (regresión exacta de los datos con el NN). Y así, en casos prácticos, la respuesta es no.

Seguro. Tuve una serie de problemas de prueba con soluciones exactas que solía probar para poder alcanzar exactamente esta condición para verificar mis simulaciones. Un conjunto de datos XOR es un buen ejemplo, si es simple.

Debe poder construir este tipo de casos para verificar el comportamiento numérico de su sistema, o pasará meses persiguiendo fantasmas.

More Interesting

¿La red neuronal convolucional es básicamente un procesamiento previo de datos a través del núcleo más las redes neuronales? ¿Acaso Deep Learning no es solo redes neuronales con preprocesamiento para las selecciones de funciones automatizadas?

¿Qué hará Keras con TensorFlow-Slim?

¿Por qué algunos profesores dicen que nunca entendieron realmente las matemáticas o las estadísticas hasta que primero enseñaron un curso sobre ese tema?

¿El análisis de sentimientos basado en léxico se considera un método no supervisado?

¿Existen trabajos de Ciencia de datos y Aprendizaje automático para estudiantes de primer año en India?

En una red neuronal recurrente, ¿por qué proporcionamos una secuencia de observaciones como entrada (longitud fija) en lugar de alimentar una observación tras otra con respecto al tiempo?

Cómo crear mi propia biblioteca de tokenizadores en PNL

¿Cuándo debo usar la similitud de coseno? ¿Se puede usar para agrupar?

¿Cómo debo entender el marco experto en aprendizaje en línea?

¿Cuál es un ejemplo de aplicación en el mundo real de los modelos de mezcla gaussiana?

¿Por qué el algoritmo AdaBoost es sensible a datos ruidosos y valores atípicos? ¿Y cómo?

¿Qué significa ser modelo pre-entrenado en CNN? ¿Ya están entrenados en esas clases particulares?

¿Son los chatbots el comienzo de la verdadera IA?

¿Cuáles son algunos ejemplos de aprendizaje automático en operaciones de computación en la nube?

Redes neuronales artificiales: ¿Qué determina si un problema de clasificación no trivial para el aprendizaje profundo se puede dividir en capas convolucionales en lugar de capas completamente conectadas?