Programar cómo los cambios en los pesos afectan a la exactitud
¡Ahora vas a cambiar pesos en una red real y ver cómo afectan a la exactitud del modelo!
Echa un vistazo a la siguiente red neuronal:

Sus pesos se han precargado como weights_0. Tu tarea en este ejercicio es actualizar un único peso en weights_0 para crear weights_1, que produzca una predicción perfecta (en la que el valor predicho sea igual a target_actual: 3).
Usa papel y lápiz si lo necesitas para probar distintas combinaciones. Utilizarás la función predict_with_network(), que recibe un array de datos como primer argumento y los pesos como segundo argumento.
Este ejercicio forma parte del curso
Introducción al Deep Learning en Python
Instrucciones del ejercicio
- Crea un diccionario de pesos llamado
weights_1donde hayas cambiado 1 peso deweights_0(Solo necesitas hacer 1 cambio enweights_0para generar la predicción perfecta). - Obtén predicciones con los nuevos pesos usando la función
predict_with_network()coninput_datayweights_1. - Calcula el error para los nuevos pesos restando
target_actualdemodel_output_1. - Pulsa "Enviar respuesta" para ver cómo se comparan los errores.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# The data point you will make a prediction for
input_data = np.array([0, 3])
# Sample weights
weights_0 = {'node_0': [2, 1],
'node_1': [1, 2],
'output': [1, 1]
}
# The actual target value, used to calculate the error
target_actual = 3
# Make prediction using original weights
model_output_0 = predict_with_network(input_data, weights_0)
# Calculate error: error_0
error_0 = model_output_0 - target_actual
# Create weights that cause the network to make perfect prediction (3): weights_1
weights_1 = {'node_0': [____, ____],
'node_1': [____, ____],
'output': [____, ____]
}
# Make prediction using new weights: model_output_1
model_output_1 = ____
# Calculate error: error_1
error_1 = ____ - ____
# Print error_0 and error_1
print(error_0)
print(error_1)