Regresión Lineal para Machine Learning

Compartir esta publicación

Introducción

En este artículo, veremos el modelo de Regresión Lineal para el Machine Learning, que es uno de los modelos más básicos disponibles.

Regresión Lineal

Regresión lineal para el aprendizaje automático

Esta ecuación muestra una fórmula multidimensional para la regresión lineal, donde ŷ es el valor multidimensional predicho, n es el número de dimensiones (o comúnmente llamadas características),xi es el ith valor de la característica, y ⍬ es el jth parámetro o peso del modelo.

Con esta definición, ahora debemos ver la forma de entrenar un modelo siguiendo esta ecuación. Entrenar un modelo significa ajustar sus parámetros para que el modelo se ajuste lo mejor posible al conjunto de entrenamiento. También debemos encontrar una medida de lo bien que el modelo se ajusta a los datos de entrenamiento, para ello podríamos utilizar el Error Cuadrático Medio (MSE).

Ecuación - regresión lineal para el aprendizaje automático

Aquí estamos usando x, y, ⍬ como vectores de tamaño m.

Teniendo esto en cuenta, para entrenar un modelo de Regresión Lineal necesitamos encontrar el valor de ⍬ que minimice el MSE.

Ecuación Normal

Existe una solución de forma cerrada llamada Ecuación Normal que da el valor de ⍬ que minimiza la función de coste.

Ecuación normal: regresión lineal para el aprendizaje automático

Donde ⍬^es el valor de ⍬ que minimiza la función de coste, y es el vector de valores objetivo que contiene y¹a ym

Veamos un ejemplo con datos de aspecto lineal para probar esta ecuación:

QvDOw7EZfxWkNvDZAHZJ8BDOHFg0CCnWgmqX7L3NfczhEB2hTU4YVA uz7j3fBIMDbyI68ABPsXJ8eCVRvbbiiVjwKYQ8vlAQ6nmdaGXUYxmIVwcZrLMKoKqtjYa9UDU8XVdwFJ4ElZUi2kM0umjKuQoOKgag0wj5hwYsCD Gh wNNnln07QGiVWK2TrZcjczzzRI 4

Ahora podemos calcular ⍬^utilizando la Ecuación Normal:

bdsA6eET6UR54KDpM9fwRELwP0B3a5sCnue4aPMF0kAdt5FtgtYh8hvrKPSBLvTbJjQJLp2AUu 4E8z5sKh8fc7fJMzIcNDio2a55qzoGahKZlpdiRjhtll08v2qSQcx0PdJN2RyC9FRNwl5W4O2q6iXud qmkKNMu GoKmRtm7Kt6vqJ4hlD jPkcpWRgXhehds7Vo

Como podemos ver la ecuación inicial que hemos utilizado para generar los datos es:

Ecuación - Regresión lineal

Y podíamos haberlo esperado:

Regresión lineal para el aprendizaje automático

El resultado se aproximaba bastante, sin embargo, el Gaussian noise hacía imposible recuperar los parámetros exactos de la función original. Ahora podemos hacer predicciones utilizando ⍬^:

UfOVhiHB24XI8vaeceWWQsWAYT71NvBU6SC9UIpXx65 lJfX4iqocB42K1V61RJ0fVbTrvzQM 0w0q8NVkrZmNivHNSXTIvsAgBX1E1GiSYc62FLYlaOrWInKmHXNu2UNS4FDeCPWpzeEwzqwK7ojTPDgI1dPVoMwIfegXC5ziReembbCpqO7ITFS1H YjLOOJvI7Nc

Existen varias herramientas de ML para realizar la Regresión Lineal en lugar de calcular estas ecuaciones manualmente, por ejemplo, Scikit-Learn:

kw g6riDkGcihJ55j0cEF2I8tmLsXgtSwhaF

Coeficiente de correlación estándar

El coeficiente de correlación estándar, también llamado de Pearson, nos da una medida de la correlación lineal entre dos conjuntos de datos. Es el cociente entre la covarianza de dos variables y el producto de sus desviaciones típicas:

Coeficiente de correlación estándar - Modelo de regresión lineal para el aprendizaje automático

Este coeficiente varía entre -1 y 1. Cuanto más se acerque a 1 o -1, más correlacionadas estarán las dos variables (positivas o negativas).

Podemos calcular este coeficiente fácilmente con Python utilizando la librería pandas. Para nuestro ejemplo, necesitamos transformar x e y en variables de una dimensión con la función concatenate de numpy y luego usando la función corr() en el conjunto de datos creado con pandas, obtenemos la matriz de correlaciones entre estos dos parámetros:

i5wPOGfI2r5x354RKMHns AnpZmRl9xJ1Wpmuimzfv T4irICrYJHX1R1DmAI92PpMggduUE7sFtZy7nR51AQlmR8siWY09K7jC17PqZaFPTMm9ulhxKTpz 7L4heNYEE1 z5uhgUy1 pKlTBINirknkFeLT7KkxQO 91cfomn9hGj05Y36SzSOXhS5CQHj0V0oFCAc

En este caso, el coeficiente de correlación entre x e y es 0,855022. Por tanto, podemos decir que están bastante correlacionadas, como era de esperar.

Regresión lineal

En esta sección, vamos a utilizar lo que hemos aprendido anteriormente para analizar un conjunto de datos sobre los precios de la vivienda en Boston. Podemos descargar el conjunto de datos de Kaggle (nos proporciona múltiples conjuntos de datos para probar y aprender).

Información sobre atributos

Características de entrada en orden:

  1. CRIM: tasa de delincuencia per cápita por ciudad
  2. ZN: proporción de suelo residencial zonificado para lotes de más de 25.000 pies cuadrados.
  3. INDUS: proporción de acres comerciales no minoristas por ciudad
  4. CHAS: Variable ficticia Charles River (1 si el tramo linda con el río; 0 en caso contrario)
  5. NOX: concentración de óxidos nítricos (partes por 10 millones) [partes/10M].
  6. RM: número medio de habitaciones por vivienda
  7. AGE: proporción de unidades ocupadas por sus propietarios construidas antes de 1940
  8. DIS: distancias ponderadas a cinco centros de empleo de Boston
  9. RAD: índice de accesibilidad a las autopistas radiales
  10. TAX: tipo del impuesto sobre bienes inmuebles de valor íntegro por 10.000 $ [10.000 $].
  11. PTRATIO: ratio alumnos-profesor por ciudad
  12. B: El resultado de la ecuación B=1000(Bk – 0,63)^2 donde Bk es la proporción de negros por ciudad
  13. LSTAT: % estatus inferior de la población
  14. MEDV: Valor medio de las viviendas ocupadas por sus propietarios en miles de $ [k$].

Nuestro objetivo será ver la correlación entre los precios y otras variables del conjunto de datos, utilizando el coeficiente de correlación estándar. Primero cargamos el conjunto de datos utilizando pandas:

bO9v8uGTWD1rLjzYHb fxecpeQsdBqFnfUVRmgMtU Uq ipBtBS EYrdOm3fErRVvZLuyjdSptQMaNVa7SNZ4ygdV7GJ5GU8N ZVJ0mmglV2RVKT7Kc30YrRaYEcJo8rbI sDuRGIw9Bvwdes

Ahora podemos ver cómo se correlaciona cada atributo con el valor medio de las viviendas ocupadas por sus propietarios:

QtfqgeH3dgqNWl7oJcpJtcWN0IhF8w7 eXyOuYmaGhJ3sRu5hB fpwPOpZRCrDA99bVV4ZggY tz6w0Cscfday5ywb6Ck9C vxIT7orG7FYKPnNx77b8h7bvbLQBt5y2 37AAqiEdr LgoZl2UMVNO6UlHMPc4 DhpN4YbHNAVSy1MGqNchgWDX3SrNIP1TW3B38K60

El coeficiente de correlación varía entre 1 y -1. Cuando se aproxima a 1, significa que existe una fuerte correlación positiva. En este caso, el precio tiende a subir cuando sube el RM (número medio de habitaciones por vivienda). Podemos ver que el coeficiente de correlación es 0,695 y como observamos en el gráfico a pesar de algunos puntos existe una fuerte correlación entre estas dos características.

Conclusión

Hemos visto los fundamentos de la regresión lineal y sus aplicaciones al Machine Learning. Hemos aprendido a predecir nuevos valores con modelos de regresión lineal y también hemos visto cómo utilizar la matriz de coeficientes de correlación estándar para obtener características correlacionadas en conjuntos de datos. 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Suscríbete a nuestro boletín de noticias

Recibe actualizaciones de los últimos descubrimientos tecnológicos

Acerca de Apiumhub

Apiumhub reúne a una comunidad de desarrolladores y arquitectos de software para ayudarte a transformar tu idea en un producto potente y escalable. Nuestro Tech Hub se especializa en Arquitectura de Software, Desarrollo Web & Desarrollo de Aplicaciones Móviles. Aquí compartimos con usted consejos de la industria & mejores prácticas, basadas en nuestra experiencia.

¿Tienes un proyecto desafiante?

Podemos trabajar juntos

Secured By miniOrange