Inteligencia de Negocios

La guía rápida (y definitiva) para la regularización

single-image


Haga clic aquí para obtener más información sobre el autor, Ram Tavva.

Ya sea en estadística, matemáticas o finanzas, especialmente con aprendizaje automático y problemas inversos, la regularización es cualquier modificación que se realiza en un algoritmo de aprendizaje que tiene como objetivo reducir el error de generalización en lugar del error de entrenamiento. En lenguaje sencillo, podemos decir que la palabra «regular» significa simplemente hacer las cosas aceptables o regulares.

¿En qué situaciones utilizamos la regularización? A veces nos encontramos con una situación en la que nuestro algoritmo de aprendizaje automático no funciona bien al probar datos, pero funciona excepcionalmente bien con datos de entrenamiento. Esta es una situación en la que entra la regularización y resuelve los problemas. No se recomienda aprender un modelo flexible o más complejo para evitar el sobreajuste. Esta técnica se puede utilizar de tal manera que podamos mantener cualquier variable o característica en el modelo reduciendo el tamaño de las variables. Por tanto, la regularización mantiene tanto la precisión como la generalización del modelo.

De la misma manera que el tratamiento del cáncer destruye las células cancerosas en lugar de afectar las células sanas del cuerpo, el enfoque de regularización ataca solo el ruido sin afectar la señal.

¿Cuál es el principio fundamental de regularización?

El principio de regularización es que se agrega un concepto de penalización o complejidad al modelo complejo.

Considerando la ecuación de regresión lineal simple: y = β0 + β1 × 1 + β2 × 2 + β3 × 3 ++ βnxn + bdonde y representa el valor a predecir y X1, X2, … Xn representan las características de Y. También β0, β1, … βn representan los pesos o cantidades asociadas con las características. Aquí b representa la intersección. Los modelos de regresión lineal intentan optimizar el valor de β0 yb para minimizar la función de costo.

Entonces, la ecuación de la función de costo para el modelo lineal es la siguiente:

La regularización de crestas y la regularización de lazo son las dos técnicas más poderosas que se utilizan comúnmente para crear modelos económicos para una amplia variedad de funciones. Estas formas de regularización asumen que pesos más pequeños conducen a modelos más simples, lo que a su vez ayuda a evitar el sobreajuste de un modelo. Para obtener una matriz de peso más pequeña, estas técnicas agregan un término de regularización junto con la pérdida para obtener la función de costo que se puede dar como Función de costo = pérdida + tiempo de regularización.

¿Qué es la regularización de crestas?

La regularización de crestas es una de las técnicas de regularización de regularización lineal que introduce un sesgo bajo para obtener mejores predicciones a largo plazo y se utiliza para reducir la complejidad del modelo. También se conoce como regularización L2.

En esta técnica, la cantidad de sesgo agregado al modelo se denomina penalización por regularización de crestas y la función de costo se cambia agregando el término de penalización. Podemos calcularlo multiplicando la lambda por el peso al cuadrado de cada característica individual. Esto dice que la ecuación para la función de costo en la regulación de peine es:

En la ecuación anterior, el término de penalización regula los coeficientes del modelo, reduciendo así las amplitudes de los coeficientes y, en última instancia, reduciendo la complejidad del modelo. Como veremos en la ecuación anterior, la ecuación se convierte en la función de valor del modelo de regularización rectilíneo cuando los valores de λ tienden a cero. Por lo tanto, el modelo para el valor mínimo de λ es similar al modelo de regularización de línea recta.

La regularización general lineal o polinomial falla si existe un alto grado de colinealidad entre las variables independientes. La regularización de crestas se utiliza a menudo para resolver estos problemas. Ayuda a resolver los problemas cuando tenemos más parámetros que ejemplos.

¿Qué es la regularización del lazo?

Regularización de lazo, también conocida como regularización L1, es otra técnica de regularización que reduce la complejidad del modelo.

Su principio de funcionamiento es casi similar a la regularización de Ridge, excepto que el término penal solo contiene los pesos y no el cuadrado de los pesos. También significa Operador de selección y mínimo absoluto. Por lo tanto, la regularización de Lasso puede ayudarnos a reducir el sobreajuste en el modelo y aumentar la selección de características. La ecuación matemática general para la función de valor de regularización de Lasso es:

Implementar la regularización de crestas y lazos mediante la programación de Python

Paso 1: El primer paso y el más importante es importar las bibliotecas necesarias, incluidas pandas, numpy, matplotlib, sklearn.linear_model, sklearn.model_selectiony finalmente de la biblioteca de estadísticas. los train_test_split y cross_val_score son importados del Biblioteca Sklearn.model_selection. Los coeficientes de regularización de la cresta minimizan una suma de cuadrados residual penalizada, mientras que el lazo es un modelo lineal que estima coeficientes escasos.

Paso 2: Una vez que terminamos de importar las bibliotecas, el siguiente paso es cargar el conjunto de datos. Para esta explicación particular usamos que kc_house_data.csv, Esto consistió en datos históricos de viviendas vendidas entre mayo de 2014 y mayo de 2015.

El registro de datos se puede cargar con el pd.read_csv Comando y luego se muestra para una mejor visualización como se muestra a continuación.

Paso 3: Es necesario eliminar los valores nulos del conjunto de datos. data.dropna () Los valores nulos pueden provocar errores y reducir la precisión en la predicción del modelo.

Cada registro de datos consta de unas pocas columnas que son irrelevantes o sin sentido y pueden omitirse. Se aplica el mismo caso en el que usamos el «ID, fecha, código postal”Columnas de nuestro conjunto de datos. Ahora es el momento de separar las variables dependientes e independientes. Puede comprenderlo mucho mejor con el siguiente fragmento de código.

Paso 4: Para comprobar si nuestro modelo está funcionando bien o no, tenemos que dividir nuestros datos en conjuntos de entrenamiento y prueba. test_size = 0.25.

Paso 5: los cross_val_score ayuda a estimar la precisión esperada de nuestro modelo en función de los datos de entrenamiento. El beneficio adicional es que no es necesario reservar datos para obtener esta métrica y aún podemos entrenar nuestro modelo con los datos disponibles.

Entonces para encontrar eso cross_val_score En nuestro modelo, hemos llevado a cabo una serie de pasos jerárquicos, que se explican en detalle en el siguiente extracto.

Paso 6: Ahora estamos listos para construir y ajustar nuestros modelos de regresión, comenzando con la regularización de crestas. imprimir (ridgeModelChosen.score (X_test, y_test) evaluará el modelo en consecuencia.

Paso 7: Lo mismo se aplica a la implementación de la regularización de lazo en nuestro modelo. Primero tenemos que calcular eso cross_val_scoreLuego construya el modelo, personalícelo y finalmente evalúe nuestro modelo.

Paso 8: El último y uno de los pasos más importantes es comparar ambos modelos de regularización utilizando la representación gráfica. Veamos cómo podemos hacer eso.

Paso 9: Finalmente, trazaremos las puntuaciones con «modelos de regularización» en el eje xy «puntuación» en el eje y.

También te gustará