0 evaluări0% au considerat acest document util (0 voturi)
16 vizualizări2 pagini
Este documento describe el uso del algoritmo de gradiente descendiente para implementar una regresión lineal manual y automatizada sobre un conjunto de datos. En la primera sección se muestran los valores theta0, theta1 y el costo mínimo obtenidos de forma manual. En la segunda sección se presenta el código para implementar el algoritmo de gradiente descendiente, el cual es utilizado para hallar automáticamente los valores theta0 e theta1 luego de 1500 iteraciones. Al final, se grafica la ecuación de regresión lineal hallada.
Este documento describe el uso del algoritmo de gradiente descendiente para implementar una regresión lineal manual y automatizada sobre un conjunto de datos. En la primera sección se muestran los valores theta0, theta1 y el costo mínimo obtenidos de forma manual. En la segunda sección se presenta el código para implementar el algoritmo de gradiente descendiente, el cual es utilizado para hallar automáticamente los valores theta0 e theta1 luego de 1500 iteraciones. Al final, se grafica la ecuación de regresión lineal hallada.
Este documento describe el uso del algoritmo de gradiente descendiente para implementar una regresión lineal manual y automatizada sobre un conjunto de datos. En la primera sección se muestran los valores theta0, theta1 y el costo mínimo obtenidos de forma manual. En la segunda sección se presenta el código para implementar el algoritmo de gradiente descendiente, el cual es utilizado para hallar automáticamente los valores theta0 e theta1 luego de 1500 iteraciones. Al final, se grafica la ecuación de regresión lineal hallada.
Escuela de Ingenieria de Sistemas Universidad Nacional de San Agustı́n Arequipa-Perú alaurac@unsa.edu.pe
I. R EGRESI ÓN LINEAR MANUAL
Escribimos el código necesario para mostrar los puntos de los datos, Figura 1.
Figura 2. grafica con costos
Fuente: Creación propia
Figura 1. puntos 17 suma normal = 0
Fuente: Creación propia 18 suma por equis = 0 19 m = 0 20 a = theta 1 Usando el codigo de la anterior practica hallamos los 21 b = theta 0 valores de theta0, theta1 y su costo minimo, Figura 2. Theta 22 f o r i i n range ( l e n ( p o p u l a t i o n ) ) : 23 suma normal += ( a ∗ p o p u l a t i o n [ i ] + b − 0 minimo es -3.950000, theta 1 minimo es 1.200000 y costo profit [ i ]) minimo es 4.477334. 24 s u m a p o r e q u i s += ( a ∗ p o p u l a t i o n [ i ] + b − profit [ i ]) ∗ population [ i ] 25 m = m + 1 26 II. I MPLEMENTACI ÓN EL ALGORITMO DE GRADIENTE 27 theta 0 = t h e t a 0 − ( a l p h a ∗ ( 1 /m) ∗ DESCENDIENTE suma normal ) 28 theta 1 = t h e t a 1 − ( a l p h a ∗ ( 1 /m) ∗ suma por equis ) Listing 1. Algoritmo 29 1 population = [] 30 p r i n t ( ” t h e t a 0 e s %f , t h e t a 1 e s %f ” %(t h e t a 0 , 2 profit = [] theta 1 ) ) 3 4 f = open ( ” d a t a 0 1 . t x t ” , ” r ” ) 5 l = f . readline () . strip () Al finalizar las 1500 con un alfa de 0.01, theta 0 es 6 -3.630291, theta 1 es 1.166362. 7 while l : 8 p o p u l a t i o n . append ( f l o a t ( l . s p l i t ( ” , ” ) [ 0 ] ) ) 9 p r o f i t . append ( f l o a t ( l . s p l i t ( ” , ” ) [ 1 ] ) ) Hallado estos valores podemos dibujar la ecuación y = 10 l = f . readline () . strip () 1.166362x - 3.630291. 11 f . close () 12 13 theta 0 = 0 14 theta 1 = 0 15 alpha = 0.01 16 for j i n range ( 0 , 1 5 0 0 ) :
1 Figura 3. ploteo con la recta de la regresión linear Fuente: Creación propia