En general, los algoritmos de regresión buscan optimizar una serie de parámetros o pesos que, aplicados sobre los datos, permiten ajustar una variable objetivo de la mejor forma posible.
Para ello, en el proceso de entrenamiento, se quiere reducir al máximo un error definido, como puede ser el error cuadrático medio. Sin embargo, no es la única estrategia posible: por ejemplo, en determinados problemas, podemos querer reducir el número de pesos del modelo, lo que tiende a generalizar mejor, por lo que buscamos no solamente reducir el error de entrenamiento sino la norma de sus pesos. Dependiendo de cómo definamos esta penalización sobre los pesos, nos encontramos con algoritmos como Ridge, Lasso o Elastic Net.