Cómo convertir salidas en probabilidades que compiten entre sí
La Softmax es una función de activación que transforma un vector de valores en una distribución de probabilidad, donde todos los valores son positivos y suman 1.
👉 Es la función estándar para la capa de salida en problemas de clasificación multiclase.
Definición corta
La Softmax convierte un conjunto de valores en probabilidades normalizadas.
Definición matemática
Softmax(xi)=∑jexjexi
👉 cada valor depende de todos los demás.
Intuición
Softmax responde:
👉 “Voy a asignar probabilidades a cada clase, pero todas deben competir entre sí”
Valores → exponentes → normalización → probabilidades
Propiedades clave
- todas las salidas son positivas
- suma total = 1
- depende del vector completo
Ejemplo simple
Entrada:
[2.0, 1.0, 0.1]
Salida (aprox):
[0.66, 0.24, 0.10]
👉 la clase con mayor valor domina.
Relación con otros conceptos
- Sigmoid
- Entropía cruzada
- Clasificación multiclase
- Función objetivo
Interpretación probabilística
👉 representa la probabilidad de cada clase.
Ejemplo conceptual
Clases: gato, perro, pájaro
↓
Softmax
↓
Probabilidades suman 1
Propiedad importante: competencia
- aumentar una clase ↓ reduce otras
👉 clases mutuamente excluyentes.
Ejemplo conceptual
Clase A ↑
↓
Clase B ↓
Clase C ↓
Uso en machine learning
🔹 Clasificación multiclase
- una sola clase correcta
🔹 Redes neuronales
- capa final
🔹 Modelos de lenguaje
- distribución sobre vocabulario
Ejemplo conceptual
Salida del modelo
↓
Softmax
↓
Probabilidad por clase
Relación con pérdida
Se usa con:
👉 entropía cruzada.
Estabilidad numérica
Problema:
Solución:
👉 evita overflow.
Ejemplo en Python
import numpy as npdef softmax(x): e = np.exp(x - np.max(x)) return e / np.sum(e)x = np.array([2.0, 1.0, 0.1])print(softmax(x))
Ejemplo en PyTorch
import torchimport torch.nn as nnsoftmax = nn.Softmax(dim=0)x = torch.tensor([2.0, 1.0, 0.1])print(softmax(x))
Ejemplo en modelo
import torch.nn as nnmodel = nn.Sequential( nn.Linear(10, 3), nn.Softmax(dim=1))
Qué muestra este ejemplo
- normalización
- competencia entre clases
- salida probabilística
Errores comunes
Usarla en problemas multi-label
Incorrecto → usar Sigmoid.
No usar estabilidad numérica
Puede causar overflow.
Interpretar mal probabilidades
Siempre relativas entre clases.
Ejemplo conceptual en ML
Modelo
↓
Vector de logits
↓
Softmax
↓
Distribución de probabilidad
Interpretación profunda
Softmax implementa un principio clave:
👉 La probabilidad es relativa al contexto completo
No evalúa clases de forma aislada, sino en competencia.
Conclusión
La Softmax convierte salidas en probabilidades normalizadas y es esencial para clasificación multiclase.
👉 Es la función que traduce logits en decisiones probabilísticas.
Related Concepts
- Sigmoid
- Entropía cruzada
- Clasificación multiclase
- Función objetivo
- Optimización