Багаторазове оновлення ваг
Тепер ви виконаєте кілька послідовних оновлень, щоб суттєво покращити ваги моделі та побачити, як з кожним кроком поліпшуються передбачення.
Щоб код був охайним, заздалегідь завантажено функцію get_slope(), яка приймає input_data, target і weights як аргументи. Також є функція get_mse(), що приймає ті самі аргументи. Змінні input_data, target і weights уже підготовлені.
У цій мережі немає прихованих шарів: вона напряму переходить від входу (з 3 вузлами) до вихідного вузла. Зверніть увагу, що weights — це один масив.
Також заздалегідь імпортовано matplotlib.pyplot, і історію помилок буде побудовано після того, як ви виконаєте кроки градієнтного спуску.
Ця вправа є частиною курсу
Вступ до Deep Learning у Python
Інструкції до вправи
- Використовуючи цикл
forдля послідовного оновлення ваг:- Обчисліть нахил за допомогою функції
get_slope(). - Оновіть ваги з коефіцієнтом навчання
0.01. - Обчисліть середньоквадратичну помилку (
mse) з оновленими вагами за допомогою функціїget_mse(). - Додайте
mseдоmse_hist.
- Обчисліть нахил за допомогою функції
- Натисніть "Надіслати відповідь", щоб візуалізувати
mse_hist. Яку тенденцію ви помічаєте?
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
n_updates = 20
mse_hist = []
# Iterate over the number of updates
for i in range(n_updates):
# Calculate the slope: slope
slope = ____(____, ____, ____)
# Update the weights: weights
weights = ____ - ____ * ____
# Calculate mse with new weights: mse
mse = ____(____, ____, ____)
# Append the mse to mse_hist
____
# Plot the mse history
plt.plot(mse_hist)
plt.xlabel('Iterations')
plt.ylabel('Mean Squared Error')
plt.show()