Introducción regresión lineal vs. Regresión logística

Introducción regresión lineal vs. Regresión logística
Si bien el aprendizaje automático no es nuevo, ahora hay más datos que nunca antes, contribuyendo a su reciente popularidad. Veremos dos algoritmos populares de aprendizaje automático: regresión lineal y regresión logística con matemáticas e implementación.

¿Qué es la regresión lineal??

La regresión lineal es un algoritmo de aprendizaje automático supervisado simple pero efectivo para predecir variables continuas. La regresión lineal busca determinar cómo la variable de entrada (variable explicativa) varía de la variable de salida (variable de respuesta). Muchos algoritmos avanzados de aprendizaje automático supervisado se basan en conceptos de regresión lineal. La regresión lineal se usa comúnmente en problemas de aprendizaje automático para predecir variables continuas donde las variables de destino y características tienen una relación lineal.

Los siguientes son los componentes principales de una regresión lineal simple: variable de entrada continua, variable de respuesta continua y los supuestos de regresión lineal.

Suposiciones de regresión lineal:

  1. Las variables de entrada (x) tienen una relación lineal con la variable objetivo (y). Además, los coeficientes variables de entrada no deben correlacionarse entre sí.
  2. El término de error se distribuye por igual alrededor de 0, por lo que el valor esperado del término de error es e (e) = 0.

Cómo funciona la regresión lineal?

Un modelo de regresión lineal intenta ajustar una línea que pasa a través del número más significativo de puntos mientras minimiza la distancia al cuadrado (función de costo) de los puntos a los valores de línea ajustados dado un conjunto de entradas de puntos de datos (x) y respuestas (y).

Como resultado, la función de costo se minimiza en última instancia. La función de costo para la regresión lineal suele ser Error medio cuadrado:

La ecuación de regresión está escrita como y = β1x + βO.

El término C representa la intersección, M representa la pendiente de la línea de regresión, x representa la variable de entrada y y representa el valor predicho de la variable de respuesta.

Sabemos por matemáticas básicas que una línea recta se identifica por dos parámetros: pendiente e intercepción. El algoritmo de regresión lineal selecciona algunos parámetros iniciales y los actualiza continuamente para minimizar la desviación estándar. A continuación se muestra la imagen que muestra la línea de regresión (azul), las desviaciones (verde) y los puntos de datos (rojo).

La regresión lineal también se puede extender a múltiples variables de entrada, y el enfoque sigue siendo exactamente el mismo. La ecuación de la línea para múltiples variables está representada por:

Una demostración sobre regresión lineal

Predecamos una variable objetivo utilizando una sola variable de entrada. El siguiente ejemplo y el conjunto de datos son del lear documentación oficial. Scikit-Learn es una biblioteca ampliamente utilizada para desarrollar modelos de aprendizaje automático.

Importar matplotlib.Pyplot como PLT
importar numpy como np
de conjuntos de datos de importación de Sklearn, lineal_model
de Sklearn.Métricos Importar MECN_SQUEAR_Error, R2_Score
# Cargue el conjunto de datos de diabetes
diabetes_x, diabetes_y = DataSets.load_diabetes (return_x_y = true)
# Use solo una característica
diabetes_x = diabetes_x [:, np.Newaxis, 2]
# Divide los datos en conjuntos de entrenamiento/prueba
diabetes_x_train = diabetes_x [:-20]
diabetes_x_test = diabetes_x [-20:]
# Divide los objetivos en conjuntos de entrenamiento/prueba
diabetes_y_train = diabetes_y [:-20]
diabetes_y_test = diabetes_y [-20:]
# Crear objeto de regresión lineal
RERM = LINEAR_MODEL.LinearRegression ()
# Entrena el modelo utilizando los conjuntos de entrenamiento
reembolso.Fit (diabetes_x_train, diabetes_y_train)
# Hacer predicciones utilizando el conjunto de pruebas
diabetes_y_pred = retr.Predicte (diabetes_x_test)
# El error medio cuadrado
Imprimir ("Error al cuadrado medio: %.2f " % media_squared_error (diabetes_y_test, diabetes_y_pred)))

Producción

Error al cuadrado medio: 2548.07

¿Qué es la regresión logística??

La regresión logística es un algoritmo de clasificación. Es un algoritmo de toma de decisiones, lo que significa que busca los límites entre dos clases, y simula las probabilidades de una sola clase. Debido a que la entrada es discreta y puede tomar dos valores, generalmente se usa para la clasificación binaria.

La variable objetivo en la regresión lineal es continua, lo que significa que puede tomar cualquier valor de número real, mientras que, en la regresión logística, queremos que nuestro resultado sea probabilidades (entre 0 y 1). La regresión logística se deriva de la regresión lineal, pero agrega una capa adicional de función sigmoidea para garantizar que la salida permanezca entre 0 y 1.

Cómo funciona la regresión logística?

La regresión logística es un algoritmo de aprendizaje automático simple y ampliamente utilizado, especialmente para problemas de clasificación binaria. Esta extensión del algoritmo de regresión lineal utiliza una función de activación sigmoidea para limitar la variable de salida entre 0 y 1. Supongamos que necesitamos construir un modelo de aprendizaje automático, entonces cada punto de datos de variable independiente será x1 * w1 + x2 * w2 ... y así sucesivamente, y esto dará un valor entre 0 y 1 cuando se pase a través de la función de activación si usamos 0.50 como valor o umbral decisivo. Entonces, cualquier resultado mayor que 0.5 se considera un 1, y cualquier resultado menor que eso se considera un 0. La función de activación sigmoidea se representa como:

Podemos ver en el gráfico que la variable de salida está restringida entre 0 y 1.

En escenarios de más de dos clases, usamos uno vs. Todo el enfoque de clasificación. Dividir el conjunto de datos de múltiples clases en múltiples problemas de clasificación binaria es lo que uno vs. El descanso se trata.

En cada problema de clasificación binaria, se capacita un clasificador binario y se realizan predicciones utilizando el modelo con la mayor confianza.

Implementación de regresión logística

A continuación se muestra el guión de la documentación oficial de Scikit-Learn para clasificar la flor de iris en función de varias características.

>>> de Sklearn.conjuntos de datos importar load_iris
>>> de Sklearn.lineal_model importar logística
>>> x, y = load_iris (return_x_y = true)
>>> clf = logisticRegression (random_state = 0).Fit (x, y)
>>> CLF.Predecir (x [: 2 ,:])
Array ([0, 0])
>>> CLF.Predicte_proba (x [: 2,:])
matriz ([[9.8 ... E-01, 1.8 ... E-02, 1.4 ... E-08],
[9.7 ... E-01, 2.8 ... E-02, ... E-08]])
>>> CLF.Puntuación (x, y)
0.97 ..

Conclusión

Pasamos por la introducción de la regresión logística y lineal, discutimos las matemáticas subyacentes involucradas y pasamos por la parte de implementación de cada uno de ellos. Podemos concluir que la regresión lineal ayuda a predecir variables continuas, mientras que la regresión logística se usa en el caso de variables objetivo discretas. La regresión logística hace esto aplicando la función de activación sigmoidea en la ecuación de regresión lineal.