2. Matematicas para Machine Learning


Fase 1
Matematicas ML Probabilidad

Teoria

Para competir en IA no necesitas ser matematico puro, pero si manejar conceptos funcionales:

  • Algebra: ecuaciones, funciones, logaritmos y exponenciales.
  • Derivadas: intuicion de pendiente y optimizacion.
  • Derivadas parciales: funciones con multiples variables.
  • Algebra lineal: vectores, matrices, producto punto, multiplicacion matricial.
  • Eigenvalores/eigenvectores (intuicion): direcciones importantes en transformaciones.
  • Probabilidad: eventos, independencia, Bayes.
  • Estadistica: media, varianza, desviacion estandar.

Guia practica con ejemplos paso a paso

Esta seccion te muestra como usar las matematicas en problemas reales de IA, no solo como teoria abstracta.

1) Algebra y funciones

Si tienes una funcion lineal:

f(x)=2x+3

entonces:

  • f(0) = 3
  • f(2) = 7
  • f(-1) = 1

En ML, funciones como esta aparecen en modelos de regresion lineal, donde cambias parametros para ajustar predicciones.

Ejemplo rapido de logaritmos y exponenciales:

log10(1000)=3 eln(5)=5

Esto es util cuando aplicas transformaciones logaritmicas para reducir asimetria en datos de precios o ingresos.

2) Derivadas y optimizacion

Si:

g(x)=x2

su derivada es:

g(x)=2x

Interpretacion:

  • En x = 3, la pendiente es 6 (la funcion crece rapido).
  • En x = 0, la pendiente es 0 (punto minimo local).

En entrenamiento de modelos, la derivada indica en que direccion mover parametros para bajar el error.

3) Derivadas parciales

Si una funcion depende de varias variables, por ejemplo:

h(x,y)=x2+3y

entonces:

hx=2x hy=3

Esto aparece directamente en redes neuronales, donde la perdida depende de muchos pesos.

4) Vectores, matrices y producto punto

Dos vectores:

a=[1,2,3] b=[4,5,6]

producto punto:

ab=14+25+36=32

El producto punto mide “alineacion” entre vectores y se usa en similitud, embeddings y capas lineales.

Multiplicacion de matrices (ejemplo corto):

A= 12 34 B= 20 12 AB= 44 108

5) Eigenvalores (intuicion)

Cuando aplicas una transformacion lineal, hay direcciones que solo cambian de escala. Esas direcciones son eigenvectores, y el factor de escala es el eigenvalor.

En PCA, estas ideas te ayudan a encontrar las direcciones con mayor varianza para reducir dimensionalidad sin perder demasiada informacion.

6) Probabilidad y Teorema de Bayes

Bayes:

P(A|B)= P(B|A)P(A) P(B)

Ejemplo medico sencillo:

  • P(Enfermo) = 0.01
  • P(Test+|Enfermo) = 0.95
  • P(Test+|Sano) = 0.05

Primero:

P(Test+)=0.950.01+0.050.99=0.059

Luego:

P(Enfermo|Test+)= 0.950.010.059 0.161

Aunque el test sea bueno, la probabilidad posterior puede no ser tan alta si la prevalencia es baja.

7) Estadistica descriptiva minima

Para datos [2,4,4,4,5,5,7,9]:

  • Media: 5
  • Varianza (poblacional): 4
  • Desviacion estandar: 2

Estas medidas son basicas para EDA, estandarizacion y deteccion de outliers.

Codigo Python para reforzar matematicas

import numpy as np

# Producto punto
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print("Producto punto:", np.dot(a, b))  # 32

# Multiplicacion de matrices
A = np.array([[1, 2], [3, 4]])
B = np.array([[2, 0], [1, 2]])
print("A @ B:\n", A @ B)

# Estadistica basica
datos = np.array([2, 4, 4, 4, 5, 5, 7, 9])
print("Media:", np.mean(datos))
print("Varianza:", np.var(datos))
print("Desv. estandar:", np.std(datos))

Si puedes conectar estos calculos con intuicion, estas construyendo una base solida para modelos mas avanzados.

Por que importa en competencias de IA

Ayuda a entender funciones de perdida, gradiente, PCA, regularizacion y comportamiento de modelos.

Recursos recomendados

Ejercicios practicos

  • Calcular a mano media, varianza y desviacion de un conjunto pequeno.
  • Resolver ejemplos de Bayes para clasificacion binaria.
  • Programar multiplicacion de matrices y producto punto en Python.

Mini-proyectos

  • Notebook explicando descenso de gradiente en 1D y 2D con graficas.
  • Implementacion simple de PCA desde cero para datos pequenos.

Como resolver los mini-proyectos (resumen practico)

Mini-proyecto 1: Descenso de gradiente en 1D y 2D

Objetivo: entender como los parametros se actualizan para minimizar una funcion de costo.

Pasos sugeridos:

  1. Define una funcion simple, por ejemplo f(x) = x^2 (1D).
  2. Deriva la funcion: f’(x) = 2x.
  3. Elige un punto inicial (por ejemplo x = 8) y learning rate (por ejemplo 0.1).
  4. Actualiza: x_nuevo = x_actual - eta * f’(x).
  5. Repite por iteraciones y grafica como baja el valor de f(x).
  6. Para 2D, usa una funcion tipo f(x, y) = x^2 + y^2 y aplica gradiente por componente.

Resultados esperados:

  • Ver convergencia al minimo.
  • Entender efecto de learning rate pequeno vs grande.

Mini-proyecto 2: PCA desde cero (version educativa)

Objetivo: reducir dimensionalidad preservando informacion relevante.

Pasos sugeridos:

  1. Estandariza los datos (restar media y dividir por desviacion).
  2. Calcula la matriz de covarianza.
  3. Obtiene eigenvalores y eigenvectores.
  4. Ordena componentes por eigenvalor descendente.
  5. Proyecta datos en los primeros componentes.
  6. Grafica datos originales vs proyectados.

Resultados esperados:

  • Comprender por que PCA conserva direcciones de mayor varianza.
  • Poder justificar cuantos componentes conservar.

Consejo de competencia: en datasets tabulares con muchas variables correlacionadas, PCA puede ayudar a simplificar modelos y acelerar entrenamiento.

Preguntas de auto-chequeo rapido

  • Puedo explicar por que el gradiente apunta hacia el aumento mas rapido y por que usamos su negativo?
  • Puedo calcular un producto punto sin calculadora en un caso pequeno?
  • Puedo interpretar la salida de media/varianza en contexto de datos reales?
  • Puedo describir PCA sin decir solo “reduce dimensiones”?

Errores comunes

  • Memorizar formulas sin intuicion.
  • Ignorar escalado de variables.
  • No conectar teoria con codigo y experimentos.

Seccion avanzada (opcional)

Revisa descomposicion SVD y relacion con reduccion de dimensionalidad.

Ruta sugerida

  1. Estadistica descriptiva.
  2. Probabilidad y Bayes.
  3. Algebra lineal aplicada.
  4. Derivadas y optimizacion.
  5. Aplicacion en notebooks de ML.

Desarrollo extendido para estudio profundo

Que debes comprender de verdad

No basta con leer definiciones. En este tema debes llegar a tres niveles de dominio:

  1. Nivel conceptual: explicar el tema sin mirar apuntes.
  2. Nivel tecnico: implementar lo aprendido en codigo o en ejercicios formales.
  3. Nivel estrategico: decidir cuando usar esta herramienta en una competencia.

Una forma util de estudiar es la secuencia “leer -> resumir -> implementar -> explicar”. Si no puedes explicar una idea con palabras simples, todavia no la dominaste.

Aplicacion paso a paso en un entorno de competencia

  1. Define objetivo y metrica antes de tocar el modelo.
  2. Prepara un baseline pequeno y completamente reproducible.
  3. Evalua con separacion correcta de datos.
  4. Registra decisiones y resultados por experimento.
  5. Repite solo cambios pequenos para aislar el impacto.

Este flujo te entrena para competir bajo presion sin perder rigor metodologico.

Checklist de dominio minimo

  • Puedo describir el concepto central del tema con mis palabras.
  • Puedo resolver un ejercicio basico sin ayuda externa.
  • Puedo identificar al menos dos errores frecuentes del tema.
  • Puedo conectar este tema con uno anterior de la ruta.
  • Puedo escribir una implementacion limpia y comentada.

Autoevaluacion sugerida

Responde por escrito:

  • Cual es la idea principal del tema y por que importa.
  • Que decisiones tomarias al aplicarlo en un problema real.
  • Que senales te indican que estas aplicando mal el enfoque.
  • Como validarias que tu solucion funciona de verdad.

Plan de practica de 7 dias

  • Dia 1: lectura completa + resumen personal.
  • Dia 2: ejercicios basicos.
  • Dia 3: ejercicios intermedios.
  • Dia 4: mini-proyecto parte 1.
  • Dia 5: mini-proyecto parte 2.
  • Dia 6: analisis de errores + refactor.
  • Dia 7: presentacion breve de resultados.

← 1. Fundamentos de Programacion en Python | 3. Manejo de Datos con NumPy y Pandas →

© 2026 OBIA
Olimpiada Boliviana de Inteligencia Artificial - OBIA