Introducción práctica a las Redes Neuronales Artificiales con Keras

Diapositivas sobre Redes Neuronales.ipynb - Colab. El Pdf explora la historia de las ANNs, desde el Perceptrón al Deep Learning, e ilustra conceptos clave como la compilación y el entrenamiento de un modelo. Este material de Informática de nivel universitario incluye ejemplos de código y gráficos para visualizar el proceso de aprendizaje.

Ver más

21 páginas

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import tensorflow as tf
from tensorflow import keras
from sklearn.datasets import load_iris, fetch_california_housing, make_blobs
from sklearn.linear_model import Perceptron
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import accuracy_score, root_mean_squared_error
from IPython.display import Image, display
# Configuraciones generales
plt.style.use('seaborn-v0_8-whitegrid')
tf.random.set_seed(42)
np.random.seed(42)
# Para asegurar que los plots aparezcan en el notebook
%matplotlib inline
Introducción a Redes Neuronales Articiales
Autor:
Dr. Francisco Arduh
Fecha:
2025
Este notebook sirve como una introducción práctica a las Redes Neuronales Articiales (ANNs) utilizando Keras. Se basa en la presentación
"Introducción a redes neuronales articiales" y el libro "Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow" (Capítulos 10 y 11).
Mostrar código
Las Redes Neuronales Articiales (ANNs) tienen sus raíces en el intento de modelar el funcionamiento del cerebro humano. La historia de
este campo no ha sido un ascenso constante, sino una montaña rusa de entusiasmo, desilusión, redescubrimientos y, nalmente, una
explosión de impacto real.
1943 McCulloch y Pitts
Warren McCulloch y Walter Pitts propusieron un modelo matemático de neuronas articiales, capaces de realizar operaciones lógicas como
AND, OR y NOT. Su trabajo fue teóricamente prometedor: demostraron que redes de estas neuronas podían, en principio, computar cualquier
función lógica.
🧬
Años 1950-60: El Optimismo de la Cibernética
Inspirados por la idea de simular la inteligencia humana, investigadores como
Frank Rosenblatt
desarrollaron el
Perceptrón
(1958), un
modelo capaz de aprender a clasicar entradas de datos. El entusiasmo fue enorme: se pensaba que pronto las máquinas podrían "pensar".
🔻
Pero
En 1969,
Minsky y Papert
publicaron el libro
Perceptrons
, donde demostraban que el perceptrón no podía resolver problemas no linealmente
separables (como XOR). Aunque técnicamente correcto, esto desilusionó a la comunidad, y la nanciación y el interés en redes neuronales
cayeron drásticamente.
🧊
Esto marcó el primer
invierno de la IA
para las redes neuronales.
🔁
Años 1980-90: El Resurgimiento del Conexionismo
El interés revivió cuando
Rumelhart, Hinton y Williams
redescubrieron y popularizaron el algoritmo de
backpropagation
(1986), que permite
entrenar redes con múltiples capas. Surgió el movimiento
conexionista
, con la idea de que el aprendizaje podía emerger de conexiones
simples entre muchas unidades.
Se introdujeron conceptos como:
Funciones de activación diferenciables
Redes recurrentes
Autoencoders
🔻
Pero
A pesar de los avances teóricos, las computadoras eran lentas, los datasets pequeños y entrenar redes profundas era difícil. El rendimiento
no superaba a los métodos estadísticos tradicionales como SVMs o árboles de decisión.
🧊
Esto llevó a un
segundo invierno de la IA
, y nuevamente las redes neuronales fueron dejadas de lado.
1.
🧠
De Neuronas Biológicas a Articiales: Un Poco de Historia
3/6/25, 11:27 a.m.
RedesNeuronales.ipynb - Colab
https://colab.research.google.com/drive/1deGr6_TitbsUrQe6KXDiTAqlHD7ZzrLK?authuser=1#printMode=true
🚀
2010sPresente: El Renacimiento con el Deep Learning
A partir de 2012, el panorama cambió radicalmente gracias a varios factores clave:
1.
Disponibilidad de datos masivos
: Internet, sensores, redes sociales, etc.
2.
Mayor poder de cómputo
: GPUs y clusters permitieron entrenar redes mucho más grandes y profundas.
3.
Avances algorítmicos
:
ReLU como función de activación
Dropout para regularización
Adam como optimizador
Mejoras en la inicialización de pesos
Además, se generó un
ciclo virtuoso con la industria
: los éxitos en visión por computadora, reconocimiento de voz y traducción automática
atrajeron inversión, que a su vez impulsó más avances.
💡
¿Por qué la ola actual es distinta?
Resultados reales y medibles
en múltiples dominios.
Escala masiva
de modelos y datos (e.g. GPT, DALL·E, AlphaFold).
Mejor comprensión teórica y práctica
del entrenamiento y generalización.
Adopción industrial sin precedentes
.
🔬
De la Biología a la Computación
Aunque la inspiración original proviene de las neuronas biológicas (dendritas, soma, axón), las
ANNs modernas se han alejado bastante del realismo biológico. Hoy se prioriza el rendimiento
computacional en tareas especícas por sobre la delidad al cerebro humano.
Mostrar código
2. El Perceptrón: La Unidad Fundamental
El
Perceptrón
, introducido por Frank Rosenblatt en 1957, es una de las arquitecturas de ANN más simples. Se basa en una neurona articial
llamada
Threshold Logic Unit (TLU)
o Linear Threshold Unit (LTU).
Threshold Logic Unit (TLU):
Recibe un conjunto de entradas numéricas ( ).
Cada entrada tiene un peso asociado ( ).
Calcula una suma ponderada de las entradas: .
es el vector de pesos, es el vector de entradas, y es el término de sesgo (bias).
Aplica una
función escalón
(step function) al resultado para producir la salida .
Por ejemplo, la función Heaviside: si , y si .
A veces se usa la función signo (sgn).
, ,...,
x
1
x
2
x
n
, ,...,
w
1
w
2
w
n
z
= + +...+ +
b
=
w
x
+
b
w
1
x
1
w
2
x
2
w
n
x
n
w x
b
z
y
y
= 1
z
0
y
= 0
z
< 0
Mostrar código
3/6/25, 11:27 a.m.
RedesNeuronales.ipynb - Colab
https://colab.research.google.com/drive/1deGr6_TitbsUrQe6KXDiTAqlHD7ZzrLK?authuser=1#printMode=true

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

Introducción a Redes Neuronales Artificiales

Autor: Dr. Francisco Arduh Fecha: 2025

Este notebook sirve como una introducción práctica a las Redes Neuronales Artificiales (ANNs) utilizando Keras. Se basa en la presentación "Introducción a redes neuronales artificiales" y el libro "Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow" (Capítulos 10 y 11).

Mostrar código V

De Neuronas Biológicas a Artificiales: Un Poco de Historia

Las Redes Neuronales Artificiales (ANNs) tienen sus raíces en el intento de modelar el funcionamiento del cerebro humano. La historia de este campo no ha sido un ascenso constante, sino una montaña rusa de entusiasmo, desilusión, redescubrimientos y, finalmente, una explosión de impacto real.

1943 - McCulloch y Pitts

Warren McCulloch y Walter Pitts propusieron un modelo matemático de neuronas artificiales, capaces de realizar operaciones lógicas como AND, OR y NOT. Su trabajo fue teóricamente prometedor: demostraron que redes de estas neuronas podían, en principio, computar cualquier función lógica.

Años 1950-60: El Optimismo de la Cibernética

Inspirados por la idea de simular la inteligencia humana, investigadores como Frank Rosenblatt desarrollaron el Perceptron (1958), un modelo capaz de aprender a clasificar entradas de datos. El entusiasmo fue enorme: se pensaba que pronto las máquinas podrían "pensar". v Pero ...

En 1969, Minsky y Papert publicaron el libro Perceptrons, donde demostraban que el perceptrón no podía resolver problemas no linealmente separables (como XOR). Aunque técnicamente correcto, esto desilusionó a la comunidad, y la financiación y el interés en redes neuronales cayeron drásticamente.

Esto marcó el primer invierno de la IA para las redes neuronales.

Años 1980-90: El Resurgimiento del Conexionismo

El interés revivió cuando Rumelhart, Hinton y Williams redescubrieron y popularizaron el algoritmo de backpropagation (1986), que permite entrenar redes con múltiples capas. Surgió el movimiento conexionista, con la idea de que el aprendizaje podía emerger de conexiones simples entre muchas unidades.

Se introdujeron conceptos como:

  • Funciones de activación diferenciables
  • Redes recurrentes
  • Autoencoders

v Pero ...

A pesar de los avances teóricos, las computadoras eran lentas, los datasets pequeños y entrenar redes profundas era difícil. El rendimiento no superaba a los métodos estadísticos tradicionales como SVMs o árboles de decisión.

Esto llevó a un segundo invierno de la IA, y nuevamente las redes neuronales fueron dejadas de lado.

2010s-Presente: El Renacimiento con el Deep Learning

A partir de 2012, el panorama cambió radicalmente gracias a varios factores clave:

  1. Disponibilidad de datos masivos: Internet, sensores, redes sociales, etc.
  2. Mayor poder de cómputo: GPUs y clusters permitieron entrenar redes mucho más grandes y profundas.
  3. Avances algorítmicos:
    • ReLU como función de activación
    • Dropout para regularización
    • Adam como optimizador
    • Mejoras en la inicialización de pesos

Además, se generó un ciclo virtuoso con la industria: los éxitos en visión por computadora, reconocimiento de voz y traducción automática atrajeron inversión, que a su vez impulsó más avances.

¿Por qué la ola actual es distinta?

  • Resultados reales y medibles en múltiples dominios.
  • Escala masiva de modelos y datos (e.g. GPT, DALL·E, AlphaFold).
  • Mejor comprensión teórica y práctica del entrenamiento y generalización.
  • Adopción industrial sin precedentes.

De la Biología a la Computación

Aunque la inspiración original proviene de las neuronas biológicas (dendritas, soma, axón), las ANNs modernas se han alejado bastante del realismo biológico. Hoy se prioriza el rendimiento computacional en tareas específicas por sobre la fidelidad al cerebro humano.

Mostrar código []

El Perceptron: La Unidad Fundamental

El Perceptron, introducido por Frank Rosenblatt en 1957, es una de las arquitecturas de ANN más simples. Se basa en una neurona artificial llamada Threshold Logic Unit (TLU) o Linear Threshold Unit (LTU).

Threshold Logic Unit (TLU):

  • Recibe un conjunto de entradas numéricas (x1,x2, ... , In).
  • Cada entrada tiene un peso asociado (w1, w2, ... , Wn).
  • Calcula una suma ponderada de las entradas: z = w1x1 + w2x2+ ... +wnIn +b =w . x+b.
    • w es el vector de pesos, x es el vector de entradas, y b es el término de sesgo (bias).
  • Aplica una función escalón (step function) al resultado z para producir la salida y.
    • Por ejemplo, la función Heaviside: y = 1 si z ≥ 0, y y = 0 si z < 0.
    • A veces se usa la función signo (sgn).

Mostrar código [+]

Un Perceptrón simple puede consistir en una sola capa de TLUs. Cada TLU en esta capa está conectada a todas las entradas (y a una neurona de sesgo, que siempre emite 1, permitiendo que el TLU aprenda el umbral).

Si o es la función escalón, la salida de una capa densa de TLUs se puede expresar como: h = $(XW + b) Donde X es la matriz de instancias de entrada, W la matriz de pesos y b el vector de sesgos.

Mostrar código V

Entrenamiento del Perceptron: La Regla que Aprende Corrigiendo

El Perceptron es uno de los modelos más simples y famosos de redes neuronales. Aunque es básico, nos permite entender los fundamentos del aprendizaje automático supervisado.

¿Cómo "aprende" el perceptrón?

El entrenamiento del perceptrón consiste en ajustar los pesos de sus conexiones para que, dada una entrada, produzca la salida deseada. Se inspira en la regla de Hebb, resumida en:

"Las neuronas que se activan juntas, fortalecen su conexión."

Proceso de Entrenamiento (uno por uno):

Para cada ejemplo de entrenamiento, el perceptrón realiza:

  1. Predicción: calcula la salida actual usando los pesos actuales.
  2. Corrección: si se equivocó, ajusta los pesos para acercarse a la salida deseada.

Regla de Actualización de Pesos

La regla que ajusta los pesos cuando hay error es:

[ wnuevo ij = Wij ,viejo +n. (yj - j) . xil

¿Qué significa cada término?

SímboloSignificado
( Wij)Peso entre la entrada ( i ) y la neurona de salida (j).
( )Valor de la entrada ( i).
(yj )Valor objetivo (label) para la salida (j).
(§j)Salida predicha por el perceptrón para la neurona (j).
(η)Tasa de aprendizaje: controla cuánto se ajustan los pesos en cada paso.

Intuición:

  • Si el perceptrón predice bien, no se ajusta nada.
  • Si se equivoca, se corrige el peso de cada entrada según:
    • Su valor actual ( 2x; ),
    • El error cometido ( yj - yj),
  • La tasa de aprendizaje ( n).

Teorema de Convergencia del Perceptron

Marvin Minsky y Frank Rosenblatt demostraron:

Si los datos son linealmente separables, el perceptrón encontrará una solución correcta en un número finito de pasos.

Esto significa que eventualmente aprenderá perfectamente ... si existe una frontera lineal que separe las clases.

Este algoritmo es la base histórica de las redes neuronales modernas. Entenderlo bien te prepara para técnicas más avanzadas como backpropagation.

Implementación del Perceptron con Scikit-Learn

print("\nCaracterísticas del Perceptron de Scikit-Learn:") print("- Implementa un solo TLU (por defecto, para clasificación binaria).")

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.