Qué intenta optimizar realmente un modelo
La función objetivo (objective function) es la función que un modelo intenta minimizar o maximizar durante el entrenamiento. Define formalmente qué significa “aprender bien”.
👉 Es el núcleo de cualquier problema de machine learning.
Definición corta
La función objetivo es la función que se optimiza durante el entrenamiento de un modelo.
Definición detallada
Dado un modelo con parámetros θ, la función objetivo se expresa como:
o en algunos casos:
Donde:
- L = función de pérdida (loss)
- J = función de recompensa o utilidad
👉 Define el criterio de optimización.
Intuición
La función objetivo responde:
👉 “¿Qué significa que el modelo esté funcionando bien?”
Modelo
↓
Predicciones
↓
Función objetivo evalúa calidad
↓
Optimización
Tipos de funciones objetivo
🔹 1. Minimización
- error
- pérdida
🔹 2. Maximización
- recompensa
- utilidad
👉 Ambos son equivalentes (max ↔ min).
Ejemplos comunes
🔹 Error cuadrático medio (MSE)
🔹 Entropía cruzada
L=−∑ylog(y^)
🔹 Función de recompensa (RL)
Relación con otros conceptos
- Función de pérdida
- Gradiente
- Optimización
- Descenso de gradiente
Función objetivo en machine learning
🔹 1. Entrenamiento
Define qué se optimiza.
🔹 2. Gradiente
👉 guía la actualización de parámetros.
🔹 3. Backpropagation
Calcula derivadas de la función objetivo.
🔹 4. Evaluación
Refleja desempeño del modelo.
Ejemplo simple
👉 queremos minimizar el error.
Ejemplo conceptual
Predicción mala → pérdida alta
Predicción buena → pérdida baja
Componentes de la función objetivo
🔹 1. Error
Diferencia entre predicción y valor real.
🔹 2. Regularización
Penaliza complejidad:
🔹 3. Restricciones
Condiciones adicionales.
Ejemplo con regularización
👉 evita overfitting.
Ejemplo conceptual
Error bajo
+ modelo simple
↓
Mejor generalización
Tipos según problema
| Problema | Función objetivo |
|---|---|
| Regresión | MSE |
| Clasificación | cross-entropy |
| RL | recompensa |
Ejemplo en Python
import numpy as npdef loss(y, y_hat): return np.mean((y - y_hat)**2)y = np.array([1, 2, 3])y_hat = np.array([1.1, 1.9, 3.2])print("Loss:", loss(y, y_hat))
Ejemplo en PyTorch
import torchimport torch.nn as nny = torch.tensor([1.0, 2.0, 3.0])y_hat = torch.tensor([1.1, 1.9, 3.2])loss_fn = nn.MSELoss()print(loss_fn(y_hat, y))
Ejemplo con optimización
import torchw = torch.tensor([1.0], requires_grad=True)x = torch.tensor([2.0])y = torch.tensor([4.0])for _ in range(10): y_hat = w * x loss = (y - y_hat)**2 loss.backward() with torch.no_grad(): w -= 0.1 * w.grad w.grad.zero_()print("Peso:", w.item())
Qué muestra este ejemplo
- Definición de objetivo
- Minimización
- Aprendizaje del modelo
Errores comunes
Elegir mal la función objetivo
El modelo aprende lo incorrecto.
No incluir regularización
Puede causar overfitting.
Confundir con métricas
No siempre son lo mismo.
Ejemplo conceptual en ML
Datos
↓
Modelo
↓
Función objetivo
↓
Optimización
Interpretación profunda
La función objetivo define:
- qué aprende el modelo
- cómo se optimiza
- qué significa “éxito”
👉 Es la brújula del aprendizaje automático.
Conclusión
La función objetivo es la función que guía el aprendizaje del modelo. Define qué se optimiza y determina el comportamiento final del sistema.
👉 Si eliges mal la función objetivo, el modelo aprenderá mal.
Related Concepts
- Función de pérdida
- Gradiente
- Optimización
- Descenso de gradiente
- Backpropagation