Saltar a contenido

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

  1. Sigue el orden. Cada bloque matemático está conectado directamente con el algoritmo que se construye después.
  2. Ejecuta el código. No te limites a leer: modifica los parámetros y observa cómo cambia el resultado.
  3. 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).