← Math for ML

Material de apoyo

Setup

Antes del primer Python lab, deja esto listo una vez. Windows-friendly (estás en Windows 11).


1. Python

Si no tienes Python, instálalo desde https://www.python.org/downloads/ (marca "Add Python to PATH" en el instalador) o desde la Microsoft Store.

Verifica en PowerShell:

python --version

Debería decir algo como Python 3.12.x.


2. Entorno virtual (recomendado)

Aísla las librerías de este proyecto:

cd C:\Users\pc\Desktop\_\Programming\Personal\Learning\Math-for-ML
python -m venv .venv
.\.venv\Scripts\Activate.ps1

Si PowerShell bloquea el script de activación:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

(cuando el prompt muestra (.venv) al inicio, está activo).


3. Librerías

pip install numpy matplotlib sympy jupyter scipy
  • numpy — vectores/matrices, álgebra lineal numérica (el motor de casi todo).
  • matplotlib — gráficas (visualizar vectores, funciones, gradient descent).
  • sympy — matemática simbólica (verificar derivadas/integrales exactas).
  • jupyter — notebooks interactivos.
  • scipy — extras (distribuciones estadísticas, optimización) para módulos avanzados.

4. Abrir Jupyter

jupyter lab

Se abre en el navegador. Sugerencia de organización: crea una carpeta labs/ dentro de cada pilar y guarda un notebook por módulo, p. ej. linear-algebra/labs/01-vectors.ipynb.

¿Prefieres VS Code? Instala las extensiones Python y Jupyter y podrás correr .ipynb dentro del editor. Cualquiera de las dos sirve.


5. Anki (spaced repetition)

Descarga Anki desde https://apps.ankiweb.net (gratis en desktop). Crea un deck llamado Math for ML. Cada vez que un módulo tenga una definición/fórmula que quieras retener para siempre, hazte una tarjeta. Revisa el deck ~10 min al día. Es el hábito con mejor retorno de todo el plan.


6. Smoke test (verifica que todo jala)

Crea labs/smoke_test.py con esto y córrelo (python labs/smoke_test.py):

import numpy as np
import matplotlib.pyplot as plt
import sympy as sp

# NumPy: dot product y norma
a = np.array([3.0, 4.0])
print("dot(a, a) =", a @ a)          # 25.0
print("||a|| =", np.linalg.norm(a))   # 5.0

# SymPy: derivada simbólica de x^2
x = sp.symbols("x")
print("d/dx x^2 =", sp.diff(x**2, x))  # 2*x

# Matplotlib: una gráfica simple
xs = np.linspace(-3, 3, 100)
plt.plot(xs, xs**2)
plt.title("y = x^2")
plt.savefig("labs/smoke_test.png")
print("Gráfica guardada en labs/smoke_test.png")

Si ves 25.0, 5.0, 2*x y se genera el PNG: entorno listo. 🎉

Ahora ve a 00-foundations/00-notation-and-refresher.md (o directo a linear-algebra/01-vectors.md si tu notación está fresca).