2.2.2
Regresión softmax
Resumen
- La regresión softmax generaliza la regresión logística al caso multiclase, produciendo simultáneamente la probabilidad de cada clase.
- Las salidas están entre 0 y 1 y suman 1, por lo que se integran fácilmente en umbrales de decisión, reglas con costes o pipelines posteriores.
- El entrenamiento minimiza la entropía cruzada, corrigiendo directamente la discrepancia entre la distribución predicha y la verdadera.
- En scikit-learn,
LogisticRegression(multi_class="multinomial")implementa la regresión softmax y admite regularización L1/L2.
Intuicion #
Este metodo se entiende mejor al conectar sus supuestos con la estructura de los datos y su efecto en la generalizacion.
Explicacion Detallada #
Formulación matemática #
Sea \(K\) el número de clases, \(\mathbf{w}_k\) y \(b_k\) los parámetros de la clase \(k\). Entonces
$$ P(y = k \mid \mathbf{x}) = \frac{\exp\left(\mathbf{w}_k^\top \mathbf{x} + b_k\right)} {\sum_{j=1}^{K} \exp\left(\mathbf{w}_j^\top \mathbf{x} + b_j\right)}. $$La función objetivo es la entropía cruzada
$$ L = - \sum_{i=1}^{n} \sum_{k=1}^{K} \mathbb{1}(y_i = k) \log P(y = k \mid \mathbf{x}_i), $$con la posibilidad de añadir regularización para evitar sobreajuste.
Experimentos con Python #
El siguiente código entrena una regresión softmax sobre un conjunto sintético de tres clases y dibuja las regiones de decisión. Basta con indicar multi_class="multinomial" para activar la formulación softmax.
| |

Referencias #
- Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.
- Murphy, K. P. (2012). Machine Learning: A Probabilistic Perspective. MIT Press.