REGRESION LINEAL Miguel Cárdenas-Montes Regresión lineal es uno de los algoritmos más populares en minería de datos. Pertenece a la categoría de aprendizaje supervisado. Objetivos: Conocer las principales características de la regresión lineal y el algoritmo de gradiente descenciente para minimizar la función de coste. Este documento puede contener imprecisiones o errores. Por favor no lo utilice para citarlo como una fuente fiable. 1 Regresión Lineal 5 4 h θ ( x ) = θ0 + θ1 · x (1) 3 Y La técnica de regresión lineal pertenece a la categoría de aprendizaje supervisado, y dentro de ésta es de tipo regresión ya que su salida son valores contínuos. En esta técnica que modeliza que la salida del algoritmo es una función lineal de los parámetros de entrada: 2 1 0 0 1 2 X 3 4 5 3 4 5 Figura 1: Datos. 5 1 2m 2 1 ∑ ( h θ ( x i ) − y i )2 (2) puntos donde yi son los valores reales y hθ ( xi ) es la predicción para este mismo valores. Esta función también se llama error cuadrático medio. En la figura 2 se muestra un ejemplo de ajuste no óptimo. En este caso la hipótesis es hθ ( x ) = −0,8 + 1,5 · x. Por el contrario, el ajuste es óptimo para la hipótesis es hθ ( x ) = 0,07 + 0,96 · x (figura 3). Por otro lado, para el ejemplo de ajuste no óptimo la función de coste, J (θ0 , θ1 ) tiene un valor de 3.382, mientras que para el ejemplo de ajuste óptimo es 0.014. 2 3 Gradiente Descendente Para minimizar la función de coste y encontrar el mejor ajuste a los datos, se puede utilizar la técnica de gradiente descendiente. Esta técnica consiste en repetir hasta que converja la siguiente ecuación para cada variable: θ j := θ j − α ∂ J ( θ1 , θ2 ) ∂θ j (3) 0 0 1 2 X Figura 2: Ejemplo de mal ajuste. 5 4 3 Y J ( θ0 , θ1 ) = 4 Y A partir de la función hipótesis (ecuación 1), se intenta encontrar el mejor ajuste para los datos. Varias técnicas son posibles para este ajuste. La función de coste es: 2 1 0 0 1 2 X 3 4 5 Figura 3: Ejemplo de buen ajuste. Cualquier algoritmo evolutivo puede ser utilizado como alternativa a gradiente descenciente para encontrar el mínimo de la función de coste. α es denominado como ratio de aprendizaje. 2 m m Feature Scaling: es importante para el rendimiento de gradiente descendiente que los rangos de los atributos se escalen en un único rango. En el caso de utilizar una función lineal (ecuación 1) para modelizar los datos, entonces los valores que minimizan la función de coste J (θ1 , θ2 ) se obtienen de las ecuaciones 4 y 5. θ0 : = θ0 − α θ1 : = θ1 − α ∂ 1 J ( θ0 , θ1 ) = θ0 − α ∂θ0 m ∂ 1 J ( θ0 , θ1 ) = θ1 − α ∂θ1 m m ∑ ( h θ ( x i ) − yi ) (4) i =1 m ∑ ( h θ ( x i ) − yi ) · x i (5) i =1 El parámetro α debe elegirse cuidadosamente. Si α es muy pequeño, entonces se necesitarán muchos ciclos para alcanzar el mínimo. Por el contrario, si α es muy grande, es posible que la secuencia no converja. 3 Regresión Lineal con Múltiples Variables Si el modelo elegido para representar los datos, hθ ( x ), no depende de un solo atributo sino de n atributos, entonces se puede utilizar una notación matricial: h θ ( x ) = θ T x = θ0 x0 + θ1 x1 + · · · + θ n x n (6) donde θ0 , θ1 , . . . , θn son los parámetros que hay que ajustar. Así la función de coste es: J ( θ0 , θ1 , . . . , θ n ) = 1 2m m ∑ ( h θ ( x i ) − y i )2 (7) i =1 La optimización mediante gradiente descendiente se realiza como en el ejemplo anterior pero con todos los parámetros: θ0 , θ1 , . . . , θn . 4 Regresión Polinomial En este caso se define la hipótesis como un función no lineal de los atributos: 5 4 3 Y hθ ( x ) = θ0 x0 + θ1 x1 + θ2 x22 + · · · + θn xnn + · · · + θ12 x1 x2 + θ13 x1 x3 (8) 2 1 0 0 1 2 X 3 4 5 Figura 4: Ejemplo de ajuste cuadrático. El valor de la función de coste es 0.963, y la función de hipótesis hθ ( x ) = 0,11x + 0,49x + 0,13x2 . La optimización se puede realizar como en los ejemplos anteriores: gradiente descendiente, algoritmo evolutivo, etc. En la figura 4 se muestra un ajuste mediante una función quadrática univariante (un solo atributo) sobre el mismo conjunto de datos de los ejemplos anteriores. r 5 Ecuación Normal La ecuación normal es una alternativa a gradiente descendiente para encontrar el conjunto de valores óptimos de los parámetros: θ0 , θ1 , . . . , θn . θ = ( X T · X ) −1 X T y (9) donde X es la matriz de atributos a la cual se le añade una primera columna de "1". El uso de la ecuación normal tiene la ventaja de no necesitar establecer un valor para α, ni tener que hacer interaciones. Por el contrario, la resolución de la ecuación normal es muy lenta si el problema tiene un gran número de atributos. e g r e s i o n l i n e a l 3