Un ejemplo sencillo en Python de Red neuronal.

Un ejemplo sencillo en Python con la librería TensorFlow/Keras para que veas cómo funciona una red neuronal básica.

Este ejemplo entrena una red para reconocer números escritos a mano del dataset MNIST (del 0 al 9).

Qué son las redes neuronales y sus funciones - ATRIA Innovation

 

import tensorflow as tf
from tensorflow.keras import datasets, layers, models

# 1. Cargar datos (imágenes de dígitos escritos a mano)
(x_train, y_train), (x_test, y_test) = datasets.mnist.load_data()

# Normalizar los datos (de 0-255 a 0-1)
x_train, x_test = x_train / 255.0, x_test / 255.0

# 2. Definir la red neuronal
model = models.Sequential([
layers.Flatten(input_shape=(28, 28)), # Convertir cada imagen 28x28 en un vector de 784
layers.Dense(128, activation='relu'), # Capa oculta con 128 neuronas y ReLU
layers.Dense(10, activation='softmax') # Capa de salida (10 clases: dígitos 0-9)
])

# 3. Compilar el modelo
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])

# 4. Entrenar el modelo
model.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test))

# 5. Evaluar con datos de prueba
test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2)
print(f"Precisión en test: {test_acc:.2f}")

 

¿Qué hace este código?

  1. Carga el dataset MNIST.

  2. Normaliza las imágenes.

  3. Construye una red neuronal con:

    • Una capa de entrada (784 valores → 28x28 píxeles).

    • Una capa oculta de 128 neuronas con activación ReLU.

    • Una capa de salida con 10 neuronas (softmax) para clasificar los números del 0 al 9.

  4. Entrena el modelo con 5 épocas.

  5. Evalúa qué tan bien funciona con datos nuevos.

Si lo ejecutas, deberías obtener una precisión en el test cercana al 98% 🔥.

¡Claro! Vamos a explicarlo de manera muy sencilla, paso a paso, sin palabras complicadas. 😊


🔹 Entrenar una red neuronal es como enseñar a un niño a reconocer números:

  1. Le muestras muchos ejemplos

    • Le enseñas 60,000 imágenes de números escritos a mano (MNIST).

    • Cada imagen viene con la respuesta correcta (0, 1, 2… 9).

  2. La red adivina

    • Al principio no sabe nada, así que hace adivinanzas al azar sobre qué número es cada imagen.

  3. Le dices si acertó o no

    • Se calcula un “error”: qué tan lejos estuvo de la respuesta correcta.

    • Si se equivocó, el error será grande; si acertó, será pequeño.

  4. Aprende del error

    • La red ajusta internamente “sus conexiones” para equivocarse menos la próxima vez.

    • Esto es como decirle: “cuando ve algo así, piensa más en este número que en otros”.

  5. Repite muchas veces

    • Pasa por todas las imágenes una y otra vez (cada pasada se llama época).

    • Cada vez que repite, aprende un poquito más.

  6. Prueba si aprendió

    • Una vez entrenada, le das nuevas imágenes que nunca vio y miras si puede adivinar correctamente.


💡 Analogía rápida:

  • Entrenar = mostrar muchos ejemplos + decirle la respuesta correcta + dejar que aprenda de sus errores.

  • Después de varias repeticiones, la red se vuelve muy buena adivinando los números.

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *