Кодуємо, як зміни ваг впливають на точність
Тепер ви зможете змінювати ваги у справжній мережі й побачите, як це впливає на точність моделі!
Погляньте на таку нейронну мережу:

Її ваги попередньо завантажено як weights_0. Ваше завдання в цій вправі — оновити одну вагу в weights_0, щоб створити weights_1, яка дасть ідеальний прогноз (коли передбачене значення дорівнює target_actual: 3).
За потреби використайте ручку й папір, щоб випробувати різні комбінації. Ви використаєте функцію predict_with_network(), яка приймає масив даних як перший аргумент, а ваги — як другий.
Ця вправа є частиною курсу
Вступ до Deep Learning у Python
Інструкції до вправи
- Створіть словник ваг під назвою
weights_1, у якому ви змінили 1 вагу зweights_0(потрібно зробити лише 1 зміну вweights_0, щоб отримати ідеальний прогноз). - Отримайте прогнози з новими вагами за допомогою функції
predict_with_network()з аргументамиinput_dataіweights_1. - Обчисліть похибку для нових ваг, віднявши
target_actualвідmodel_output_1. - Натисніть "Submit Answer", щоб побачити, як порівнюються похибки!
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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)