Herramientas de usuario

Herramientas del sitio


clase:iabd:pia:2eval:tema07.backpropagation_descenso_gradiente

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
Próxima revisión Ambos lados, revisión siguiente
clase:iabd:pia:2eval:tema07.backpropagation_descenso_gradiente [2023/04/20 14:02]
admin [Ejercicios]
clase:iabd:pia:2eval:tema07.backpropagation_descenso_gradiente [2023/04/20 16:39]
admin [Ejercicios]
Línea 761: Línea 761:
  
  
-Indica para cada parámetro si la función crece o decrece y por lo tanto si se debe incrementar el valor del parámetro o decremenarlo.+Indica para cada parámetro: Si la función crece o decrece, el valor de su derivada (positiva o negativa) y por lo tanto si se debe incrementar el valor del parámetro o decremenarlo.
  
 ==== Ejercicio 2 ==== ==== Ejercicio 2 ====
Línea 849: Línea 849:
     axes_b=subfigure.add_subplot(1,2,2)        axes_b=subfigure.add_subplot(1,2,2)   
  
-    rango=np.linspace(-4,4,400)+    rango=np.linspace(-5,5,400)
     perdidas_w=[]     perdidas_w=[]
     perdidas_b=[]     perdidas_b=[]
Línea 862: Línea 862:
  
     return perdida_original     return perdida_original
 +
 +def plot_evolucion_parametros(axes,ws,bs):
 +    axes.plot(ws,linestyle="solid",label="w",c="#6ABF40")  
 +    axes.plot(bs,linestyle="solid",label="b",c="#BF9140"    
 +
 +    axes.set_xlabel('Nº Épocas', fontsize=13,color="#003B80"
 +    axes.xaxis.set_major_locator(MaxNLocator(integer=True))
 +
 +    axes.set_ylabel('Valor de los parámetros', fontsize=13,color="#003B80")
 +    axes.set_ylim(ymin=-5,ymax=5)
 +    axes.yaxis.set_major_locator(MultipleLocator(1))
 +
 +    axes.set_title("Evolución de los parámetros en cada época")
 +    axes.set_facecolor("#F0F7FF")
 +    axes.grid(visible=True, which='major', axis='both',color="#FFFFFF",linewidth=2)
 +    axes.legend()
  
  
Línea 869: Línea 885:
     subfigures = figure.subfigures(nrows=len(parametros)+1, ncols=1)     subfigures = figure.subfigures(nrows=len(parametros)+1, ncols=1)
  
 +    ws=[]
 +    bs=[]
     history=[]     history=[]
     for index,(w,b) in enumerate(parametros):     for index,(w,b) in enumerate(parametros):
Línea 877: Línea 895:
  
         loss=plot_losses(x,y_true,w,b,subfigure)         loss=plot_losses(x,y_true,w,b,subfigure)
 +        ws.append(w)
 +        bs.append(b)
         history.append(loss)         history.append(loss)
  
     axes=subfigures[-1].add_subplot(1,2,1)     axes=subfigures[-1].add_subplot(1,2,1)
     plot_simple_metrics(axes,history,"loss")     plot_simple_metrics(axes,history,"loss")
 +    axes=subfigures[-1].add_subplot(1,2,2)  
 +    plot_evolucion_parametros(axes,ws,bs)
  
 def descenso_gradiente(x,y_true,learning_rate,w,b): def descenso_gradiente(x,y_true,learning_rate,w,b):
Línea 902: Línea 923:
     b=b_inicial     b=b_inicial
  
 +    ws=[]
 +    bs=[]
     history=[]     history=[]
     for epoch in range(epochs):     for epoch in range(epochs):
Línea 910: Línea 933:
  
         loss=plot_losses(x,y_true,w,b,subfigure)         loss=plot_losses(x,y_true,w,b,subfigure)
 +        ws.append(w)
 +        bs.append(b)
         history.append(loss)         history.append(loss)
         w,b=descenso_gradiente(x,y_true,learning_rate,w,b)         w,b=descenso_gradiente(x,y_true,learning_rate,w,b)
Línea 915: Línea 940:
     axes=subfigures[-1].add_subplot(1,2,1)     axes=subfigures[-1].add_subplot(1,2,1)
     plot_simple_metrics(axes,history,"loss")     plot_simple_metrics(axes,history,"loss")
 +    axes=subfigures[-1].add_subplot(1,2,2)    
 +    plot_evolucion_parametros(axes,ws,bs)
 </sxh> </sxh>
  
Línea 1053: Línea 1080:
 Repite el ejercicio anterior pero ahora con **TODAS** las combinaciones de optimizadores y tasas de aprendizaje.  Repite el ejercicio anterior pero ahora con **TODAS** las combinaciones de optimizadores y tasas de aprendizaje. 
  
-¿Fue adecuada la selección que hiciste inicialmente?+¿Fue adecuada la selección que hiciste en el ejercicio anterior?
  
  
clase/iabd/pia/2eval/tema07.backpropagation_descenso_gradiente.txt · Última modificación: 2024/02/28 15:38 por admin