Introducción al libro
Este libro reconstruye los algoritmos del aprendizaje automático paso a paso, desde sus cimientos matemáticos hasta su implementación en Python. No necesitas conocimientos previos de machine learning: solo curiosidad y ganas de entender qué hay dentro de las “cajas negras”.
1 Cómo está estructurado
El material sigue una ruta secuencial organizada en seis bloques:
Conceptos iniciales — qué es el aprendizaje automático, paradigmas (supervisado, no supervisado, refuerzo), ciclo ML, generalización y fuga de información.
Fundamentos matemáticos — álgebra lineal, cálculo, optimización, probabilidad y estadística: el lenguaje subyacente del ML.
Algoritmos clásicos — regresión lineal/logística, KNN, Naive Bayes, árboles, Random Forest, Gradient Boosting, SVM, PCA, K-means, HMM y n-gramas.
Evaluación y Mejora — train/validation/test, validación cruzada, métricas, sesgo-varianza, regularización, optimizadores (Adam, Momentum), batch normalization, dropout y búsqueda de hiperparámetros.
Ingeniería de Características — selección, extracción, escalado, codificación, valores faltantes, atípicos, texto, reducción de dimensionalidad y pipelines reproducibles.
Redes Neuronales — MLP, backpropagation, softmax, CNN, transfer learning, YOLO, U-Net, RNN, LSTM, atención, Transformers y LLMs.
2 Requisitos previos
- Matemáticas: los capítulos de fundamentos parten desde cero, así que basta con manejar nociones de funciones y operaciones básicas.
- Programación: es recomendable tener nociones mínimas de Python, aunque todo el código del libro es reproducible y está comentado.
3 Instalación del entorno
Todos los bloques de código se ejecutan con Python. Para reproducirlos, crea un entorno virtual e instala las dependencias del proyecto:
python3 -m venv .venv
source .venv/bin/activate # En Windows: .venv\Scripts\activate
python3 -m pip install -r requirements.txt
Los capítulos de procesamiento de texto utilizan algunos recursos de NLTK que se descargan aparte de la librería:
python3 -c "import nltk; [nltk.download(recurso) for recurso in ['punkt', 'punkt_tab', 'stopwords', 'wordnet']]"
Algunos ejemplos descargan datasets públicos, como California Housing, durante su ejecución. Es necesario disponer de conexión a Internet la primera vez que se ejecuten.
Los paquetes incluidos son:
| Paquete | Uso principal |
|---|---|
numpy |
Álgebra lineal y operaciones con vectores y matrices |
matplotlib |
Visualización de funciones, gradientes y modelos |
pandas |
Manipulación de datasets |
scipy |
Estadística y optimización |
jupyter |
Ejecución interactiva de los ejemplos |
scikit-learn |
Algoritmos clásicos, evaluación y preprocesamiento |
nltk |
Tokenización y procesamiento de texto |
joblib |
Serialización de pipelines |
umap-learn |
Reducción de dimensionalidad no lineal |
opencv-python |
Procesamiento de imágenes |
seaborn |
Visualización estadística |
torch |
Autoencoders y ejemplos de redes neuronales |
4 Cómo aprovechar este libro
- Sigue el orden. Cada bloque matemático está conectado directamente con el algoritmo que se construye después.
- Ejecuta el código. No te limites a leer: modifica los parámetros y observa cómo cambia el resultado.
- Consulta la Bibliografía. Encontrarás las fuentes de los teoremas y papers seminales utilizados.
Reproducibilidad
Los ejemplos están congelados para que el libro compile de forma determinista, pero puedes copiarlos y ejecutarlos en tu propio entorno (por ejemplo, en un notebook de Jupyter o en VS Code).