Regresión Softmax

Extensión multiclase de la regresión logística

La regresión Softmax es una generalización de la regresión logística para problemas de clasificación multiclase, donde el modelo estima probabilidades para múltiples categorías.

👉 Es uno de los clasificadores más utilizados en redes neuronales y deep learning.


Definición corta

La regresión Softmax convierte puntuaciones numéricas en probabilidades sobre múltiples clases.


📐 Definición matemática

🔹 Puntajes lineales

zi=wiTx+biz_i = w_i^T x + b_i

regresion softmax
regresion softmax


🔹 Función Softmax

P(y=ix)=ezijezjP(y=i\mid x)=\frac{e^{z_i}}{\sum_j e^{z_j}}


👉 transforma logits en probabilidades.


🧠 Intuición

La regresión Softmax responde:

👉 “¿Qué tan probable es cada clase?”


Entrada X ↓ Logits ↓ Softmax ↓ Distribución de probabilidades

📊 Propiedad clave

Las probabilidades cumplen:iP(y=ix)=1\sum_i P(y=i|x)=1

👉 todas las clases compiten entre sí.


📊 Ejemplo simple

Clasificación de imágenes:

Gato → 0.7 Perro → 0.2 Pájaro → 0.1

👉 el modelo elige “gato”.


🔄 Relación con regresión logística

ModeloNúmero de clases
Regresión logística2
Regresión Softmaxmúltiples

👉 Softmax = extensión multiclase.


🧠 Logits

Los logits son valores antes de Softmax:

[2.1, 0.5, -1.2]

👉 Softmax los convierte en probabilidades.


📊 Ejemplo conceptual

Puntajes ↓ Normalización exponencial ↓ Probabilidades

🧠 Función de pérdida

Usa típicamente entropía cruzada multiclase.

L=iyilog(y^i)L=-\sum_i y_i\log(\hat y_i)L=−∑i​yi​log(y^​i​)


👉 penaliza predicciones incorrectas.


🧠 Uso en machine learning

La regresión Softmax se usa en:

  • clasificación de imágenes
  • procesamiento de lenguaje natural
  • reconocimiento de voz
  • redes neuronales profundas

📊 Ejemplo conceptual

Datos ↓ Softmax ↓ Probabilidades por clase

🧠 Ventajas

  • probabilidades interpretables
  • entrenamiento eficiente
  • estándar en clasificación multiclase

🧠 Desventajas

  • asume clases mutuamente excluyentes
  • sensible a logits extremos
  • puede estar mal calibrada

🧠 Relación con redes neuronales

La capa final de muchas redes usa:

Linear layer ↓ Softmax

👉 produce probabilidades finales.


📊 Ejemplo en Python

Python
from sklearn.linear_model import LogisticRegression
import numpy as np
X = np.array([[1], [2], [3], [4]])
y = np.array([0, 1, 2, 1])
model = LogisticRegression(multi_class='multinomial')
model.fit(X, y)
print(model.predict_proba([[2.5]]))

Ejemplo en PyTorch

Python
import torch
import torch.nn.functional as F
logits = torch.tensor([2.0, 1.0, 0.1])
probs = F.softmax(logits, dim=0)
print(probs)

🧠 Qué muestra este ejemplo

  • conversión a probabilidades
  • competencia entre clases
  • clasificación multiclase

⚠️ Errores comunes

Aplicar Softmax dos veces

Puede romper entrenamiento.


Confundir logits con probabilidades

Son diferentes.


Usar Softmax para multilabel

No es adecuado.


📊 Ejemplo conceptual en ML

Entrada ↓ Logits ↓ Softmax ↓ Clase final

🧠 Interpretación profunda

La regresión Softmax refleja un principio clave:

👉 Clasificar múltiples categorías es distribuir probabilidad entre opciones competidoras

Es la base de:

  • clasificación moderna
  • redes neuronales profundas
  • modelos de lenguaje

Conclusión

La regresión Softmax es una extensión multiclase de la regresión logística que convierte logits en probabilidades interpretables.

👉 Es uno de los componentes más importantes del deep learning moderno.


Related Concepts

Ejemplo en Python

Este concepto incluye un ejemplo práctico en Python para ayudarte a entenderlo mejor:

👉 Ver código en GitHub