Entrenando Redes Neuronales con Excel: Construyendo y Validando un Perceptrón Multicapa en Python
En este artículo, mostraremos cómo generar datos de entrenamiento en Excel, entrenar un perceptrón multicapa en Python y validar su rendimiento.
Si busca desarrollar una red neuronal en Python, está en el lugar correcto. Antes de sumergirse en la preparación de datos basada en Excel, considere revisar el resto de la serie abajo para contexto fundamental:
- Cómo Realizar Clasificación Usando una Red Neuronal: ¿Qué es el Perceptrón?
- Cómo Usar un Ejemplo Simple de Red Neuronal Perceptrón para Clasificar Datos
- Cómo Entrenar un Perceptrón Neuronal Básico
- Entendiendo el Entrenamiento Simple de Redes Neuronales
- Introducción a la Teoría de Entrenamiento para Redes Neuronales
- Entendiendo la Tasa de Aprendizaje en Redes Neuronales
- Aprendizaje Automático Avanzado con el Perceptrón Multicapa
- La Función de Activación Sigmoide: Activación en Redes Neuronales Perceptrón Multicapa
- Cómo Entrenar un Perceptrón Multicapa Neuronal
- Entendiendo Fórmulas de Entrenamiento y Retropropagación para Perceptrones Multicapa
- Arquitectura de Red Neuronal para una Implementación en Python
- Cómo Crear una Red Neuronal Perceptrón Multicapa en Python
- Procesamiento de Señales Usando Redes Neuronales: Validación en Diseño de Redes Neuronales
- Conjuntos de Datos de Entrenamiento para Redes Neuronales: Cómo Entrenar y Validar una Red Neuronal Python
¿Qué Son los Datos de Entrenamiento?
En aplicaciones reales, las muestras de entrenamiento consisten en entradas medidas emparejadas con objetivos conocidos que permiten a una red neuronal aprender un mapeo entrada-salida consistente. Por ejemplo, suponga que quiere una red que prediga la calidad de comer de un tomate basado en color, forma y densidad. Al recolectar miles de tomates, registrar sus atributos físicos, probar cada uno y compilar los resultados en una tabla, crea el dataset que la red usará para aprender la relación entre atributos y calidad.
Cada fila representa una muestra de entrenamiento con tres columnas de entrada (color, forma, densidad) y una sola columna de salida objetivo.

Durante el entrenamiento, la red neuronal identificará el patrón subyacente —si existe— entre los tres valores de entrada y el valor de salida.
Cuantificando Datos de Entrenamiento
Todas las entradas y salidas deben ser numéricas. Cadenas como "forma ciruela" o "apetitoso" no pueden alimentarse directamente a la red. La cuantización convierte descriptores cualitativos en escalas numéricas. Por ejemplo, la forma podría codificarse de –1 (esfera perfecta) a +1 (extremadamente alargada). La calidad de comer podría calificarse en escala de cinco puntos y luego codificarse one-hot en un vector de salida de cinco elementos.
El siguiente diagrama ilustra codificación one-hot para una tarea de clasificación de cinco clases.

La codificación one-hot se alinea bien con activación logística-sigmoide, que produce valores cercanos a 0 o 1 fuera de una estrecha zona de transición. Usar un solo nodo de salida con valores objetivo 0-4 sesgaría la red hacia los extremos y llevaría a predicciones sin sentido.

Creando un Conjunto de Datos de Entrenamiento
La red neuronal Python referenciada en la Parte 12 importa muestras desde un archivo Excel. Los datos usados aquí se arreglan de la siguiente manera:

Como nuestra implementación de Perceptrón soporta solo un nodo de salida, realizamos clasificación binaria. Los valores de entrada son números aleatorios entre –5 y +5, generados con esta fórmula de Excel:
=RANDBETWEEN(-10, 10)/2
La salida se deriva de la siguiente regla:
=IF(AND(A2>0, B2>0, C2<0), 1, 0)
Así, la red aprende que una muestra se etiqueta 1 solo cuando input_0 > 0, input_1 > 0 y input_2 < 0; de lo contrario, recibe un 0.
Para este problema simple, 5,000 muestras generadas aleatoriamente y una sola época son suficientes para alcanzar alta precisión de clasificación.
Entrenando la Red
Configure la red con dimensionalidad de entrada de tres (I_dim = 3), cuatro nodos ocultos (H_dim = 4) y tasa de aprendizaje de 0.1 (LR = 0.1). Reemplace la línea training_data = pandas.read_excel(...) con la ruta a su hoja de cálculo. Si carece de Excel, Pandas también puede leer archivos ODS.
Ejecutar el script de entrenamiento en una laptop de 2.5 GHz Windows con 5,000 muestras completa en solo unos segundos. Si usa el script completo MLP_v1.py, la validación comenzará automáticamente después del entrenamiento.
Validando la Red
La validación requiere una segunda hoja de cálculo generada con las mismas fórmulas. Importe estos datos de la misma manera que los datos de entrenamiento:

El siguiente snippet demuestra una rutina de validación directa:
# Feed-forward para obtener valor post-activación output = sigmoid(np.dot(W_out, hidden_output)) # Aplicar umbral para obtener predicción binaria prediction = 1 if output > 0.5 else 0 # Comparar con objetivo y acumular predicciones correctas
La precisión de clasificación se calcula dividiendo el número de predicciones correctas por el total de muestras de validación.
Si se omite np.random.seed(1), la inicialización de pesos variará entre ejecuciones, causando fluctuaciones en la precisión. A través de 15 ejecuciones con los parámetros especificados (5,000 muestras de entrenamiento, 1,000 de validación), la precisión varió de 88.5% a 98.1%, promediando 94.4%.
Conclusión
Exploramos conceptos clave detrás de datos de entrenamiento de redes neuronales, implementamos un Perceptrón Multicapa en Python y evaluamos su rendimiento usando datasets generados en Excel. La serie ha progresado significativamente desde su inicio, y muchos más temas avanzados esperan en próximas publicaciones.
Robot industrial
- Formación experta BECKER en bombas de vacío para routers CNC
- Mínimos Locales en Entrenamiento de Redes Neuronales: ¿Mito o Realidad?
- Optimizando Tamaño de Capa Oculta para Impulsar Precisión de Red Neuronal
- Elegiendo el Número Correcto de Capas Ocultas y Nodos en una Red Neuronal
- Validando Redes Neuronales para Procesamiento de Señales Confiable
- Acelera la Formación en Soldadura Robótica: Reduce Tiempos y Aumenta la Eficiencia
- Innatera presenta sus primeros chips neuromórficos de IA para aplicaciones de borde de ultra-bajo consumo
- Los 5 Principales Retos del 5G: Navegar Espectro, Coste, Cobertura, Dispositivos y Seguridad
- Despliegue y Gestión de Redes de Sensores Inalámbricos en la Empresa
- Configuración gratis de simulador y editor VHDL: Guía para estudiantes
- Obtener la Fecha y Hora Actual en Python: Guía Práctica