📚 Tabla de Contenidos
- Parte 1: ¿Qué es Machine Learning?
- Parte 2: Optimización y Funciones de Pérdida
- Parte 3: El Tradeoff Bias-Varianza
- Parte 4: Clasificación y Fronteras de Decisión
- Parte 5: Redes Neuronales
- Parte 6: Sesgos Algorítmicos y Justicia Computacional
- Parte 7: Resúmenes de Fuentes Primarias
- Parte 8: Conexiones con el Curso
- Parte 9: Recursos y Lecturas Recomendadas
Parte 1: ¿Qué es Machine Learning?
El acto de "aprender" en máquinas
Cuando un científico de datos dice que un algoritmo "aprendió," no se refiere a comprensión consciente. Se refiere a algo mucho más específico y matemático: una máquina ajustó los parámetros de una función para que esa función prediga bien los datos que observó.
En su esencia, machine learning es ajuste de funciones. Tienes datos (X) y respuestas (Y). Asumes una forma funcional para la relación: Y ≈ f(X). Tu máquina busca los parámetros θ que hacen que f_θ(X) esté lo más cercano posible a Y real. Eso es aprender.
Tres paradigmas: Supervisado, No supervisado, Refuerzo
Hay tres formas radicalmente diferentes de estructurar el problema de aprendizaje:
| Paradigma | Datos | Objetivo | Ejemplos |
|---|---|---|---|
| Aprendizaje Supervisado | Pares (X, Y): características y etiquetas | Predecir Y dado X | Clasificación (¿es spam?), Regresión (¿cuál es el precio?) |
| Aprendizaje No Supervisado | Solo X: características sin etiquetas | Encontrar estructura, patrones, grupos | Clustering (¿cuáles son grupos naturales?), Reducción de dimensionalidad |
| Aprendizaje por Refuerzo | Secuencias de acciones, estados y recompensas | Encontrar política que maximiza recompensa acumulada | Juegos (AlphaGo), Robótica, Conducción autónoma |
Este curso se enfoca primariamente en aprendizaje supervisado, porque es el más común en aplicaciones prácticas y el que genera problemas éticos más inmediatos. Pero la estructura subyacente — encontrar parámetros que optimicen algo — es la misma en los tres.
La pregunta fundamental: Generalización
La pregunta que separa a quienes entienden machine learning de quienes solo juegan con librerías es esta: ¿Por qué me importa el error en datos que nunca he visto?
Imagina que quieres predecir si un paciente tiene una enfermedad basándote en síntomas. Tienes datos históricos (X = síntomas, Y = diagnóstico confirmado). Ajustas un modelo a esos datos. Obtiene 99% de precisión en los datos de entrenamiento. ¿Significa que funcionará en pacientes nuevos? No necesariamente.
El problema: tu modelo podría haber memorizado los datos de entrenamiento en lugar de aprender el patrón subyacente. Si lo entrenaste demasiado bien en casos específicos, fallará en casos nuevos (aunque ligeramente diferentes). Esto es overfitting.
Lo opuesto también existe: underfitting. Tu modelo es tan simple que no captura ni siquiera los patrones verdaderos. Un modelo que predice siempre "enfermo" o siempre "sano" tiene bajo error en entrenamiento si la clase es desbalanceada, pero es inútil.
El objetivo real de machine learning no es minimizar error en entrenamiento. Es minimizar error en datos nuevos que no hemos visto. Eso es generalización.
Parte 2: Optimización y Funciones de Pérdida
¿Qué es una función de pérdida?
Una función de pérdida (loss function) mide qué tan mal predijo tu modelo. Formalizado:
Pero aquí viene lo crucial: la función de pérdida que elijas define qué "aprender" significa. No es neutral. Cada pérdida prioriza errores diferentes.
Tres funciones de pérdida comunes
1. Error Cuadrático Medio (MSE)
Penaliza errores grandes desproporcionadamente (porque eleva al cuadrado). Si predices precio de casa en $50 cuando es $100, error = 2500. Si predices $60 cuando es $100, error = 1600. La diferencia de 10 en predicción causa diferencia de 900 en pérdida.
Cuándo usarla: Regresión. Cuando errores grandes son muy malos (cálculos de ingeniería, física, finanzas). Cuando valores atípicos deben influir mucho.
Implicación ética: Al penalizar outliers fuertemente, el modelo intenta satisfacer todos, incluso casos raros. Pero también, si hay errores sistemáticos en grupos subrepresentados, MSE puede hacer que ignores ese sesgo por optimizar magnitud general.
2. Error Absoluto Medio (MAE)
Penaliza linealmente. Error de 10 cuesta 10 en pérdida, sin importar si es primer error o décimo. Más robusto a outliers que MSE.
Cuándo usarla: Cuando errores grandes importan menos relativamente (predicción de demanda, donde error 10% en un departamento y 10% en otro pesan igual). Cuando tienes muchos valores atípicos.
3. Entropía Cruzada (Cross-Entropy)
Diseñada para clasificación binaria. Y_i ∈ {0, 1} (real), Ŷ_i ∈ [0, 1] (probabilidad predicha).
Intuición: si predices 90% de probabilidad de "enfermo" pero el paciente está sano (Y=0), log(1 - 0.9) = log(0.1) ≈ -2.3, contribuye -2.3 a pérdida. Si predices 10% (Y=0), log(0.9) ≈ -0.1, casi nada. El modelo es severamente penalizado por estar confiado pero equivocado.
Cuándo usarla: Clasificación. Cuando necesitas probabilidades, no solo clases. Cuando confianza importa.
La pregunta política: ¿Qué optimizamos define qué valoramos
Aquí está el punto que raramente se enseña en cursos técnicos: elegir la función de pérdida es una decisión política.
Ejemplo: Predecir reincidencia criminal. Si usas MSE, penalizas errores grandes. Pero ¿qué es "error grande"? Predecir 70% de probabilidad cuando es 0% (inocente predicho como culpable) versus predecir 30% cuando es 100% (culpable predicho como inocente). Ambos errores cuadran a valores similares. MSE no distingue entre falso positivo y falso negativo.
Pero estos no son simétricamente malos. Condenar a un inocente es radicalmente peor que liberar a un culpable (aunque ambos son malos). Si tu función de pérdida no captura eso, tu modelo no puede.
Gradient Descent: El Algoritmo Fundamental
Una vez definida la pérdida L(θ), ¿cómo encontramos los parámetros θ óptimos? Gradient descent es el método más usado (con variaciones).
Intuición: el gradiente apunta en dirección de máximo aumento de pérdida. Si restas el gradiente, te mueves en dirección de máximo descenso. Repites hasta converger.
Learning Rate: El parámetro crítico
El learning rate η controla cuánto te mueves en cada iteración.
- η muy grande: Saltas sobre el óptimo, diverges. La pérdida puede crecer.
- η muy pequeño: Te mueves lentamente, necesitas millones de iteraciones. Computacionalmente caro. Además, puedes quedarte atrapado en mínimos locales.
- η justo: Converges rápido al óptimo (o cerca).
En la práctica, se usa "learning rate schedule" — comienzas con η grande, luego lo reducas. O algoritmos adaptativos como Adam que ajustan η automáticamente por parámetro.
Batch vs SGD vs Mini-batch
Hay tres variantes en cómo calculas el gradiente:
| Variante | Datos por paso | Velocidad | Ruido en gradiente | Uso típico |
|---|---|---|---|---|
| Batch | Todos los n datos | Lento (1 actualización/época) | Bajo (gradiente preciso) | Datasets pequeños (< 10k) |
| SGD | 1 dato | Rápido (n actualizaciones/época) | Alto (muy ruidoso) | Aprendizaje online, datasets masivos |
| Mini-batch | m datos (e.g., 32, 128) | Medio | Medio | Deep learning (estándar hoy) |
El gradiente calculado en mini-batch es una aproximación ruidosa del gradiente real (batch), pero eso es ventaja, no desventaja. El ruido actúa como regularizador — evita mínimos locales muy agudos. Por eso SGD y mini-batch a menudo generalizan mejor que batch.
Mínimos locales vs globales vs puntos de silla
En 1D, una función puede tener múltiples mínimos. Gradient descent no garantiza encontrar el global, solo un local. ¿Es un problema?
En alta dimensión (redes neuronales modernas tienen millones de parámetros), el panorama es diferente. La intuición sugiere: con muchas dimensiones, hay muchos mínimos locales malos. Pero empiricamente, eso no sucede. La mayoría de mínimos locales tienen pérdidas similares. El verdadero problema son los puntos de silla — puntos donde el gradiente es cero pero no es un mínimo (subida en algunas direcciones, bajada en otras). Pero algoritmos adaptativos (Adam, RMSprop) los evitan bien.
En conclusión: la estructura del landscape de optimización en alta dimensión es radicalmente diferente de 1D. No te preocupa demasiado mínimos locales malos. Te preocupa la velocidad de convergencia y si generalizas.
Conexión con Inteligencia Colectiva
Parte 3: El Tradeoff Bias-Varianza
La descomposición fundamental
Uno de los insights más profundos del machine learning es que el error de un modelo se descompone en tres términos:
Esta fórmula (formalizada por Geman & Bienenstock en 1992) es la piedra angular para entender generalización. Veamos cada término.
Sesgo (Bias): Error sistemático por simplificación
El sesgo es el error que cometes porque tu modelo es demasiado simple para la realidad. Imagine que los datos siguen una curva sinusoidal:
Y = sin(X) + ruido
Pero tu modelo solo puede hacer líneas rectas: Y = a·X + b. Sin importar cuántos datos tengas o cuánto entrenes, nunca podrás capturar la ondulación. Hay un error sistemático. Ese es sesgo alto.
El sesgo es una propiedad de la familia de modelos que elegiste, no de los datos de entrenamiento. Si cambias a un modelo que puede hacer polinomios, el sesgo baja.
Varianza: Sensibilidad a fluctuaciones en datos de entrenamiento
La varianza es cuánto cambia tu modelo si entrenas en datasets distintos (pero del mismo origen). Si tu modelo es muy flexible, pequeñas diferencias en datos generan modelos muy diferentes.
Ejemplo: ajusta un polinomio de grado 15 a 20 puntos. Pequeños cambios en cuáles 20 puntos muestreo generan curvas completamente distintas. Eso es varianza alta.
En contraste, una línea recta (polinomio grado 1) es robusta. Cambies los datos como cambies, la línea no se tuerce dramáticamente. Eso es varianza baja.
El gráfico clásico: U-Shape de error
El tradeoff bias-varianza se visualiza así:
Error de Test
^
| Overfitting
| (High Variance)
| ___/
|___/ Sweet Spot
| (Balance)
|___\
| \___
| Underfitting (High Bias)
|_____________________> Complejidad del Modelo
Grado 1 Grado 3 Grado 5 Grado 15
(Línea) (Curva) (Mejor) (Overfitting)
El eje X es complejidad del modelo (polinomio grado, número de capas en red neuronal, inverso de regularización).
- Izquierda (underfitting): Modelo muy simple. Alto sesgo. Error de entrenamiento y test son ambos altos.
- Centro (sweet spot): Modelo justo. Bajo sesgo y varianza. Error mínimo.
- Derecha (overfitting): Modelo muy complejo. Bajo sesgo, pero alta varianza. Error de entrenamiento baja, pero error de test es alto.
Train error vs Test error: El diagnóstico
Mirando error de entrenamiento vs test dices dónde estás en el U:
| Train Error | Test Error | Diagnóstico | Solución |
|---|---|---|---|
| Alto | Alto | Underfitting (High Bias) | Modelo más complejo, más features, entrenar más |
| Bajo | Alto | Overfitting (High Variance) | Regularización, más datos, modelo más simple, dropout |
| Bajo | Bajo | Buen ajuste (Generaliza bien) | ¡Nada! Satisfecho con el modelo. |
Regularización: El mecanismo para controlar varianza
Si detectas overfitting, necesitas reducir varianza. Regularización es penalizar modelos complejos. Adds un término a la función de pérdida:
Donde λ controla cuánto penalizas complejidad. Hay dos tipos principales:
L2 Regularization (Ridge)
Penaliza todos los parámetros por ser grandes. El efecto: todos los parámetros se encogen hacia cero, pero ninguno desaparece completamente. Útil cuando crees que todos los features son relevantes, pero algunos demasiado grandes.
L1 Regularization (Lasso)
Penaliza valor absoluto. El efecto: muchos parámetros se vuelven exactamente cero. Es como decir "algunos features son completamente irrelevantes." Útil para feature selection automática.
En la práctica: comienza sin regularización. Si overfitseas, añade L2. Si quieres saber qué features importan, usa L1. O usa Elastic Net (combinación de ambas).
Validación Cruzada: Estimación honesta del error
Aquí viene un problema: si divides datos en "train" y "test," hay un grado de libertad. ¿Qué si elegiste "test" que coincide muy bien con tu modelo por coincidencia? Reportarías error bajo que no es realista.
Solución: k-fold cross-validation (k=5 o 10 típicamente).
- Divide los datos en k folds (5 o 10 subconjuntos disjuntos).
- Itera: En cada iteración i, usa fold i como test y los otros k-1 como train.
- Calcula error en cada iteración.
- Reporta promedio de k errores.
Ventaja: cada dato se usa como test exactamente una vez, y como train k-1 veces. Estimación de error más honesta. Desventaja: 5-10 veces más computación.
En datasets desbalanceados (e.g., 95% clase A, 5% clase B), usa stratified k-fold — asegura que cada fold tenga la misma proporción de clases que el dataset original.
Conexión con Inteligencia Colectiva: Diversidad-Precisión
Parte 4: Clasificación y Fronteras de Decisión
¿Qué es clasificación?
Clasificación es el problema de predecir una categoría discreta. Ejemplos:
- ¿Es email spam o no spam? (Binaria)
- ¿Es paciente sano, con diabetes tipo 1, tipo 2? (Multiclase)
- ¿Es imagen gato, perro, pájaro, etc.? (Multiclase)
A diferencia de regresión (predecir número continuo), clasificación predice categoría. Geométricamente, el modelo aprende una frontera que separa clases en el espacio de features.
Regresión Logística: Frontera lineal simple
A pesar del nombre ("logística"), es un clasificador, no regresor. Usa función logística (sigmoid):
Intuición: transforma combinación lineal de features en probabilidad entre 0 y 1.
- Si w·X + b es muy negativo → sigmoid ≈ 0 → predice clase 0 (baja probabilidad clase 1)
- Si w·X + b es cero → sigmoid = 0.5 → probabilidad igual de ambas clases
- Si w·X + b es muy positivo → sigmoid ≈ 1 → predice clase 1 (alta probabilidad)
La frontera de decisión (donde probabilidad = 0.5) es donde w·X + b = 0, una línea (en 2D) o hiperplano (en alta dimensión). Por eso logística produce fronteras lineales.
Ventajas: Interpretable. Coeficiente w_i dice cuánto feature i afecta log-odds. Rápido de entrenar y predicción. Buena baseline.
Desventajas: Solo fronteras lineales. Si datos no son linealmente separables, error será alto.
Support Vector Machines (SVM): Margen máximo
SVM busca la frontera que mejor separa clases con máximo margen (distancia a puntos más cercanos de cada clase).
La idea: si hay espacio entre clases, una frontera "centrada" (máximo margen) generaliza mejor que una que apenas toca puntos de una clase.
SVM introduce parámetro C:
- C grande: Penaliza violaciones de margen fuertemente. Frontera se ajusta a entrenamiento, riesgo overfitting.
- C pequeño: Permite más violaciones. Frontera más suave, menos varianza.
SVM también include "kernel trick": transforma features no linealmente (implícitamente) sin calcular la transformación explícitamente. Kernels comunes:
- Linear: Sin transformación. Frontera lineal.
- Polynomial: Y ≈ (X·X' + 1)^d. Frontera polinómica.
- RBF (Radial Basis Function): Exp(-γ ||X - X'||²). Fronteras complejas, locales. Muy flexible.
k-Nearest Neighbors (kNN): Clasificación local
kNN es algoritmo extremadamente simple: para clasificar un punto nuevo X, busca los k puntos de entrenamiento más cercanos. Asigna la clase más común entre esos k.
No hay "entrenamiento" explícito — solo memorizas datos. En predicción, calculas distancia a todos los puntos de entrenamiento.
Parámetro k controla complejidad:
- k = 1: Frontera muy compleja, wiggly. Overfitting. Varianza alta.
- k = número de datos: Todos tienen peso igual. Frontera suavísima, sesgo alto.
- k = 5 o 10: Típicamente buen balance.
Ventajas: Simple. Funciona en cualquier escala (número de dimensiones). No hace suposiciones sobre forma de frontera.
Desventajas: Lento en predicción (busca en todos los puntos de entrenamiento). Sufre con alta dimensionalidad ("curse of dimensionality" — con muchos features, todos los puntos están lejos).
Métricas de evaluación: Más allá de "accuracy"
Accuracy es fracción de predicciones correctas. Pero es engañosa cuando clases están desbalanceadas.
Ejemplo: 99% de emails son legítimos, 1% spam. Un clasificador que predice "siempre legítimo" tiene 99% accuracy pero es inútil. Nunca detecta spam.
Mejor es usar matriz de confusión:
| Realidad | |||
|---|---|---|---|
| Positivo | Negativo | ||
| Predicción | Positivo | TP (True Positive) | FP (False Positive) |
| Negativo | FN (False Negative) | TN (True Negative) | |
Métricas derivadas:
Ejemplo concreto: detección de enfermedad rara (prevalencia 1%).
- Modelo A: Predice positivo solo cuando muy seguro. 95% precision, 40% recall. Pocos falsos positivos. Muchos pacientes enfermos se van sin diagnóstico.
- Modelo B: Predice positivo liberalmente. 50% precision, 90% recall. Muchos sanos diagnosticados como enfermos (pero pueden hacer test confirmatorio). Pocas enfermedades se pierden.
¿Cuál elegir? Depende del costo relativo. Modelo B si test es caro pero diagnóstico tardío es catastrófico. Modelo A si test confirmatorio es fácil.
Curva ROC y AUC
Algunos clasificadores (como regresión logística) producen scores continuos (probabilidades), no solo clases discretas. Puedes ajustar un threshold: si P(Y=1) > threshold, predice 1.
Changing threshold cambia precision-recall. Curva ROC (Receiver Operating Characteristic) muestra el tradeoff.
True Positive Rate (Recall) ^ | / |/ +--------> False Positive Rate Esquina superior-izquierda = modelo ideal (high TPR, low FPR) Diagonal = modelo random
AUC (Area Under the Curve) resume: fracción del área bajo la curva ROC. Ranges 0 a 1. AUC = 0.5 es random. AUC > 0.9 es excelente.
Parte 5: Redes Neuronales
La neurona artificial: Unidad básica
Una neurona artificial es una pequeña función:
Donde:
- x_i = inputs (features o salidas de neuronas previas)
- w_i = weights (parámetros que se aprenden)
- b = bias (offset que se aprende)
- activation = función no-lineal (sigmoid, tanh, ReLU, etc.)
Intuición: suma ponderada de inputs (como en regresión logística), luego aplica función no-lineal. La no-linealidad es crucial — sin ella, sumar neuronas lineales es equivalente a una neurona lineal. No agregarías poder expresivo.
Funciones de activación
| Activación | Fórmula | Rango | Nota |
|---|---|---|---|
| Sigmoid | 1 / (1 + e^(-x)) | (0, 1) | Histórica. Desvanecimiento gradiente (vanishing gradient). |
| Tanh | (e^x - e^(-x)) / (e^x + e^(-x)) | (-1, 1) | Mejor que sigmoid. Centrada en cero. Aún vanishing gradient. |
| ReLU | max(0, x) | [0, ∞) | Estándar hoy. Rápido computacionalmente. Sin vanishing gradient. |
| Leaky ReLU | x si x > 0, else αx (α pequeño, e.g., 0.01) | (-∞, ∞) | ReLU mejorado. Evita "neurona muerta" (neuron que siempre output 0). |
¿Por qué ReLU ganó?
En los 2010s, ReLU se convirtió en estándar porque:
- Vanishing Gradient Problem: En sigmoid/tanh, derivada es pequeña fuera del centro. En redes profundas (muchas capas), gradient se multiplica por derivadas pequeñas, exponencialmente hacia cero. Backprop casi no actualiza pesos en capas tempranas. ReLU tiene derivada 1 en región positiva, evita este problema.
- Computacionalmente eficiente: ReLU es solo max(0, x). Sigmoid/tanh requieren exponenciales (costoso).
- Mejor generalización empíricamente: Redes con ReLU entrenan más rápido y generalizan mejor.
Arquitectura de redes: Capas y profundidad
Una red neuronal es un grafo de neuronas organizadas en capas:
Input Layer (28×28 píxeles de imagen) → 784 inputs
|
↓
Hidden Layer 1 (128 neuronas, ReLU)
|
↓
Hidden Layer 2 (64 neuronas, ReLU)
|
↓
Output Layer (10 neuronas, softmax) → Probabilidad de cada digit
Cada conexión tiene un peso. Si Input=784, Hidden1=128, entonces Input→Hidden1 tiene 784×128 ≈ 100k pesos. Red profunda rápidamente tiene millones de parámetros.
¿Cuántas capas y neuronas?
Históricamente se creía que 1 capa oculta era suficiente (Universal Approximation Theorem: una capa oculta puede aproximar cualquier función continua). Pero puede necesitar un número impracticable de neuronas.
En la práctica: redes profundas (muchas capas) generalizan mejor aunque tengan menos parámetros totales. Cada capa aprende representaciones más abstractas. Primeras capas detectan bordes, capas intermedias detectan formas, capas finales detectan conceptos semánticamente significativos (en visión).
Guía heurística:
- Comienza con 1-2 capas ocultas, 32-128 neuronas por capa.
- Si underfitting (error de train bajo, test alto), reduce regularización o aumenta complejidad.
- Si overfitting, añade regularización (dropout, L2) o reduce complejidad.
Backpropagation: Cómo se aprenden los pesos
Backpropagation es aplicación de regla de cadena (chain rule) hacia atrás a través de la red para calcular ∇L respecto a todos los pesos.
Algoritmo:
- Forward pass: Pasa datos a través de la red, calcula output y pérdida L.
- Backward pass: Comienza desde pérdida. Para cada parámetro θ, calcula ∂L/∂θ usando regla de cadena.
- Update: θ ← θ - η × ∂L/∂θ (gradient descent).
La regla de cadena es la clave. Si Loss depende de Hidden2, Hidden2 depende de Hidden1, Hidden1 depende de Input, entonces:
Backprop calcula esto eficientemente en O(parámetros), no exponencial. Sin backprop, entrenar redes profundas sería prohibitivamente caro.
Capas especiales y regularización
Dropout
Durante entrenamiento, apaga aleatoriamente fracción (típico 50%) de neuronas. Equivale a entrenar muchos sub-networks en paralelo. En predicción, usas la red completa (con factor de escala). Efecto: reduce co-adaptación de neuronas, mejora generalización.
Batch Normalization
Normaliza inputs a cada capa para tener media 0 y desviación estándar 1. Beneficios:
- Estabiliza entrenamiento (learning rate menos sensible).
- Permite learning rates más altos.
- Actúa como regularizador.
Early Stopping
Monitorea error en validation set durante entrenamiento. Si error de validation empieza a crecer (overfitting), detiene entrenamiento. Simple pero efectivo.
Deep Learning: Revolución en visión y lenguaje
Convolutional Neural Networks (CNN)
En lugar de conectar cada neurona de input a todas en hidden layer (fully connected), usa capas convolucionales: pequeñas ventanas que se deslizan sobre imagen, compartiendo pesos.
Beneficios:
- Invariancia espacial: Si objeto se desplaza, red sigue detectándolo.
- Menos parámetros: Compartir pesos reduce parámetros drasticamente.
- Jerarquía: Primeras capas detectan bordes, luego texturas, luego partes, finalmente objetos.
CNNs revolucionaron visión por computadora. ImageNet 2012: Alex Krizhevsky et al. ganaron con CNN, reduciendo error significativamente. El "deep learning winter" terminó.
Recurrent Neural Networks (RNN) y Transformers
Para secuencias (texto, series de tiempo), feedforward networks no capturan dependencias temporales. RNNs tienen conexiones recurrentes: output de un timestep es input del siguiente, creando "memoria."
Problema: vanishing gradient aún más severo (multiplicarse por derivadas pequeñas en múltiples timesteps). LSTM (Long Short-Term Memory, 1997) lo resolvió con "memory cells" y compuertas. LSTMs entrenan redes mucho más profundas en dimensión temporal.
Transformers (Vaswani et al., 2017) reemplazaron RNNs: usan mecanismo de "self-attention" en lugar de recurrencia. Permite paralelización, mejora escalabilidad. GPT y BERT son basados en Transformers. Revolucionaron procesamiento de lenguaje natural.
Universal Approximation y sus límites
Teorema (Cybenko, 1989): Una red neuronal con una capa oculta y suficientes neuronas puede aproximar cualquier función continua en conjunto compacto.
Pero "suficientes" puede ser exponencial en número de inputs. En práctica, necesitas múltiples capas para representación eficiente.
Además, universal approximation no dice nada sobre:
- Generalization: ¿Aproxima función subyacente o solo memoriza datos?
- Trainability: ¿Puedes encontrar esos pesos mediante gradient descent?
- Interpretability: ¿Entiendes qué aprende la red?
Entonces: Universal Approximation es teórico. En práctica, importan mucho el diseño, arquitectura, regularización.
Parte 6: Sesgos Algorítmicos y Justicia Computacional
Taxonomía de sesgos en ML
"Sesgo algorítmico" tiene múltiples fuentes. Las principales:
1. Sesgo en datos de entrenamiento
El modelo aprende patrones que existen en datos históricos. Si datos reflejan discriminación pasada, el modelo perpetúa (o amplifica) esa discriminación.
Ejemplo: datos históricos de contratación donde mujeres fueron contratadas menos (porque había sexismo entonces). Red neuronal entrenada en esos datos aprenderá a discriminar contra mujeres.
2. Sesgo en variable objetivo
Si la etiqueta que intentas predecir está sesgada, el modelo hereda ese sesgo.
Ejemplo: predicción de reincidencia criminal. Datos históricos dicen quién reincidió. Pero datos no capturan: (a) que policía arrestó más frecuentemente a personas de raza negra por mismos crímenes, (b) que registros criminal reflejan eso. Modelo entrenado en esos datos aprenderá correlación raza-reincidencia, aunque causal es arresto selectivo, no predisposición.
3. Sesgo en features (variables proxy)
Aun si evitas usar raza directamente, otros features pueden ser "proxies" para raza.
Ejemplo: ZIP code correlaciona con raza (segregación residencial). Si usas ZIP en modelo de evaluación crediticia, indirectamente discriminas por raza.
4. Sesgo de representación
Dataset no representa población completa. Algunos grupos subrepresentados. Modelo generaliza peor para esos grupos.
Casos de estudio: Cuando ML falló
Caso 1: COMPAS (2016)
Contexto: COMPAS (Correctional Offender Management Profiling for Alternative Sanctions) es software usado en cortes de EE.UU. para predecir riesgo de reincidencia. Información usada para decisiones de libertad condicional, sentencing.
Investigación (ProPublica, 2016): Analizaron 7,214 defendidos en Broward County, Florida. Compararon predicción vs realidad 2 años después.
Hallazgo:
- Tasa falsa positiva (predicho reincide pero no reincide): 45.2% para defendidos negros vs 23.5% para blancos.
- En otras palabras: personas negras inocentes son marcadas como alto riesgo 2x más frecuentemente que personas blancas inocentes.
- Opuesto: 34% falsos negativos para negros vs 48% para blancos (menos personas negras predichas como bajo riesgo que realmente reinciden).
Respuesta de Northpointe (creadores): La precisión general es similar. Sesgo es artefacto de desbalance: hay más reincidencia entre negros (tasa base más alta). Calibración es igual (si digo 70%, es 70% para todos).
La paradoja de Chouldechova (2017): Aquí viene insight profundo. Si dos grupos tienen diferentes tasas base de reincidencia, es matemáticamente imposible tener simultáneamente:
- Calibración por grupo (P(reincide | score=0.7) = 0.7 para ambos grupos)
- Tasa falsa positiva igual entre grupos
- Tasa falsa negativa igual entre grupos
Puedes tener dos, pero no las tres. Es tradeoff matemático, no artefacto computacional arreglable.
Implicación ética: La pregunta es política: ¿qué desigualdad estamos dispuestos a tolerar? Si permitimos calibración desigual, podríamos tener igualdad en tasas de error. Si insistimos en tasas de error iguales, sacrificamos calibración.
Caso 2: Gender Shades (Buolamwini & Gebru, 2018)
Contexto: Tres sistemas comerciales de reconocimiento facial: Microsoft Face API, IBM Watson, Google Cloud Vision. Se probaban en 1,270 imágenes balanceadas por género y tono de piel (oscuro/claro).
Hallazgo específico:
- Microsoft: Error 0.8% para hombres de piel clara vs 20.8% para mujeres de piel oscura. Diferencia de 25x.
- IBM: 0.7% vs 34.7% (cerca de 50x).
- Google: Error bajo en general, pero aún peor para piel oscura y mujeres.
¿Por qué? Hipótesis: datasets de entrenamiento de estas empresas tenían más imágenes de hombres blancos (sesgo de representación). Las redes neuronales sobreparameterizadas memorizan caras de grupos mayoritarios, generalizan mal a grupos raros.
Implicación: Estos sistemas se despliegan en aplicaciones sensibles: aeropuertos, vigilancia policial. Error 30% en cierto grupo = inocentes identificados como buscados. Libertad civil atacada.
Caso 3: Amazon Hiring Tool (2015)
Contexto: Amazon desarrolló sistema automático de screening de CVs para posiciones de ingeniería. Entrenado en 10 años de CVs de personas contratadas (mayoría hombres en tech).
Hallazgo: Sistema sistemáticamente penalizaba CVs de mujeres. Explícitamente: si incluías "women's" (e.g., "president of women's chess club"), score bajaba.
¿Por qué? Correlación en datos: en tech, históricamente más hombres. Modelo aprendió: "mujer" ≈ "menos probable que sea buena ingeniera." Correlación espuria, pero estadísticamente presente en datos históricos sesgados.
Respuesta: Amazon descontinuó herramienta (2018). Imposible "desbiasear" porque sesgo estaba en los datos subyacentes. Solución real: cambiar procesos de contratación, diverse hiring.
¿Qué es "justicialidad" en ML?
Hay múltiples definiciones, a menudo conflictivas.
Igualdad de oportunidad (Equalized Odds)
Tasa de verdadero positivo (recall) igual entre grupos. Si sistema detecta enfermedad con 90% recall para blancos, también debe detectar con 90% para negros.
Problema: requiere diferentes umbrales de decisión por grupo, lo que es éticamente controversial (trato diferente formalmente).
Paridad demográfica (Demographic Parity)
Distribución de predicción igual entre grupos. Si 10% de blancos son predichos "aprobado," 10% de negros también.
Problema: puede divergir dramáticamente de realidad si tasas base son distintas.
Calibración
Probabilidades predichas significan mismo en todos los grupos. Si digo "70% de probabilidad," es 70% para todos.
Problema: como Chouldechova mostró, incompatible con otras métricas si tasas base difieren.
Rudin (2019): Stop Explaining Black Box Models
Cass Rudin publicó influyente crítica (Nature Machine Intelligence, 2019) titulada "Stop Explaining Black Box Machine Learning Models for High Stakes Decisions."
Argumento central: en aplicaciones de alto riesgo (medicina, criminal justice, préstamos), usar modelos complejos (deep learning) es éticamente problemático, incluso si puedes explicarlos después (con LIME, SHAP).
¿Por qué?
1. Las explicaciones son aproximaciones, no verdaderas. LIME y SHAP explican comportamiento local del modelo. No dicen por qué arquitectura neuronal específica fue elegida o cómo hiperparámetros afectan predicción. Son post-hoc, nunca completas.
2. El modelo mismo puede ser injusto. Si datos de entrenamiento son sesgados, explicar sesgo no lo arregla. Explicar por qué un modelo discrimina no es justificación.
3. Alternativa: modelos interpretables por diseño. Árboles de decisión, modelos lineales aditivos, reglas. Transparentes. Si lineal: coeficientes explican directamente influencia de features. Si árbol: hoja es explicación (si feature A > x y feature B < y, entonces clase C).
Ejemplo: Crédito
Modelo black box (neural net) predice si aprobar préstamo con 90% accuracy. Usas LIME para explicar: "feature X era importante." Pero cliente (o regulador) pregunta: ¿por qué se rechazó mi préstamo?
LIME dice: "porque tu score de crédito fue bajo." Pero eso es circulación. ¿Qué feature específico importaba? ¿Era edad (discriminación etaria)? ¿Raza via proxy?
Modelo interpretable (árbol o reglas): "Si score < 600 y edad < 25, rechazar." Explícito. Puedes auditar. Puedes argumentar es injusto y cambiarlo.
O'Neil (2016): Weapons of Math Destruction
Cathy O'Neil ("Weapons of Math Destruction") identifica tres características que hacen un algoritmo una "WMD" (arma):
1. Opacidad
No puedes entender cómo funciona. Black box. Propietarios mantienen secreto (competitive advantage).
2. Escala
Afecta millones de personas, no cientos. Pequeños sesgos se amplifican a escala.
3. Feedback loops destructivos
Predicción se usa para tomar decisión, decisión genera datos nuevos, datos nuevos refuerzan predicción original. Bucle que se autoperpetúa.
Ejemplo: Evaluación de Maestros (VAM)
Value-Added Model intenta medir contribución de maestro al aprendizaje estudiantil.
Opacidad: Fórmulas complejas, ajustes estadísticos. Maestros no entienden cómo son evaluados.
Escala: Decisiones de carreras: firing, promotion, salario. Millones de maestros en EE.UU.
Feedback loop: Maestro evaluado bajo por VAM (aunque culpa es exógena: pobreza estudiantil, falta de recursos). Maestro es fired. Escuela pierde buen maestro. Estudiantes aprenden menos. Siguiente cohorte evaluada baja. Espiral descendente.
Sesgos en sistemas de vigilancia y detección de delitos
Muchos departamentos de policía usan PredPol, HunchLab, etc. para predecir dónde ocurrirán crímenes (hotspotting).
Sesgo: datos de entrenamiento = arrestos históricos. Pero arrestos no = crímenes. Sesgo policial en patrullaje genera arrestos sesgados, que genera datos sesgados.
Sistema aprende: "este barrio (mayoría negra, pobre) tiene crimen alto." Predice: aumenta patrullaje ahí. Más arrestos en ese barrio. Datos refuerzan predicción. Feedback loop destructivo.
Paths hacia justicia: Mitigación práctica
No hay solución única. Pero prácticas que reducen riesgo:
- Auditoría de datos: Analizar representación de grupos en datos. Identificar gaps.
- Interpretabilidad: Preferir modelos simples (lineales, árboles) cuando posible.
- Fairness constraints: Entrenar con restricciones explícitas (e.g., "tasa falso positivo ≤ 10% en todos los grupos").
- Diverse teams: Equipos con backgrounds distintos notan sesgos que homogeneous teams no ven.
- Domain expertise: Involucrar expertos (trabajadores sociales, abogados, affected communities) en diseño.
- Transparency: Publicar datasets, documentar decisiones de diseño. Permitir auditoría externa.
Parte 7: Resúmenes de Fuentes Primarias
ISLR (James et al., 2023) — Statistical Learning
Referencia: James, G., Witten, D., Hastie, T., & Tibshirani, R. (2023). An Introduction to Statistical Learning (2nd ed.). Springer. Gratuito en statlearning.com
ISLR es estándar de oro para aprender machine learning a nivel introductorio-intermedio. Combina rigor matemático con accesibilidad pedagógica.
Capítulos Clave (para este bloque):
- Capítulo 2 (Statistical Learning): Define variable respuesta, features, training/test error. Bias-varianza. Underfitting/overfitting. Flexibilidad modelo.
- Capítulo 3 (Linear Regression): Mínimos cuadrados. Extensiones: polynomial, interactions. R² y RSE como medidas de fit.
- Capítulo 4 (Classification): Logistic regression, LDA, QDA, kNN. Confusion matrix, ROC curves, AUC.
- Capítulo 5 (Resampling): Cross-validation (k-fold), bootstrap. Estimación honesta de error.
- Capítulo 6 (Linear Model Selection): Subset selection, Ridge, Lasso, Elastic Net. Regularización en acción.
- Capítulo 10 (Deep Learning): Redes neuronales. Backpropagation. CNNs. RNNs. Transformers.
Conclusiones centrales: No hay un "mejor" algoritmo. Tradeoff entre interpretabilidad y poder predictivo. Validación cruzada es esencial. Regularización previene overfitting. Simplicidad cuando funciona.
Deep Learning (Goodfellow, Bengio, Courville, 2016)
Referencia: Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. 800 páginas, cobertura exhaustiva.
Valor pedagógico:
Único libro que cubre deep learning con profundidad matemática sin ser solo colección de papers. Cada capítulo bien escrito.
Capítulos Clave:
- Parte 1 (Applied Math): Linear algebra, probability, optimization. Fundamentos.
- Capítulo 6 (Deep Feedforward Networks): Arquitecturas. Backpropagation. Training. Vanishing gradients.
- Capítulo 9 (Convolutional Networks): Motivación. Operación de convolución. Architecturas (AlexNet, VGG, ResNet conceptualmente).
- Capítulo 10 (RNNs): Unrolling. Vanishing gradient en RNNs. LSTMs. GRUs.
- Capítulo 11 (Practical Methodology): Debugging networks. Hiperparámetros. Arquitecturas. Dataset size.
- Capítulo 12 (Applications): Computer vision, speech recognition, NLP.
Advertencia: Libro es técnico. Se asume cálculo, álgebra lineal, probabilidad.
O'Neil (2016) — Weapons of Math Destruction
Referencia: O'Neil, C. (2016). Weapons of Math Destruction: How Big Data Increases Inequality and Threatens Democracy. Crown Publishers. 300 páginas, accesible público general.
Tesis: Algoritmos automatizados, entrenados en datos históricos sesgados, perpetúan y amplifican desigualdad. Algunos sistemas (WMDs) son especialmente dañinos: opacos, escalables, con feedback loops.
Casos estudiados:
- VAM (Value-Added Models): Evaluación de maestros. Opaco. Carrera maestros en juego. Sesgo por composición socioeconómica de estudiantes.
- Risk prediction (COMPAS, etc.): Reincidencia criminal. Datos sesgados por arrestos selectivos.
- Resume screening: Sistemas de hiring autónomo. Memorización de datos históricos (discriminación pasada).
- Insurance pricing: Algoritmos de seguros basados en zip code = discriminación por raza indirecta.
- Credit scoring: Scores que afectan acceso a crédito. Opacos. Consecuencias económicas severas.
Conclusión: Algoritmos no son objetivos. Son codificaciones de valores. Si codificas valores sesgados (asumiendo datos históricos), obtienes sistemas sesgados. Solución: transparencia, diverse teams, auditoría.
Buolamwini & Gebru (2018) — Gender Shades
Referencia: Buolamwini, B., & Gebru, T. (2018). Gender shades: Intersectional accuracy disparities in commercial gender classification. In Conference on Fairness, Accountability and Transparency (pp. 77-91). PMLR.
Metodología: Crearon dataset balanceado (1,270 imágenes) de hombres y mujeres, oscuros y claros de piel. Testaron 3 APIs comerciales (Microsoft, IBM, Google) en clasificación de género.
Hallazgos específicos:
- Microsoft: 99.3% accuracy (hombres claros) vs 79.2% (mujeres oscuras). Error aumenta 20%.
- IBM: 99.3% vs 65.3%. Error aumenta 34%.
- Google: error más bajo general, pero aún peor para piel oscura.
Explicación: Datasets de entrenamiento (ImageNet, COCO, etc.) están dominados por caras blancas, masculinas. Redes neuronales sobreparameterizadas memorizan esa distribución. Generalizan mal a minoridades.
Implicación ética: Sistemas desplegados en frontera, vigilancia, fintech con estas tasas de error discriminan sistemáticamente. Personas oscuras son falso identificadas como criminales. Acceso a crédito negado erróneamente.
Solución sugerida: Balanced datasets. Regular evaluation on underrepresented groups. Transparency.
Rudin (2019) — Stop Explaining Black Box Models
Referencia: Rudin, C. (2019). Stop explaining black box machine learning models for high stakes decisions and use interpretable models instead. Nature machine intelligence, 1(5), 206-215.
Tesis central: En aplicaciones de alto riesgo, es éticamente insostenible usar deep learning y explicar post-hoc. Deber usar modelos interpretables por diseño.
Argumentos:
- Explicaciones no son verdades. LIME, SHAP explican predicciones pero no cómo modelo fue entrenado, qué datos usó, sesgos en datos. Post-hoc racionalizaciones.
- Modelos complejos heredan sesgos sin transparencia. Si datos son sesgados, deep learning amplifica. Explicaciones no arreglan sesgo fundamental.
- Alternativa disponible. Modelos interpretables (árboles, reglas, lineales) tienen bajo error en muchas aplicaciones. Sacrificar poco en accuracy por ganancia en transparencia.
- Requisito legal y ético. En GDPR, CCPA, tienes derecho de explicación. Post-hoc no suficiente.
Ejemplos concretos:
- Medicina: Árboles de decisión para diagnóstico (e.g., "si síntoma A y edad > 40, probable cáncer de próstata") es más útil que deep learning que no explica.
- Justicia criminal: Árbol transparente (si score > X, alto riesgo) permite auditoría. COMPAS black box no.
- Finanzas: Modelo lineal (score = 0.5×ingreso + 0.3×historial_crédito - 0.1×edad) explica explícitamente. Cliente entiende por qué rechazado.
Chouldechova (2017) — Impossibility of Fairness
Referencia: Chouldechova, A. (2017). Fair prediction with disparate impact: A study of bias in recidivism prediction instruments. Big data, 5(2), 153-163.
Contribución: Prueba matemáticamente que si dos poblaciones tienen diferentes tasas base (e.g., diferentes tasas de reincidencia), no puedes simultáneamente:
- Igualar tasa de falsos positivos entre grupos
- Igualar tasa de falsos negativos entre grupos
- Mantener calibración igual (P(reincide | score) = P(reincide | score) para ambos grupos)
Prueba intuitiva: Si grupo A tiene tasa base 40% y grupo B 20%, y quieres igualar false positive rates (% de inocentes predichos culpables), necesitarías diferentes umbrales. Pero diferentes umbrales = calibración desigual.
Implicación para COMPAS: Debate ProPublica vs Northpointe fue sobre cuál métrica de justicia priorizar. No había "victoria" técnica porque imposible satisfacer ambos.
Conclusión ética: Justicia en ML no es problema técnico puro. Es político. Requiere elegir qué desigualdad tolerar. Esa elección debe ser consciente y transparente.
Hastie, Tibshirani & Friedman — Bias-Varianza Formalization
Referencia: Hastie, T., Tibshirani, R., & Friedman, J. (2009). The elements of statistical learning: data mining, inference, and prediction (2nd ed.). Springer. 745 páginas, técnico.
Contribución más famosa: Capítulo 7 (Model Complexity) formaliza decomposición bias-varianza. Gráfico U clásico viene de aquí.
Ecuación clave (simplificada):
El libro también introduce concepto de "effective degrees of freedom" para modelos regularizados, permitiendo comparación consistente de modelos con diferentes penalizaciones.
Parte 8: Conexiones con el Resto del Curso
Machine Learning ↔ Inteligencia Colectiva
Hay paralelismos profundos entre cómo grupos humanos toman buenas decisiones y cómo ML generaliza bien.
Ensambles de modelos como grupos
En Bloque 1, Surowiecki demostró que grupos diversos generalizan mejor que individuos. En ML, ensemble methods hacen exactamente eso: entrenan múltiples modelos (ligeramente distintos), luego promedian predicciones.
Random Forest (ensemble de árboles de decisión) generaliza mejor que un árbol único, aunque cada árbol individual es imperfecto. Votación de múltiples modelos reduce varianza, como voting en grupo reduce varianza de estimaciones.
Funciones de pérdida como agregación
En Bloque 1, la función de agregación (cómo se combinan votos) define si grupo es inteligente. En ML, la función de pérdida define lo mismo.
Si usas Mean Squared Error, penalizas errores grandes desproporcionadamente. Si usas Mean Absolute Error, errores se pesan linealmente. Si usas Cross-Entropy, penalizas confianza incorrecta. Cada una codifica valores distintos.
Análogamente, democracia directa (voto simple) agregación distinta que ponderada (voto por expertos). La agregación define el resultado.
Bias-Varianza y diversidad-precisión
Scott Page ("The Difference," 2007) mostró tradeoff: grupos homogéneos (bajo variance) pueden tener sesgo colectivo alto (todos equivocados en mismo sesgo). Grupos diversos (alto variance) cancelan sesgo pero alto variance individual.
Exacto paralelo en ML: underfitting (sesgo alto) vs overfitting (varianza alta).
Machine Learning ↔ Inteligencia Híbrida (Human-AI)
El Bloque 3 explora cómo humanos y máquinas colaboran. ML crea la máquina que colabora.
Sesgo de automatización (Automation Bias)
Humanos tienden a confiar excesivamente en recomendaciones automatizadas. Si modelo ML dice "aprobado," humano vota sí, incluso con evidencia contraria.
En sistemas híbridos, ML provee recomendación, humano toma decisión final. Pero humano puede demasiado confiar en ML (automation bias) u ignorar ML completamente (algorithm aversion). Balance es crítico.
Anclaje algorítmico
Recomendación inicial (del algoritmo) ancla el juicio humano. Incluso si humano intenta ignorar, recomendación influencia inconscientemente.
Importancia: en sistemas de screening (hiring, medicina, finanzas), recomendación algoritmo es poderosa. Si sesgada, contamina decisión humana.
Machine Learning ↔ Complejidad
Complejidad (Bloque 4+) estudia sistemas con muchas partes interactivos, comportamiento emergente. Redes neuronales profundas son sistemas complejos.
Emergencia en redes neuronales
Capas tempranas de red convolucional detectan bordes (comportamiento simple). Capas intermedias detectan texturas (emergencia de patrón). Capas finales detectan objetos semánticamente significativos (emergencia de concepto).
Comportamiento emergente: ninguna neurona individual "entiende" objeto. Pero colección de neuronas, interactuando, produce concepto emergente.
No-linealidad y caos
Funciones de activación no-lineales (ReLU, sigmoid) crean landscape no-lineal de optimización. Pequeños cambios en datos pueden producir cambios grandes en parámetros aprendidos. Sensibilidad a condiciones iniciales.
Pero esto es también por qué redes neuronales son flexibles: no-linealidad permite capturar patrones complejos.
Tabla de conexiones
| Concepto Bloque 1 (IC) | Concepto Bloque 2 (ML) | Conexión |
|---|---|---|
| Independencia | Diversidad de modelos en ensamble | Modelos independientes = baja correlación = varianza reducida |
| Agregación | Función de pérdida | Cómo combinar y penalizar errores define aprendizaje |
| Descentralización | Arquitectura de red neuronal | Información fluye de forma distribuida, no centralizada |
| Especialización | Features/representaciones en capas | Cada capa especializada en features más abstractas |
| Cascadas informacionales | Overfitting a datos entrenamiento | Modelo "cree" patrones que no generalizan |
| Diversity-Precision tradeoff | Bias-Varianza tradeoff | Homogeneidad vs heterogeneidad en predicciones colectivas |
Parte 9: Recursos y Lecturas Recomendadas
Libros y Textos Académicos
- ISLR (James et al., 2023): "An Introduction to Statistical Learning" (2nd ed.). Gratuito en statlearning.com. Mejor libro introductorio. Capítulos 2-4, 6, 10 son directamente relevantes.
- Deep Learning (Goodfellow, Bengio, Courville, 2016): Referencia técnica completa. Capítulos 6-11 para redes neuronales.
- Elements of Statistical Learning (Hastie, Tibshirani, Friedman, 2009): Técnico. Capítulo 7 sobre bias-varianza es clásico.
- Weapons of Math Destruction (O'Neil, 2016): Accesible público general. Caseó estudio de sesgos algorítmicos.
- The Difference (Page, 2007): Teoría de inteligencia colectiva. Conexión directa a Bloque 1.
Papers Académicos (Gratuitos en ArXiv)
- Buolamwini & Gebru (2018): "Gender Shades: Intersectional Accuracy Disparities..." — Dataset y metodología para auditoria de sesgo en visión.
- Chouldechova (2017): "Fair Prediction with Disparate Impact" — Imposibilidad matemática de satisfacer todas métricas fairness simultáneamente.
- Rudin (2019): "Stop Explaining Black Box Models..." — Argumento por interpretabilidad en aplicaciones de alto riesgo.
- ProPublica (2016): "Machine Bias" — Investigación COMPAS. articulo.html online.
Canales de Video Educativo
- 3Blue1Brown "Neural Networks" series: Visualizaciones hermosas de backpropagation y redes neuronales. Accesible pero riguroso.
- Andrew Ng (Stanford CS229 y Coursera): Legendario instructor. CS229 lectures (ML) on YouTube. Coursera "Machine Learning Specialization" es excelente.
- fast.ai "Practical Deep Learning": Enfoque top-down. Aprenderás implementación primero, teoría después.
- Yann LeCun y Yoshua Bengio (NYU, MILA): Algunos seminarios y conferencias online.
Investigadores y pensadores clave
- Cass Rudin: Interpretabilidad y fairness en ML. Duke University.
- Joy Buolamwini: Auditoría de sesgo en algoritmos. Founder de Algorithmic Justice League.
- Cathy O'Neil: Ética algoritmos, WMDs. Founder de ONEWORLDTRUST.
- Timnit Gebru: Datos, sesgo, AI ethics. DAIR (Distributed AI Research Institute).
- Kate Crawford: Crítica de poder en sistemas AI. USC Annenberg.
- Yoshua Bengio: Pioneer deep learning. Ahora vocal sobre AI safety.
- Stuart Russell: AI alignment, control. UC Berkeley.
Herramientas prácticas
- scikit-learn (Python): Librería estándar para ML clásico. Fácil de aprender.
- TensorFlow y Keras: Deep learning. TensorFlow es robusto para producción. Keras es interfaz amigable.
- PyTorch: Deep learning. Favorita entre researchers. Más flexible.
- pandas y numpy: Data manipulation y álgebra lineal en Python.
- Jupyter notebooks: Entorno interactivo para exploración y teaching.
- Fairness Toolkit (IBM, Google, Microsoft): Herramientas para auditar y mitigar sesgo.
Roadmap de aprendizaje recomendado
Si tienes 12 semanas para dominar ML:
- Semanas 1-2: Fundamentos (ISLR cap. 2-3). Regresión. ¿Qué es generalización?
- Semanas 3-4: Clasificación (ISLR cap. 4-5). Logistic, kNN. Evaluación (confusion matrix, ROC).
- Semanas 5-6: Bias-Varianza (ISLR cap. 5-6). Cross-validation. Regularización (Ridge, Lasso).
- Semanas 7-8: Redes neuronales (ISLR cap. 10, Deep Learning cap. 6). Backprop. Arquitecturas simples.
- Semanas 9-10: Deep learning en práctica (CNNs, RNNs). TensorFlow/Keras.
- Semanas 11-12: Ética y sesgos (O'Neil, Rudin, Buolamwini). Diseño responsable.
Comunidades online
- r/MachineLearning (Reddit): Comunidad activa. Papers discutidos. Noticias.
- Papers With Code: Papers vinculados a código reproducible.
- Hugging Face: Modelos preentrenados. Comunidad. Datasets.
- Kaggle: Competiciones. Datasets. Notebooks de otros usuarios.
Conclusión: De técnica a responsabilidad
Machine learning es herramienta poderosa. Puede diagnosticar enfermedades, predecir crimen, recomendar contenido, conducir autos.
Pero poder requiere responsabilidad. Cada elección de función de pérdida, cada dataset, cada threshold, codifica valores. Si no eres consciente de esos valores, propagas sesgos.
Lo que aprendiste en Bloque 1 (Surowiecki, Sunstein, Woolley) es que arquitectura importa. En IC, la arquitectura de decisión determina si grupo es inteligente. En ML, la arquitectura de modelo (y la arquitectura de datos) determina si algoritmo es justo.
En Bloque 3, aprenderás cómo humanos y máquinas pueden colaborar sin que máquina domine o humano ignore. Pero eso requiere entender cómo máquina piensa — lo que acabas de aprender aquí.
Pregunta final para reflexionar: Si entrenamos modelo en datos históricos discriminatorios, ¿mejorar accuracy es suficiente? ¿O primero debemos cambiar datos?