Creación de Redes Neuronales para Clasificación Binaria

Clase 6 de 17Curso de Deep Learning con TensorFlow y Keras

Resumen

¿Qué son las redes neuronales?

Desde la década de 1940, las redes neuronales han revolucionado la manera en cómo las máquinas procesan información. Inspiradas en el funcionamiento del cerebro humano, estas redes simulan las conexiones neuronales, posibilitando una rápida y eficiente generación de resultados. Aunque a las neuronas humanas les hace falta un café ocasional para funcionar, las redes neuronales son incansables en su labor. Vamos a entrenar nuestra propia red neuronal para entender mejor su funcionamiento.

¿Cómo se prepara la fase de entrenamiento?

¿Cómo se dividen los datos?

Para empezar, debemos dividir nuestros datos en conjuntos de entrenamiento y prueba. La columna objetivo, conocida como "churn", se separa del resto de los datos:

  • Train: 80% de los datos, utilizados para entrenar el modelo.
  • Test: 20% de los datos, para evaluar el rendimiento del modelo.

Esta partición es común, aunque en algunas ocasiones también se utiliza una configuración del 70% para entrenar, 20% para pruebas y un 10% para validación. En nuestro caso, con 5,634 filas para entrenamiento y 1,409 para pruebas, tenemos una base sólida para comenzar.

¿Cómo se construye una red neuronal?

El siguiente paso es crear nuestra red neuronal utilizando el modelo Sequential, que permite agregar capas de forma secuencial. En nuestro modelo tenemos:

  • Input: 18 características del dataset como entrada.
  • Output: Una unidad para predecir la probabilidad de "churn" (deserción), un valor entre 0 y 1.

Las capas entre el input y output son las ocultas, fundamentales para procesar la información y mejorar la precisión de las predicciones.

¿Qué son las capas densas y sus funciones de activación?

Una capa densa, o fully connected, conecta cada neurona de una capa con todas las de la siguiente. Estas capas son cruciales para procesar y refinar datos. Las funciones de activación juegan un papel vital en este procesamiento:

  • ReLU (Rectified Linear Unit): Se activa con valores positivos, es rápida y ayuda a modelar patrones complejos. Es comúnmente utilizada en capas ocultas.
  • Sigmoide: Ideal para clasificaciones binarias, convierte las salidas de las neuronas a un rango de 0 a 1.
  • Softmax: Utilizada en problemas de clasificación multiclase, útil como capa final en redes neuronales.

Para nuestra red, definimos una capa oculta con 16 neuronas y función ReLU, siendo una elección cercana pero más simplificada al número de características de entrada, 18.

¿Cómo visualizamos la arquitectura de la red?

Una vez configurada la red, es posible visualizar su arquitectura mediante un diagrama que muestra:

  • Capa de entrada: Con 18 características.
  • Capa oculta: Con 16 neuronas utilizando ReLU.
  • Capa de salida: Con una neurona para clasificación binaria utilizando sigmoide.

Esta representación gráfica facilita la comprensión del flujo de datos en la red y su complejidad.

¿Cuál es la complejidad de los modelos actuales?

La complejidad de un modelo se mide en función de la cantidad de características y capas de la red. En nuestro caso, contamos con 18 características de entrada. Comparativamente, modelos avanzados como GPT-4 de OpenAI cuentan con 1.7 billones de características, evidenciando el colosal tamaño y la capacidad de procesamiento de tales redes.

Aquí radica la importancia de entender y optimizar estos parámetros: un modelo más grande ofrece mayor precisión, pero también requiere recursos computacionales significativos. Al seguir explorando y experimentando, podemos definir de manera eficiente y óptima el número de neuronas y capas necesarias para nuestros objetivos específicos.