Regularización significa penalizar la complejidad de un modelo para reducir el sobreajuste.
Regularización para lograr simplicidad
Curva de generalización
Penalización de la complejidad del modelo
- Queremos evitar la complejidad del modelo siempre que sea posible.
- Podemos incorporar esta idea en la optimización que hacemos durante el entrenamiento.
- Minimización del riesgo empírico:
- busca menos errores en el entrenamiento
$$ \text{minimize: } Loss(Data\;|\;Model) $$
Penalización de la complejidad del modelo
- Queremos evitar la complejidad del modelo siempre que sea posible.
- Podemos incorporar esta idea en la optimización que hacemos durante el entrenamiento.
- Minimización del riesgo estructural:
- busca menos errores en el entrenamiento
- y, al mismo tiempo, equilibrar la complejidad
$$ \text{minimize: } Loss(Data\;|\;Model) + complexity(Model) $$
Regularización
- ¿Cómo se define complejidad(Modelo)?
Regularización
- ¿Cómo se define complejidad(Modelo)?
- Preferir pesos más pequeños
Regularización
- ¿Cómo se define complejidad(Modelo)?
- Preferir pesos más pequeños
- Derivar de esta forma debería generar un costo
- Se puede codificar esta idea mediante la regularización L2 (también conocida como de cresta).
- complejidad(modelo) = suma de los cuadrados de los pesos
- Penaliza pesos muy grandes.
- Para modelos lineales: Se prefieren pendientes más planas.
- Prioridad bayesiana:
- Los pesos se deben centrar cerca del cero.
- los pesos se deben distribuir normalmente
Función de pérdida con regularización L2
$$ Loss(Data|Model) + \lambda \left(w_1^2 + \ldots + w_n^2 \right) $$
\(\text{Where:}\)
\(Loss\text{: Aims for low training error}\)
\(\lambda\text{: Scalar value that controls how weights are balanced}\)
\(w_1^2+\ldots+w_n^2\text{: Square of}\;L_2\;\text{norm}\)