
Softmax y Regresión Logística Multinomial
Qué hacer cuando tu problema tiene más de dos clases
La regresión logística es uno de los primeros modelos que aprende cualquier persona que entra en machine learning, y por una buena razón: es simple, interpretable y sorprendentemente potente. Con dos clases (0 y 1) todo encaja de forma elegante: una función sigmoide aplasta cualquier número en una probabilidad entre 0 y 1, y una frontera de decisión separa el «sí» del «no».
¿Pero qué pasa cuando el mundo no es blanco o negro? Clasificar un correo como spam o no-spam son dos clases. Pero clasificar una imagen como gato, perro, pájaro o caballo son cuatro. Reconocer un dígito escrito a mano son diez. Etiquetar el idioma de un texto pueden ser cincuenta.
Aquí es donde la sigmoide se queda corta y entra en juego Softmax.

La idea central: repartir 100% de confianza
Antes de la fórmula, quédate con esta imagen. Imagina que tu modelo es un jurado que tiene que repartir 100 puntos de confianza entre todas las clases posibles. No puede dar 90 a «gato» y 90 a «perro»: el total siempre tiene que sumar 100. Si sube la confianza en una clase, tiene que bajarla en otra.
Eso es exactamente lo que hace Softmax: coge las puntuaciones «en bruto» que produce el modelo (números que pueden ser negativos, enormes o diminutos) y las convierte en un reparto de probabilidad que suma exactamente 1.
¿Qué es Softmax?
Softmax es una función que toma un vector de números (uno por clase) y los transforma en probabilidades que suman 1.
Si tu modelo produce un vector de puntuaciones (a veces llamadas logits):
Softmax lo transforma clase a clase con:
La idea de la fórmula es simple si la lees por partes:
- El numerador $e^{z_i}$ exponencia la puntuación de la clase. La exponencial hace dos cosas: convierte cualquier número (incluso negativo) en positivo, y amplifica las diferencias (una puntuación un poco más alta se dispara).
- El denominador $\sum_j e^{z_j}$ suma esas exponenciales de todas las clases. Dividir por ese total es lo que fuerza a que todo sume 1.
Un ejemplo numérico
Imagina que tu modelo tiene que decidir entre gato, perro y pájaro, y produce las puntuaciones:
Estos números por sí solos no significan gran cosa. Aplicamos Softmax:
- $e^{2.0} \approx 7.39$
- $e^{1.0} \approx 2.72$
- $e^{0.1} \approx 1.11$
- Suma total $\approx 11.22$
Dividimos cada uno entre la suma:
| Clase | Puntuación (z) | Probabilidad |
|---|---|---|
| Gato | 2.0 | ≈ 0.66 |
| Perro | 1.0 | ≈ 0.24 |
| Pájaro | 0.1 | ≈ 0.10 |
Ahora sí tienen sentido: el modelo cree con un 66% que es un gato, deja un 24% para perro y un 10% para pájaro. Y fíjate que suman 1.
Características clave
- Todas las probabilidades quedan entre 0 y 1.
- La suma es exactamente 1.
- La puntuación más alta se convierte en la probabilidad más alta (se conserva el orden).
- Softmax es, en esencia, la versión multiclase de la sigmoide. De hecho, si aplicas Softmax a solo dos clases, recuperas la sigmoide de siempre.
¿Qué es la Regresión Logística Multinomial?
Con Softmax entendido, este modelo es fácil de resumir:
Regresión logística multinomial = regresión logística + Softmax + Cross-Entropy multiclase.
El flujo completo es el siguiente:
Entrada x
(características)
Modelo lineal
produce vector z
(una puntuación por clase)
Softmax
convierte z en
probabilidades
Cross-Entropy
mide el error frente
a la clase correcta
Gradiente descendente
ajusta los coeficientes
En palabras: el modelo produce un vector $z$ con un valor por clase, Softmax convierte ese vector en probabilidades, y la pérdida evalúa qué tan buena fue la probabilidad que le dio a la clase correcta. Ese error se usa para ajustar los coeficientes, y se repite.
La pérdida: Cross-Entropy multiclase
Para entrenar necesitamos una forma de medir cuánto se equivoca el modelo. Esa medida es la cross-entropy (entropía cruzada):
No te asustes por la fórmula, la intuición es muy sencilla. Solo mira la probabilidad que el modelo le asignó a la clase que realmente era correcta y aplícale un logaritmo negativo:
- Si el modelo dio alta probabilidad a la clase correcta → pérdida baja (bien hecho).
- Si dio baja probabilidad a la clase correcta → pérdida alta (mal).
- Si estaba muy seguro y se equivocó → pérdida enorme (el logaritmo castiga con dureza la confianza equivocada).
Ese último punto es clave: la cross-entropy no solo penaliza acertar o fallar, penaliza estar seguro y fallar. Es lo que empuja al modelo a calibrar bien su confianza. Es, de nuevo, la versión multiclase de la log-loss que ya conocías del caso binario.
¿Cómo se entrena?
Aquí viene una de las mejores noticias: prácticamente igual que la regresión logística binaria. No hay que aprender un procedimiento nuevo. El ciclo es el de siempre:
- Descenso del gradiente.
- El error se multiplica por las variables de entrada.
- Se actualizan los coeficientes.
- Se añade regularización L1 o L2 si hace falta para evitar sobreajuste.
La única diferencia relevante es que ahora el error ya no es un solo número, sino un vector (un error por clase). El modelo aprende, en efecto, un conjunto de pesos por clase en lugar de uno solo.
¿Cómo se interpreta la frontera de decisión?
En el caso binario tenías una única línea que separaba el 0 del 1. Con más clases, el concepto se generaliza: en lugar de una frontera, el espacio se divide en regiones, una por clase. Softmax decide, en cada punto, qué región «gana».
Comparado con otros clasificadores, la forma de esas regiones cambia bastante:
| Modelo | Forma de las regiones |
|---|---|
| K-NN | Poligonales, irregulares |
| Árboles de decisión | Rectangulares, a «cortes» |
| Softmax / logística multinomial | Suaves, lineales y continuas |
Softmax produce fronteras lineales entre clases, por eso da regiones «limpias». Es su gran virtud (simplicidad e interpretabilidad) y también su límite, como veremos ahora.
¿Cuándo usar Softmax?
Es una buena elección cuando:
- Tienes más de dos clases mutuamente excluyentes (cada ejemplo pertenece a una sola).
- Quieres probabilidades bien calibradas, no solo una etiqueta.
- Necesitas un modelo lineal, rápido e interpretable.
- Vas a conectar esto con redes neuronales: Softmax es la capa de salida estándar de casi cualquier clasificador moderno.
¿Cuándo NO usar Softmax?
Conviene buscar otra herramienta cuando:
- Las clases no son mutuamente excluyentes (una foto puede tener un perro y una pelota a la vez). Ahí Softmax falla porque obliga a repartir un único 100%; lo correcto es una clasificación multietiqueta con sigmoides independientes.
- El problema es muy no lineal: las fronteras rectas de Softmax no bastan, y modelos como árboles, random forests o SVM con kernel funcionan mejor.
En resumen
- Softmax convierte puntuaciones en bruto en probabilidades que suman 1.
- La regresión logística multinomial es la extensión de la logística a varias clases: modelo lineal + Softmax + cross-entropy.
- La pérdida es la cross-entropy multiclase, que castiga especialmente estar muy seguro y equivocarse.
- Se entrena con descenso del gradiente, igual que la versión binaria; la única diferencia es que el error es un vector.
- Es la base de la capa de salida de casi todas las redes neuronales modernas, así que entenderlo bien es un paso previo esencial hacia el deep learning.

