Cómo decidir el número de nodos en una capa oculta de una red neuronal

No hay una regla estricta para esto.

El número de nodos ocultos que debe tener se basa en una relación compleja entre

  1. Número de nodos de entrada y salida
  2. Cantidad de datos de entrenamiento disponibles
  3. Complejidad de la función que se intenta aprender.
  4. El algoritmo de entrenamiento

Fuente: (comp.ai.neural-nets FAQ, Parte 3 de 7: Sección de generalización: ¿cuántas unidades ocultas debo usar?)

Para minimizar el error y tener una red capacitada que generalice bien, debe elegir un número óptimo de capas ocultas, así como nodos en cada capa oculta.

  • Muy pocos nodos conducirán a un alto error para su sistema ya que los factores predictivos pueden ser demasiado complejos para que un pequeño número de nodos capture
  • Demasiados nodos se adaptarán demasiado a sus datos de entrenamiento y no se generalizarán bien

Podría encontrar algunos consejos generales en esta página (comp.ai.neural-nets FAQ, Parte 3 de 7: Sección de generalización: ¿cuántas unidades ocultas debo usar?)

  • El número de nodos ocultos en cada capa debe estar en algún lugar entre el tamaño de la capa de entrada y salida, potencialmente la media.
  • El número de nodos ocultos no debería necesitar exceder el doble del número de nodos de entrada, ya que probablemente esté sobreajustando en este momento.

Un artículo detalla cómo un investigador utilizó una reducción de la dimensionalidad en las imágenes de entrenamiento y descubrió que 17 era un número óptimo de nodos ocultos. Si bien puede ser específico para su problema, puede consultarlo aquí para obtener ideas: (Efectos de la cantidad de nodos ocultos utilizados en una red neuronal estructurada en la confiabilidad de la clasificación de imágenes)

Estoy escribiendo esta respuesta con respecto a la regresión.

Inicialmente comience con dos o tres nodos y calcule el valor predicho. Ahora verifique la correlación de estos valores pronosticados con los valores reales. Encontrará algún valor de correlación.

Ahora aumente el nodo en uno y verifique lo mismo. Los valores de correlación seguirán aumentando hasta un cierto número de nodos después de eso comenzará a disminuir.

El punto donde el valor de correlación es máximo será el número óptimo de nodos.

Motivo: el aumento de nodos en capas ocultas conduce a un ajuste excesivo. Por lo tanto, si seguimos aumentando el nodo después de que ocurra un cierto punto de ajuste excesivo y los resultados de los datos de prueba sean deficientes.

Si insiste en un modelo de tres capas (1 capa oculta), comenzaría con 88 (media geométrica de los tamaños de las capas de entrada y salida, solo una regla general rápida).

Pero obtendrá MUCHO mejores resultados si usa
– redes neuronales convolucionales
– o autoencoders

No hay una regla dura y rápida. Solo tiene que seguir intentando con diferentes números de capas para ver cuál funciona mejor.

En las redes neuronales, la arquitectura de modelos es un arte que puedes dominar con algo de experiencia y conocimiento de dominio. Al igual que para problemas simples, una sola capa podría funcionar, pero para problemas más complejos, por ejemplo, problemas no lineales, tendrá que intentar buscar capas más profundas.

No hay un método fijo para decidir el número de nodos en la capa oculta de una red neuronal. Depende totalmente de qué tan grande sea su conjunto de datos y qué tipo de resultados le interesen.

Mi sugerencia es utilizar Rectificado lineal como activación.
Use 400 neuronas en la capa oculta con la regularización de abandono.
Use softmax como salida.

Esto debería darle respuestas razonablemente buenas.

Prueba y error hermano. Aunque, generalmente comienzo con 32, 64, etc. (¡no me pregunten por qué!).