ML Atlas

Machine learning desde cero · Lección 1.1 · 2 de 33 lecciones listas · 10 min

¿Qué es el aprendizaje automático?

En pocas palabras

El aprendizaje automático deja que un programa descubra su regla a partir de ejemplos en lugar de recibirla escrita. Se ve con datos reales de tumores.

¿Cómo escribirías un programa que distinga un tumor peligroso de uno inofensivo? Podrías sentarte con una médica y convertir su experiencia en reglas: «si las células son más grandes que tanto, da la alarma». O podrías mostrarle a la máquina cientos de casos pasados con el resultado conocido y dejar que descubra la regla por sí sola. El segundo camino es el aprendizaje automático, y este curso trata de por qué funciona, cuándo falla y cómo distinguir una cosa de la otra. Pruébalo tú mismo antes de leer la explicación.

Predice y comprueba El umbral (el número a partir del cual la regla da la alarma) que el algoritmo aprendió con las biopsias de entrenamiento es el mejor posible para esas biopsias. ¿Cómo le irá con las biopsias de prueba, que nunca vio?
¿Qué tan seguro estás?

Experimento interactivo

Este experimento interactivo funciona en un navegador con JavaScript activado. El texto que lo rodea describe lo que muestra.

Ver la respuesta

Respuesta correcta: Peor que con las de entrenamiento

El umbral aprendido tiene una exactitud del 89,7 % en entrenamiento, pero del 86,0 % en prueba (171 biopsias): una regla ajustada a unos datos suele rendir peor con datos nuevos. Además, un umbral fijado a mano en 15,0 alcanza el 88,3 % en prueba, es decir, más que el aprendido. Ser el mejor en entrenamiento no garantiza serlo con datos nuevos.

Prueba esto

  • Mueve el control del umbral despacio de izquierda a derecha y observa la exactitud en los datos de entrenamiento. Detente donde creas que la regla funciona mejor.
  • Pulsa Aprender y compara el umbral que elige el algoritmo con el tuyo. Mira las dos cifras: la exactitud en los datos de entrenamiento y en los de prueba.
  • Lleva el control del umbral hasta uno de los extremos. Ahora la regla da casi a todos los tumores la misma respuesta y, aun así, la exactitud no cae a cero. Piensa por qué antes de seguir leyendo.
  • Después de pulsar Aprender, comprueba qué puntuación es más alta, la de entrenamiento o la de prueba, y decide en cuál confiarías con una paciente real.

La idea en pocas palabras

En la programación tradicional, una persona escribe la regla y la computadora la aplica. En el aprendizaje automático, una persona aporta ejemplos —entradas junto con sus respuestas correctas— y un algoritmo busca una regla que reproduzca esas respuestas. La regla que encuentra se llama modelo. Una vez encontrado, el modelo se usa exactamente igual que una regla escrita a mano: entra un caso nuevo, sale una predicción.

Piensa en cómo aprendes a saber si un aguacate está maduro. Nadie te da una fórmula. Aprietas unos cuantos, los abres, te fijas en cuáles estaban bien y, tras una docena de intentos, tu pulgar «lo sabe». Nunca escribiste la regla, pero la tienes, y la construiste con ejemplos cuyo resultado conocías. Un algoritmo de aprendizaje hace lo mismo, solo que con números y con muchísima más paciencia.

Por qué funciona

Los ejemplos de esta lección vienen de un conjunto de datos médicos real: 569 tumores de mama, cada uno descrito con medidas de los núcleos celulares vistos al microscopio y cada uno clasificado por un patólogo como maligno (212 casos) o benigno (357 casos). Para empezar, usamos solo una de esas medidas y la regla más sencilla que se pueda imaginar: «por encima de un umbral → maligno; por debajo → benigno».

Elegir el umbral a mano es adivinar. Aprender el umbral es probar cada valor candidato con los ejemplos y quedarse con el que comete menos errores. Eso es todo lo que significa «aprender» aquí: una búsqueda, guiada por los datos, del ajuste que mejor funciona con los casos que ya conocemos. Todos los modelos que verás más adelante, desde una recta hasta un modelo de lenguaje con miles de millones de parámetros, siguen la misma receta: una familia de reglas posibles, una forma de puntuarlas y una búsqueda de la mejor puntuación.

Hay una trampa, y es la idea más importante de todo el campo. Una regla que se ajusta bien a los casos conocidos no es automáticamente buena. Lo que de verdad nos importa son los casos que aún no hemos visto: la próxima paciente. Por eso, antes de aprender, escondemos una parte de los datos. El modelo aprende con el conjunto de entrenamiento y luego se le califica con el conjunto de prueba, que nunca ha visto. La nota suele ser la exactitud, la proporción de casos en los que la regla acierta:

exactitud = predicciones correctas / todas las predicciones

Una regla aprendida con el conjunto de entrenamiento suele puntuar un poco menos en el de prueba. Esa diferencia es el precio honesto de enfrentarse a datos nuevos, y la puntuación de prueba es la que le darías a un médico.

Error frecuente

El error clásico de quien empieza es juzgar un modelo por lo bien que le va con los datos de los que aprendió. Con esos casos el algoritmo ha tenido todas las oportunidades de ajustarse, así que la puntuación lo halaga. La segunda trampa es olvidar la línea base. La mayoría de los tumores de este conjunto son benignos, así que una «regla» que siempre responde «benigno» ya acierta en 357 de 569 casos, casi dos tercios. Por eso, aunque una regla dé a casi todos los tumores la misma respuesta, su exactitud no cae a cero. Cualquier modelo aprendido tiene que superar esta respuesta trivial antes de merecer atención, y en medicina, además, tiene que cometer el tipo de errores adecuado, un tema al que volveremos en la lección 6.

El aprendizaje automático, por tanto, no es magia ni comprensión. Es una búsqueda disciplinada de una regla, seguida de un examen honesto con datos que la búsqueda nunca tocó. En la próxima lección miramos de cerca la materia prima —datos, características y etiquetas— y por qué la forma de dividir los datos cambia la puntuación que obtienes.

Test

Tres preguntas para comprobar lo aprendido. Elige una respuesta o despliega la solución bajo cada pregunta. Con el teclado: las flechas eligen, Enter o Espacio confirma.

1. Ajustas una regla hasta que acierta en todos los ejemplos de entrenamiento. ¿Qué te dice eso sobre la próxima paciente?
Ver la respuesta

Respuesta correcta: Muy poco: solo datos nunca vistos revelan cómo rinde con casos nuevos

La exactitud de entrenamiento mide el ajuste a casos conocidos; solo los datos reservados estiman el rendimiento con casos nuevos.

2. ¿Qué significa «aprender el umbral» en esta lección?
Ver la respuesta

Respuesta correcta: Probar umbrales con ejemplos etiquetados y quedarse con el que falla menos

Aquí aprender es una búsqueda guiada por los datos del ajuste que mejor puntúa en los ejemplos de entrenamiento.

3. Un modelo acierta alrededor del 60 % de las veces con estos datos de tumores. ¿Por qué no es impresionante?
Ver la respuesta

Respuesta correcta: Porque decir siempre «benigno» ya acierta en casi dos tercios de los casos

La mayoría de los tumores del conjunto son benignos, así que un modelo tiene que superar la respuesta mayoritaria trivial antes de ser útil.

Ideas clave

  • En el aprendizaje automático la regla sale de ejemplos etiquetados, no de la cabeza de un programador.
  • Aprender es buscar: una familia de reglas, una puntuación y el ajuste con la mejor puntuación.
  • Un modelo se califica con un conjunto de prueba que nunca vio; la puntuación de entrenamiento lo halaga.
  • Compara siempre con una línea base trivial, como predecir siempre la respuesta más común.

Más a fondo: fórmula, código, práctica

Las matemáticas

La exactitud es accuracy = correct / n. Una regla de umbral dice «maligno» cuando x > t. Aprender elige el t con menos errores en las filas de entrenamiento: t* = argmin over t of (mistakes on the training set). Solo los puntos medios entre valores vecinos ordenados pueden dar resultados distintos, así que la búsqueda es finita y exacta.

  • La puntuación en el conjunto de entrenamiento está sesgada al alza: t* se eligió para que ese número fuera lo más alto posible.
  • La puntuación en el conjunto de prueba es una estimación sin sesgo de la exactitud futura, porque no se tomó ninguna decisión con él.
  • La línea base es la proporción de la clase más grande, max(n₀, n₁) / n. Una regla aprendida solo merece conservarse si la supera con claridad.
En código (Python)

Recuentos y línea base de «siempre benigno» para todo el conjunto de datos (el lab usa solo el radio medio y una partición, así que sus 89,7 % y 86,0 % no se reproducen aquí):

from sklearn.datasets import load_breast_cancer
from sklearn.dummy import DummyClassifier

X, y = load_breast_cancer(return_X_y=True, as_frame=True)
print("tumours:", len(y))
print("malignant:", (y == 0).sum(), "benign:", (y == 1).sum())  # en sklearn, 0 = maligno
always_benign = DummyClassifier(strategy="most_frequent").fit(X, y)
print(f"always 'benign': {always_benign.score(X, y):.1%}")

Resultado

tumours: 569
malignant: 212 benign: 357
always 'benign': 62.7%

Una regla que nunca mira el tumor acierta en el 62,7 % de los casos. Esa es la vara que cualquier regla aprendida tiene que superar.

Para profesionales
  • Calcula primero la línea base. DummyClassifier(strategy="most_frequent") ocupa una línea y te dice qué tiene que significar «bueno» para estos datos.
  • Particiona antes de aprender nada, incluido un umbral. Cualquier decisión tomada con las filas de prueba, por pequeña que sea, vuelve optimista la puntuación de prueba.
  • Usa stratify=y en train_test_split en clasificación, para que entrenamiento y prueba conserven la misma proporción de casos malignos.
  • La exactitud cuenta todos los errores por igual. Un tumor maligno que se pasa por alto y una falsa alarma no cuestan lo mismo, así que mira también los dos tipos de error por separado (lección 6).
  • Un conjunto de prueba de 171 filas da una puntuación que oscila dos o tres puntos (lección 2: el error estándar es de unos 2,7 puntos con 86 %). No interpretes una diferencia tan pequeña como prueba de que una regla es mejor.

Profundiza en el Atlas

Entradas de la enciclopedia sobre las ideas de esta lección: