Cuando empiezas a aprender el aprendizaje automático, una de las primeras bifurcaciones en el camino es esta: ¿qué tipo de aprendizaje estás haciendo? La respuesta lo cambia todo: los algoritmos disponibles para usted, los datos que necesita y lo que puede esperar que haga su modelo.
Las dos categorías fundamentales son aprendizaje supervisado y aprendizaje no supervisado. Comprender la diferencia no es solo académico: es la primera decisión que tomará al abordar cualquier problema nuevo de ML.
La diferencia más fundamental entre el aprendizaje supervisado y no supervisado es si los datos de entrenamiento incluyen etiquetas.
Datos etiquetados significa que cada ejemplo de su conjunto de datos viene con la "respuesta correcta": el resultado que desea que el modelo prediga o clasifique:
# Labelled dataset (supervised)
email_text | label
------------------------------------|-------
"Congratulations! You've won £1000" | spam
"Meeting rescheduled to Thursday" | not_spam
"URGENT: Your account is suspended" | spam
Datos sin etiqueta significa que tienes las entradas pero no las respuestas predefinidas, solo las observaciones sin procesar:
# Unlabelled dataset (unsupervised)
customer_id | age | annual_spend | frequency | location
------------|-----|--------------|-----------|----------
C001 | 34 | £2,400 | 12/year | London
C002 | 52 | £18,000 | 52/year | Manchester
C003 | 28 | £650 | 3/year | London
Los datos etiquetados son costosos y su producción requiere mucho tiempo: requiere que los humanos anoten ejemplos manualmente. Los datos sin etiquetar abundan (la mayoría de los datos del mundo no tienen etiquetas). Esta restricción práctica determina qué enfoque es posible para un problema determinado.
En el aprendizaje supervisado, el modelo aprende un mapeo de entradas a salidas mediante el estudio de ejemplos etiquetados. El "supervisor" son los datos etiquetados en sí: cada ejemplo de entrenamiento le dice al modelo cuál debería ser el resultado correcto.
Cuando la salida es una categoría discreta, es un problema de clasificación.
Ejemplos:
Iniciar sesión unirse a la discusión
Algoritmos comunes:
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
classifier = RandomForestClassifier(n_estimators=100)
classifier.fit(X_train, y_train)
accuracy = classifier.score(X_test, y_test)
print(f"Test accuracy: {accuracy:.2%}")
Cuando el resultado es un número continuo, es un problema de regresión.
Ejemplos:
Algoritmos comunes:
from sklearn.ensemble import GradientBoostingRegressor
model = GradientBoostingRegressor(n_estimators=200, learning_rate=0.1)
model.fit(X_train, y_train)
predictions = model.predict(X_test)
# predictions = [245000, 182000, 412000, ...] (house prices in £)
En el aprendizaje no supervisado, el modelo explora la estructura de los datos sin etiquetas. En lugar de aprender a mapear una salida conocida, descubre patrones, agrupaciones o representaciones ocultos por sí solo.
Los algoritmos de cluster agrupan puntos de datos similares sin que se les diga cuáles deberían ser los grupos.
Ejemplos:
Algoritmos comunes:
from sklearn.cluster import KMeans
# We don't know how many customer segments exist — let's try 4
kmeans = KMeans(n_clusters=4, random_state=42)
kmeans.fit(customer_data_scaled)
# Each customer now has a cluster label (0, 1, 2, or 3)
df['segment'] = kmeans.labels_
# Analyse what each segment looks like
print(df.groupby('segment')[['age', 'annual_spend', 'frequency']].mean())
Comprima datos de alta dimensión en menos dimensiones y al mismo tiempo preserve la mayor estructura posible. Se utiliza para visualización, preprocesamiento y eliminación de información redundante.
Algoritmos comunes:
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
# Reduce 50-dimensional data to 2D for visualisation
pca = PCA(n_components=2)
X_2d = pca.fit_transform(X_scaled)
plt.scatter(X_2d[:, 0], X_2d[:, 1], c=cluster_labels, cmap='tab10')
plt.title('Customer segments visualised in 2D')
plt.show()
La distinción entre supervisado y no supervisado es fundamental, pero el panorama del aprendizaje automático es más rico que solo estas dos categorías.
Utiliza una pequeña cantidad de datos etiquetados combinada con una gran cantidad de datos sin etiquetar. Esto es muy práctico porque el etiquetado es caro.
Ejemplo: Tiene 1000 exploraciones médicas etiquetadas y 100 000 sin etiquetar. El aprendizaje semisupervisado le permite beneficiarse de los datos sin etiquetar para mejorar el rendimiento más allá de lo que podrían lograr las 1000 etiquetas por sí solas.
Un caso especial donde las etiquetas se generan automáticamente a partir de los propios datos. Así es como se entrenan previamente los modelos modernos de lenguajes grandes.
Ejemplo: tome una oración, oculte algunas palabras y entrene el modelo para predecir las palabras que faltan. Las "etiquetas" (las palabras correctas) son gratuitas: provienen directamente del texto mismo. Así se formó BERT.
Input: "The cat sat on the [MASK]."
Target: "mat"
El aprendizaje autosupervisado ha sido transformador porque permite el entrenamiento con datos a escala de Internet sin anotaciones humanas.
Un agente aprende realizando acciones en un entorno y recibiendo recompensas o penalizaciones. No hay etiquetas, sólo señales de retroalimentación de los resultados.
Ejemplos: jugar al ajedrez, entrenar a un robot para que camine, optimizar el sistema de refrigeración de un centro de datos. Cubrimos esto en profundidad en su propia lección.
Aquí hay un marco de decisión práctico:
Do you have labelled data?
├── YES → Supervised Learning
│ ├── Output is a category? → Classification
│ │ (spam/not spam, dog/cat, fraud/legit)
│ └── Output is a number? → Regression
│ (price, temperature, sales volume)
└── NO → Unsupervised Learning
├── Want to find groups? → Clustering
│ (customer segments, document topics)
├── Want to compress data? → Dimensionality Reduction
│ (visualisation, pre-processing)
└── Want to detect anomalies? → Anomaly Detection
(fraud, equipment failure)
Partially labelled? → Semi-Supervised Learning
Learning from interaction? → Reinforcement Learning
Tiene 50.000 reseñas de productos sin calificaciones de estrellas ni etiquetas de opiniones. Quieres agruparlos automáticamente por tema. ¿Qué enfoque de aprendizaje debería utilizar?