Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Equipment >> Robot industrial

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:

  1. Cómo Realizar Clasificación Usando una Red Neuronal: ¿Qué es el Perceptrón?
  2. Cómo Usar un Ejemplo Simple de Red Neuronal Perceptrón para Clasificar Datos
  3. Cómo Entrenar un Perceptrón Neuronal Básico
  4. Entendiendo el Entrenamiento Simple de Redes Neuronales
  5. Introducción a la Teoría de Entrenamiento para Redes Neuronales
  6. Entendiendo la Tasa de Aprendizaje en Redes Neuronales
  7. Aprendizaje Automático Avanzado con el Perceptrón Multicapa
  8. La Función de Activación Sigmoide: Activación en Redes Neuronales Perceptrón Multicapa
  9. Cómo Entrenar un Perceptrón Multicapa Neuronal
  10. Entendiendo Fórmulas de Entrenamiento y Retropropagación para Perceptrones Multicapa
  11. Arquitectura de Red Neuronal para una Implementación en Python
  12. Cómo Crear una Red Neuronal Perceptrón Multicapa en Python
  13. Procesamiento de Señales Usando Redes Neuronales: Validación en Diseño de Redes Neuronales
  14. 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.

Entrenando Redes Neuronales con Excel: Construyendo y Validando un Perceptrón Multicapa en Python
 

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.

Entrenando Redes Neuronales con Excel: Construyendo y Validando un Perceptrón Multicapa en Python
 

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.

Entrenando Redes Neuronales con Excel: Construyendo y Validando un Perceptrón Multicapa en Python

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:

Entrenando Redes Neuronales con Excel: Construyendo y Validando un Perceptrón Multicapa en Python
 

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:

Entrenando Redes Neuronales con Excel: Construyendo y Validando un Perceptrón Multicapa en Python
 

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

  1. Formación experta BECKER en bombas de vacío para routers CNC
  2. Mínimos Locales en Entrenamiento de Redes Neuronales: ¿Mito o Realidad?
  3. Optimizando Tamaño de Capa Oculta para Impulsar Precisión de Red Neuronal
  4. Elegiendo el Número Correcto de Capas Ocultas y Nodos en una Red Neuronal
  5. Validando Redes Neuronales para Procesamiento de Señales Confiable
  6. Acelera la Formación en Soldadura Robótica: Reduce Tiempos y Aumenta la Eficiencia
  7. Innatera presenta sus primeros chips neuromórficos de IA para aplicaciones de borde de ultra-bajo consumo
  8. Los 5 Principales Retos del 5G: Navegar Espectro, Coste, Cobertura, Dispositivos y Seguridad
  9. Despliegue y Gestión de Redes de Sensores Inalámbricos en la Empresa
  10. Configuración gratis de simulador y editor VHDL: Guía para estudiantes
  11. Obtener la Fecha y Hora Actual en Python: Guía Práctica