Ir al contenido

¿Qué es aprender de datos?

En simple: lee esto primero

En vez de escribirle a la computadora las reglas a mano, le damos muchos ejemplos resueltos y ella misma descubre la regla.

Imagínalo así

Es como aprender a reconocer perros: nadie te dio una definición exacta de «perro»; viste cientos y tu cabeza armó la regla sola. Machine learning hace eso con números.

Lo que tienes que llevarte
  • Hay tres grandes tipos: supervisado (con respuestas: «esta foto es un gato»), no supervisado (sin respuestas: «agrupa lo parecido») y por refuerzo (aprender a base de premios y castigos).
  • Lo que importa no es acertar en los ejemplos que ya viste, sino en los nuevos. Memorizar no es aprender.
  • Por eso se separan los datos: unos para aprender (train), otros para ajustar decisiones (validación) y otros solo para el examen final (test).
Palabras raras de esta página
feature
un dato que describe al ejemplo (edad, precio, tamaño…). Una columna de la tabla.
target / etiqueta
la respuesta que queremos predecir.
generalizar
acertar también con datos que el modelo nunca vio.
función de pérdida
un número que dice «qué tan mal» predijo el modelo. Aprender = hacerlo pequeño.

Más abajo viene la versión completa, con fórmulas. Si una palabra aparece subrayada con puntos, pasa el mouse (o tócala) para ver qué significa.

Tarea: ¿esta foto contiene un gato? Intenta escribir reglas: «tiene orejas puntiagudas» (pero a veces están dobladas u ocultas), «tiene pelo» (los perros y las alfombras también)… cien reglas después, el programa falla con la siguiente foto.

No sabemos enunciar las reglas, pero sí podemos dar ejemplos. Machine learning convierte ejemplos en un programa que funciona.

Programación clásicaReglasDatosComputadorRespuestasMachine learningDatosRespuestasAlgoritmo deaprendizajeReglas(modelo)
Clásica: reglas + datos → respuestas. ML: datos + respuestas → reglas (el modelo). No sabemos escribir las reglas para «¿hay un gato?», pero sí dar ejemplos.
  • Samuel (1959), informal: el campo que da a las computadoras la capacidad de aprender sin ser programadas explícitamente.
  • Mitchell (1997), operacional: un programa aprende de la experiencia EE respecto a una tarea TT y una medida de desempeño PP si su desempeño en TT, medido por PP, mejora con EE.

Para cualquier proyecto de ML, fija siempre las tres piezas. Ejemplo del filtro de spam:

PiezaQué esSpam
T (tarea)lo que el sistema debe haceretiquetar cada correo como spam o ham
P (desempeño)cómo medimos el éxito% de correos bien clasificados
E (experiencia)de qué datos aprendecorreos etiquetados por los usuarios

La versión formal (opcional): minimizar el riesgo

Sección titulada «La versión formal (opcional): minimizar el riesgo»

Queremos una función hh con bajo riesgo esperado R(h)=E(x,y)∼P[ℓ(h(x),y)]R(h) = \mathbb{E}_{(\mathbf{x},y)\sim P}[\ell(h(\mathbf{x}), y)], el error promedio sobre todos los datos posibles. No conocemos PP, así que minimizamos el riesgo empírico sobre los datos que sí tenemos:

R^(h)=1n∑i=1nℓ(h(xi),yi)(ERM: empirical risk minimization)\hat R(h) = \frac{1}{n}\sum_{i=1}^{n}\ell\big(h(\mathbf{x}_i), y_i\big)\qquad\text{(ERM: empirical risk minimization)}

Toda la tensión del curso está aquí: minimizamos R^\hat R (lo que vemos) pero nos importa RR (lo que no vemos). La diferencia es la generalización.

TérminoSímboloEjemplo (dígitos 8×8)
Features / entradax∈X\mathbf{x}\in\mathcal Xlos 64 píxeles
Target / etiquetayyel dígito 0–9
DatasetD={(xi,yi)}i=1n\mathcal D=\{(\mathbf{x}_i,y_i)\}_{i=1}^n1797 imágenes etiquetadas
Modeloy^=hθ(x)\hat y = h_\theta(\mathbf{x})una función con perillas θ\theta
Pérdidaℓ(y^,y)\ell(\hat y, y)costo de un error
Entrenar vs inferirajustar θ\theta vs predecirgirar perillas vs leer la respuesta

Los datos pueden ser estructurados (una tabla: cada fila un ejemplo, cada columna una feature, el orden de filas no importa) o no estructurados (una imagen es un tensor RH×W×3\mathbb{R}^{H\times W\times 3} donde la disposición espacial sí importa). La lógica train/val/test es idéntica en ambos casos.

Machine learningSupervisadopares (x, y)Regresióny continuoClasificacióny discretoNo supervisadosolo xClusteringgruposReducción de dim.PCA, 2-D mapsPor refuerzoactuar y recibir recompensaPolíticajuegos, robótica
Semi- y auto-supervisado quedan en medio (el motor de los LLM). La regresión es supervisada (y continuo); el clustering es no supervisado; RL aprende actuando, no de un dataset fijo.
SubtipoHaceEjemplos
Regresiónpredice un númeroprecio de casas, demanda
Clasificaciónpredice una categoríaspam, enfermedad en un escáner
Clusteringagrupa ítems similaressegmentos de clientes, anomalías
Reducción de dimensióncomprime / visualizamapas 2-D, compresión
Refuerzoactúa por recompensajuegos, robótica

¿Qué tipo de problema es?

0/12 correctas · 0 respondidas

Doce situaciones reales. Para cada una, elige el paradigma. El primer paso de cualquier proyecto es identificar si hay etiquetas y de qué tipo son.

1. Una inmobiliaria quiere estimar el alquiler mensual (en soles) de un departamento a partir de su área, distrito y nº de cuartos.
2. Un banco decide si aprobar o rechazar una tarjeta de crédito usando el historial de pagos de clientes pasados (que pagaron o no).
3. Una tienda online quiere agrupar a sus clientes en «tipos» según su comportamiento de compra, sin tener etiquetas previas.
4. Un laboratorio tiene 20 000 genes medidos por paciente y quiere visualizarlos en un mapa 2-D para ver estructura.
5. Un robot aprende a caminar probando movimientos y recibiendo un puntaje según cuánto avanza sin caerse.
6. Un hospital quiere detectar si una radiografía muestra neumonía, con miles de imágenes ya diagnosticadas por radiólogos.
7. Una empresa eléctrica predice la demanda de energía (MW) de mañana a partir del clima y la demanda de días anteriores.
8. Gmail decide si un correo entrante es spam o no.
9. Una tarjeta detecta transacciones «raras» sin tener ejemplos de fraude etiquetados, solo comparando con el comportamiento típico.
10. Un programa de ajedrez mejora jugando millones de partidas contra sí mismo, recibiendo +1 al ganar y −1 al perder.
11. Una app de música comprime cada canción en un vector de 32 números que conserva lo esencial del estilo.
12. Una aseguradora estima cuántos días de hospitalización tendrá un asegurado según su edad, IMC y antecedentes.

Memorizar las respuestas de entrenamiento no es aprender. Por eso:

  1. Se juzga a los modelos con datos no vistos, nunca con los de entrenamiento.
  2. Se parte: train (ajustar) / validación (elegir y afinar) / test (nota final, una sola vez).
barajar una vez, congelar la particióntrain (~70%)validacióntestajusta los parámetros (w, b)elige modelo ehiperparámetros (λ, C…)nota final,se usa UNA vezSi el test influye en cualquier decisión (data leakage), la nota final queda optimista.
Nunca evalúes con los datos de entrenamiento. La validación cruzada (sesión 03) reemplaza el bloque de validación por K bloques rotativos.
  • Underfitting: el estudiante que solo aprendió «siempre responde C».
  • Overfitting: el que memorizó las respuestas exactas del examen del año pasado.
  • Lo que queremos: el que aprendió los conceptos.

Juega con el grado del polinomio: el error de entrenamiento siempre baja, pero el de validación hace una U.

Sube el grado… y mira la validación

Datos de sin(2πx) + ruido. El modelo sigue siendo lineal en los pesos: solo añadimos columnas x², x³… a la matriz de diseño. Los puntos llenos entrenan; los huecos validan.

00.20.40.60.81-2-1012x02468101200.20.40.60.811.2grado (complejidad)RMSE
ajuste actualverdad sin(2πx)RMSE trainRMSE validaciónmínimo de validación
RMSE train0.554
RMSE validación0.500
mayor |wⱼ|1.13
diagnósticounderfit
w0w1
Ambos errores altos: el modelo es demasiado rígido (alto sesgo). Los residuales aún trazan un patrón.

Entrenar = rodar cuesta abajo en la pérdida. El descenso de gradiente mide la pendiente local y da un paso pequeño en la dirección opuesta; el tamaño del paso es la tasa de aprendizaje (ver matemáticas y descenso de gradiente).

Por qué separar train, validación y test: un ejemplo con números

Sección titulada «Por qué separar train, validación y test: un ejemplo con números»
Un ciclo de modelado honesto, paso a paso
  1. Barajar y partir una sola vez. 5 000 anuncios → 3 500 train (70%), 750 validación (15%), 750 test (15%). La partición se congela.
  2. Ajustar en train. Se entrenan una regresión lineal y un árbol: RMSE de train = S/ 210 y S/ 15. El árbol parece genial…
  3. Comparar en validación. RMSE de validación = S/ 230 (lineal) y S/ 410 (árbol). El árbol memorizó: la brecha 15 → 410 es overfitting. Se elige el lineal (o se poda el árbol).
  4. Afinar en validación, nunca en test: por ejemplo, el λ de ridge. Cada decisión «mira» la validación, así que su score se vuelve un poco optimista.
  5. Medir una sola vez en test. RMSE de test = S/ 236: esa es la cifra que se reporta, porque el test no influyó en ninguna decisión.
  6. Si después «arreglas algo» mirando el test, el test se contamina (data leakage) y ya no tienes una estimación honesta.
1 · Plantear T, P, E2 · Recolectar datos3 · Features4 · Entrenar5 · Evaluar6 · Desplegar7 · Monitorearciclo, no líneael monitoreo detecta drift y vuelve a empezar
La mayor parte del esfuerzo está en obtener y limpiar datos, no en el algoritmo: más datos y mejores features suelen ganarle a un modelo más sofisticado.
  • Sesgo y equidad: los modelos amplifican los sesgos de los datos → mide por grupos.
  • Privacidad: los datos pueden memorizarse y filtrarse → recolecta lo mínimo.
  • Transparencia: las personas merecen saber por qué y poder impugnarlo.
  • Responsabilidad: humano en el circuito para decisiones de alto impacto.
  • Robustez y costo: fallas, entradas adversarias, energía, mal uso.

«Un modelo es un espejo de sus datos. No preguntes solo ¿podemos? sino ¿debemos?, y qué pasa cuando se equivoca.»

Autoevaluación

0/5 correctas · 0 respondidas
1. En clasificación, el target yy es un valor continuo que puede tomar cualquier número real.
2. Para un filtro de spam (Mitchell), ¿qué afirmación es FALSA?
3. ¿Qué afirmación sobre paradigmas es VERDADERA?
4. Afinas un hiperparámetro mirando el error del test set y reportas ese mismo error como nota final. ¿Qué ocurre?
5. Un modelo tiene error de entrenamiento 0.01 y de validación 0.9. Diagnóstico:
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
# 70 / 15 / 15: primero se separa el test y no se vuelve a tocar
X_tmp, X_test, y_tmp, y_test = train_test_split(X, y, test_size=0.15, random_state=0)
X_tr, X_val, y_tr, y_val = train_test_split(X_tmp, y_tmp, test_size=0.15 / 0.85, random_state=0)
model = LinearRegression().fit(X_tr, y_tr) # E: aprender de train
rmse_val = mean_squared_error(y_val, model.predict(X_val)) ** 0.5 # elegir / afinar
# ... comparar modelos con rmse_val ...
rmse_test = mean_squared_error(y_test, model.predict(X_test)) ** 0.5 # UNA vez, al final

Fuente ·ML_Course_Introduction.pdf (Lecture 01) · ML_Course/session-01a…01e.ipynb · BANCO_DE_PREGUNTAS_ML_PART_1.pdf