👨‍🎓 Estudiante
👨‍🏫

Prof. Carlos Mendoza — ESPOL

¡Bienvenido a la plataforma de simulaciones de la carrera de Ciencia de Datos e Inteligencia Artificial! Aquí vas a experimentar de forma interactiva los métodos que usamos para modelar incertidumbre, entrenar modelos y tomar decisiones inteligentes. Empieza por Monte Carlo, es la base de casi todo.

Módulos de Simulación

Selecciona un módulo para comenzar a experimentar

🎲

Simulaciones Monte Carlo

Aprende a estimar valores, cuantificar incertidumbre y tomar decisiones usando muestreo aleatorio. Base fundamental en IA moderna.

Interactivo
🧠

Redes Neuronales

Visualiza cómo una red aprende, propaga errores y ajusta pesos. Simulación simplificada de forward y backward pass.

Próximamente
📊

Simulación Estadística

Distribuciones, teorema del límite central, bootstrap y estimación de parámetros mediante simulación.

Disponible
🤖

Reinforcement Learning

Exploración vs explotación, Q-learning simplificado y cómo Monte Carlo se usa para estimar retornos.

Conceptos
👨‍🏫

Prof. Carlos Mendoza

Las Simulaciones Monte Carlo nos permiten estimar valores complejos generando muchos escenarios aleatorios. En IA las usamos para cuantificar incertidumbre en predicciones, explorar políticas en Reinforcement Learning y generar muestras de distribuciones difíciles.

Estimación de π con Monte Carlo

Clásico experimento: lanzamos puntos aleatorios en un cuadrado y contamos cuántos caen dentro del círculo inscrito.

Idea clave: Área del círculo / Área del cuadrado ≈ π/4.
Por lo tanto: π ≈ 4 × (puntos dentro / total de puntos)
Esperando...
—
Estimación de π
—
Error absoluto
0
Puntos dentro
0
Total puntos

¿Por qué funciona?

Mientras más puntos generamos, la proporción de puntos que caen dentro del círculo se acerca más al valor real de π/4 (Ley de los Grandes Números). Esta misma idea se usa en IA para estimar esperanzas, gradientes e integrales que no tienen solución analítica.

# Pseudocódigo Python — Estimación de π con Monte Carlo import numpy as np n = 10000 x = np.random.uniform(-1, 1, n) y = np.random.uniform(-1, 1, n) dentro = (x**2 + y**2) <= 1 pi_est = 4 * np.mean(dentro) print(f"π ≈ {pi_est:.5f}")
👨‍🏫

Prof. Carlos Mendoza

Las redes neuronales aprenden ajustando miles (o millones) de parámetros. Aquí verás una versión simplificada de cómo el error se propaga hacia atrás y cómo los pesos se actualizan.

Red Neuronal — Visualización Conceptual

Módulo en desarrollo. Próximamente: simulación interactiva de forward/backward pass.

Qué verás aquí pronto

  • Arquitectura simple (entrada → oculta → salida)
  • Propagación hacia adelante con activaciones
  • Cálculo de gradientes (backpropagation)
  • Actualización de pesos con diferentes learning rates
👨‍🏫

Prof. Carlos Mendoza

La simulación estadística nos permite entender el comportamiento de estimadores y la incertidumbre de nuestros modelos. Aquí puedes ver el Teorema del Límite Central en acción.

Teorema del Límite Central

Aunque la población no sea normal, la distribución de las medias muestrales se acerca a una normal cuando n es grande.

Aplicación en IA: Este principio justifica por qué podemos usar intervalos de confianza y por qué el bootstrap funciona. También es la base de muchas técnicas de incertidumbre en modelos predictivos.
👨‍🏫

Prof. Carlos Mendoza

En Reinforcement Learning, Monte Carlo se usa para estimar el retorno esperado de una política. El agente aprende a base de episodios completos y promedia las recompensas obtenidas.

Monte Carlo en Reinforcement Learning

Conceptos clave que verás en la carrera

Exploración vs Explotación

El agente debe balancear probar acciones nuevas (exploración) y usar lo que ya sabe que funciona (explotación). Métodos como ε-greedy y Upper Confidence Bound (UCB) resuelven este dilema.

Estimación de Retornos

Monte Carlo promedia los retornos de muchos episodios para estimar V(s) o Q(s,a). No necesita modelo del entorno, solo experiencia.

On-policy vs Off-policy

On-policy aprende de la política que está ejecutando. Off-policy (como Q-learning) puede aprender de datos generados por otra política.

Conexión con IA generativa

Técnicas de sampling (incluyendo Monte Carlo) son fundamentales en modelos generativos, MCMC y en la evaluación de políticas en agentes.

Fundamentos Teóricos

Resumen de conceptos que se enseñan en la carrera de Ciencia de Datos e IA — ESPOL

1. Ley de los Grandes Números

El promedio de una secuencia de variables aleatorias independientes e idénticamente distribuidas converge al valor esperado cuando el número de muestras tiende a infinito. Es la justificación teórica de Monte Carlo.

2. Teorema del Límite Central

La suma (o promedio) de muchas variables independientes se distribuye aproximadamente como una normal, independientemente de la distribución original (bajo ciertas condiciones).

3. Muestreo e Inferencia Bayesiana

Monte Carlo Markov Chain (MCMC), Importance Sampling y Particle Filters permiten aproximar distribuciones posteriores cuando no hay solución analítica. Muy usados en modelos probabilísticos de IA.

4. Cuantificación de Incertidumbre en Deep Learning

Dropout como aproximación bayesiana, ensembles, y métodos de Monte Carlo se usan para obtener intervalos de confianza en predicciones de redes neuronales.

Código Python de Referencia

Ejemplos listos para copiar y ejecutar en tu entorno (Colab, Jupyter, VS Code)

Estimación de π (NumPy)

import numpy as np def estimar_pi(n=100_000): x = np.random.uniform(-1, 1, n) y = np.random.uniform(-1, 1, n) dentro = x**2 + y**2 <= 1 return 4 * np.mean(dentro) print(estimar_pi())

Monte Carlo para integral (ejemplo simple)

import numpy as np # Estimar ∫₀¹ x² dx (valor real = 1/3 ≈ 0.333) n = 100_000 x = np.random.uniform(0, 1, n) estimacion = np.mean(x**2) print(f"Integral ≈ {estimacion:.5f}")

Bootstrap simple (incertidumbre de la media)

import numpy as np datos = np.random.normal(50, 10, 200) # muestra original B = 2000 medias = [np.mean(np.random.choice(datos, size=len(datos), replace=True)) for _ in range(B)] ic_inf, ic_sup = np.percentile(medias, [2.5, 97.5]) print(f"IC 95%: [{ic_inf:.2f}, {ic_sup:.2f}]")
Hosted on VibeDeploy