Logotipo de Zephyrnet

Una comprensión completa de la regresión LASSO

Fecha:

Tabla de contenidos.

Contribuido por: Dinesh Kumar

Introducción

En este blog, veremos las técnicas utilizadas para superar sobreajuste para un modelo de regresión de lazo. La regularización es uno de los métodos más utilizados para hacer que su modelo sea más generalizado.

¿Qué es la regresión de lazo?

La regresión de Lasso es una técnica de regularización. Se utiliza sobre los métodos de regresión para una predicción más precisa. Este modelo utiliza la contracción. La reducción es donde los valores de los datos se reducen hacia un punto central como la media. El procedimiento de lazo fomenta modelos simples y dispersos (es decir, modelos con menos parámetros). Este tipo particular de regresión es adecuado para modelos que muestran altos niveles de multicolinealidad o cuando desea automatizar ciertas partes de la selección del modelo, como la selección de variables/eliminación de parámetros.

Lasso Regression utiliza la técnica de regularización L1 (se analizará más adelante en este artículo). Se utiliza cuando tenemos más funciones porque automáticamente realiza la selección de funciones.

Significado de lazo

La palabra "LASSO" significa Leste Aabsoluto Sencogimiento y Selección Operador Es una fórmula estadística para la regularización de modelos de datos y selección de características.

Regularización

La regularización es un concepto importante que se utiliza para evitar el sobreajuste de los datos, especialmente cuando los datos entrenados y de prueba varían mucho.

La regularización se implementa agregando un término de "penalización" al mejor ajuste derivado de los datos entrenados, para lograr un menor varianza con los datos probados y también restringe la influencia de las variables predictoras sobre la variable de salida al comprimir sus coeficientes.

En la regularización, lo que hacemos normalmente es mantener el mismo número de características pero reducir la magnitud de los coeficientes. Podemos reducir la magnitud de los coeficientes utilizando diferentes tipos de técnicas de regresión que utilizan la regularización para superar este problema. Entonces, discutámoslos. Antes de continuar, también puede mejorar sus habilidades con la ayuda de cursos en línea sobre Regresión Lineal en Python y mejorar sus habilidades.

Técnicas de regularización de lazo

Hay dos técnicas principales de regularización, a saber, Ridge Regression y Lasso Regression. Ambos difieren en la forma en que asignan una penalización a los coeficientes. En este blog, intentaremos comprender más sobre la técnica de regularización de lazo.

Regularización L1

Si un modelo de regresión usa la técnica de Regularización L1, entonces se llama Regresión Lasso. Si usó la técnica de regularización L2, se llama Ridge Regression. Estudiaremos más sobre esto en las secciones posteriores.

La regularización L1 añade una penalización igual a la valor absoluto de la magnitud del coeficiente. Este tipo de regularización puede resultar en modelos dispersos con pocos coeficientes. Algunos coeficientes pueden volverse cero y ser eliminados del modelo. Las penalizaciones más grandes dan como resultado valores de coeficiente más cercanos a cero (ideal para producir modelos más simples). Por otro lado, la regularización de L2 no da como resultado la eliminación de modelos o coeficientes dispersos. Por lo tanto, Lasso Regression es más fácil de interpretar en comparación con Ridge. Si bien hay muchos recursos disponibles en línea para ayudarlo a comprender el tema, no hay nada como un certificado. Echa un vistazo a Great Learning's mejor curso de inteligencia artificial en linea para mejorar en el dominio. Este curso lo ayudará a aprender de una escuela global de primer nivel para desarrollar habilidades AIML listas para el trabajo. Este programa de 12 meses ofrece una experiencia de aprendizaje práctica con los mejores profesores y mentores. Al finalizar, recibirá un Certificado de la Universidad de Texas en Austin y Great Lakes Executive Learning.

Lea también Tutorial de Python para principiantes

Ecuación matemática de la regresión de Lasso

Suma Residual de Cuadrados + λ * (Suma del valor absoluto de la magnitud de los coeficientes)

Dónde,

  • λ denota la cantidad de contracción.
  • λ = 0 implica que se consideran todas las características y es equivalente a la regresión lineal donde solo se considera la suma residual de cuadrados para construir un modelo predictivo
  • λ = ∞ implica que no se considera ninguna característica, es decir, a medida que λ se acerca al infinito, elimina más y más características
  • El sesgo aumenta con el aumento de λ
  • la varianza aumenta con la disminución de λ

Regresión de lazo en Python

Para este código de ejemplo, consideraremos un conjunto de datos de Machine hack Predicción del costo de la comida en un restaurante Hackathon.

Acerca del conjunto de datos

La tarea aquí consiste en predecir el precio promedio de una comida. Los datos consisten en las siguientes características.

Tamaño del conjunto de entrenamiento: 12,690 registros

Tamaño del conjunto de prueba: 4,231 registros

Columnas/Características

TÍTULO: La característica del restaurante que puede ayudar a identificar para qué y para quién es adecuado.

RESTAURANTE_ID: Una identificación única para cada restaurante.

COCINAS: La variedad de cocinas que ofrece el restaurante.

HORA: El horario de apertura del restaurante.

CIUDAD: La ciudad en la que se encuentra el restaurante.

LOCALIDAD: La localidad del restaurante.

CALIFICACIÓN : La calificación promedio del restaurante por parte de los clientes.

VOTOS: Los votos totales recibidos por el restaurante.

COSTO: El costo promedio de una comida para dos personas.

Después de completar todos los pasos hasta Feature Scaling (Exclusive), podemos proceder a construir una regresión de Lasso. Estamos evitando el escalado de características ya que la regresión de lazo viene con un parámetro que nos permite normalizar los datos mientras los ajustamos al modelo.

Lea también Principales preguntas de la entrevista de aprendizaje automático

Ejemplo de regresión de lazo

import numpy as np

Crear un nuevo tren y conjuntos de datos de validación

from sklearn.model_selection import train_test_split
data_train, data_val = train_test_split(new_data_train, test_size = 0.2, random_state = 2)

Clasificación de predictores y objetivo

#Classifying Independent and Dependent Features
#_______________________________________________
#Dependent Variable
Y_train = data_train.iloc[:, -1].values
#Independent Variables
X_train = data_train.iloc[:,0 : -1].values
#Independent Variables for Test Set
X_test = data_val.iloc[:,0 : -1].values

Evaluación del modelo con RMLSE

def score(y_pred, y_true):
error = np.square(np.log10(y_pred +1) - np.log10(y_true +1)).mean() ** 0.5
score = 1 - error
return score
actual_cost = list(data_val['COST'])
actual_cost = np.asarray(actual_cost) 

Construyendo el regresor de Lasso

#Lasso Regression from sklearn.linear_model import Lasso
#Initializing the Lasso Regressor with Normalization Factor as True
lasso_reg = Lasso(normalize=True)
#Fitting the Training data to the Lasso regressor
lasso_reg.fit(X_train,Y_train)
#Predicting for X_test
y_pred_lass =lasso_reg.predict(X_test)
#Printing the Score with RMLSE
print("nnLasso SCORE : ", score(y_pred_lass, actual_cost)) 

Salida

0.7335508027883148

La regresión de Lasso alcanzó una precisión del 73 % con el conjunto de datos dado.

Lea también ¿Qué es la regresión lineal en el aprendizaje automático?

Regresión de lazo en R

Tomemos el conjunto de datos "The Big Mart Sales", tenemos Ventas por producto para Múltiples puntos de venta de una cadena.

En el conjunto de datos, podemos ver las características del artículo vendido (contenido de grasa, visibilidad, tipo, precio) y algunas características del punto de venta (año de establecimiento, tamaño, ubicación, tipo) y el número de artículos vendidos para ese artículo en particular. . Veamos si podemos predecir las ventas usando estas funciones.

Tomemos una instantánea del conjunto de datos: 

¡Codifiquemos!

Comprobación rápida - Curso de aprendizaje profundo

Regresión de cresta y lazo

La regresión de lazo es diferente de la regresión de cresta, ya que utiliza valores de coeficientes absolutos para la normalización.

Como la función de pérdida solo considera coeficientes absolutos (pesos), el algoritmo de optimización penalizará los coeficientes altos. Esto se conoce como la norma L1.

En la imagen de arriba podemos ver, Funciones de restricción (área azul); el de la izquierda es para el lazo mientras que el de la derecha es para la cresta, junto con los contornos (eclipse verde) para la función de pérdida, es decir, RSS.

En el caso anterior, para ambas técnicas de regresión, las estimaciones de los coeficientes vienen dadas por el primer punto en el que los contornos (un eclipse) entran en contacto con la región de restricción (círculo o rombo).

Por otro lado, la restricción de lazo, debido a la forma de diamante, tiene esquinas en cada uno de los ejes, por lo que el eclipse a menudo se cruzará en cada uno de los ejes. Debido a eso, al menos uno de los coeficientes será igual a cero.

Sin embargo, la regresión de lazo, cuando α es lo suficientemente grande, reducirá algunas de las estimaciones de los coeficientes a 0. Esa es la razón por la que lasso proporciona soluciones escasas.

El principal problema con la regresión de lazo es cuando tenemos variables correlacionadas, retiene solo una variable y establece otras variables correlacionadas en cero. Eso posiblemente conducirá a cierta pérdida de información, lo que resultará en una menor precisión en nuestro modelo.

Esa fue la técnica de regularización de Lasso, y espero que ahora puedas comprenderla de una mejor manera. Puede usar esto para mejorar la precisión de sus modelos de aprendizaje automático.

Diferencia entre regresión de cresta y regresión de lazo

Regresión de cresta Regresión de lazo
El término de penalización es la suma de los cuadrados de los coeficientes (regularización L2). El término de penalización es la suma de los valores absolutos de los coeficientes (regularización L1).
Reduce los coeficientes pero no establece ningún coeficiente en cero. Puede reducir algunos coeficientes a cero, realizando efectivamente la selección de características.
Ayuda a reducir el sobreajuste al reducir los coeficientes grandes. Ayuda a reducir el sobreajuste reduciendo y seleccionando características con menos importancia.
Funciona bien cuando hay una gran cantidad de funciones. Funciona bien cuando hay una pequeña cantidad de funciones.
Realiza un "umbral suave" de los coeficientes. Realiza "umbralización dura" de los coeficientes.

En resumen, Ridge es un modelo de contracción y Lasso es un modelo de selección de características. Ridge intenta equilibrar el equilibrio entre sesgo y varianza reduciendo los coeficientes, pero no selecciona ninguna característica y las mantiene todas. Lasso trata de equilibrar el sesgo-varianza compensación reduciendo algunos coeficientes a cero. De esta forma, Lasso puede verse como un optimizador para la selección de funciones.

Comprobación rápida - Curso gratuito de aprendizaje automático

Interpretaciones y Generalizaciones

Interpretaciones:

  1. Interpretaciones Geométricas
  2. Interpretaciones bayesianas
  3. Relajación convexa Interpretaciones
  4. Hacer que λ sea más fácil de interpretar con una compensación entre precisión y simplicidad

Generalizaciones

  1. Red elástica
  2. Lazo de grupo
  3. Lazo fusionado
  4. Lazo adaptativo
  5. Lazo anterior
  6. Cuasi-normas y regresión puente
¿Para qué se utiliza la regresión de Lasso?

La regresión de lazo se utiliza para eliminar variables automatizadas y la selección de características. 

¿Qué es la regresión de lazo y cresta?

La regresión de Lasso hace que los coeficientes lleguen al cero absoluto; mientras que la regresión de cresta es un método de cambio de modelo que se utiliza para analizar datos que sufren de multicolinealidad

¿Qué es la regresión de Lasso en el aprendizaje automático?

La regresión de Lasso hace que los coeficientes lleguen al cero absoluto; mientras que la regresión de cresta es un método de cambio de modelo que se utiliza para analizar datos que sufren de multicolinealidad

¿Por qué Lasso encoge cero?

La regularización L1 realizada por Lasso hace que el coeficiente de regresión de la variable menos contribuyente se reduzca a cero o cerca de cero.

¿Es Lasso mejor que Ridge?

Lasso se considera mejor que ridge, ya que selecciona solo algunas características y reduce los coeficientes de otras a cero.

¿Cómo funciona la regresión de Lasso?

La regresión de lazo utiliza la reducción, donde los valores de los datos se reducen hacia un punto central, como el valor medio.

¿Qué es la pena de Lazo?

La penalización de Lasso encoge o reduce el valor del coeficiente hacia cero. Por lo tanto, se permite que la variable menos contribuyente tenga un coeficiente cero o cercano a cero.

¿Lazo es L1 o L2?

Un modelo de regresión que usa la técnica de regularización L1 se llama Regresión de Lasso, mientras que un modelo que usa L2 se llama Regresión de Ridge. La diferencia entre estos dos es el término pena.

¿Lasso es supervisado o no supervisado?

Lasso es un método de regularización supervisado utilizado en el aprendizaje automático.

Si es un principiante en el campo, tome la Curso en línea de inteligencia artificial y aprendizaje automático ofrecido por Gran Aprendizaje.

punto_img

Información más reciente

punto_img