ПочатиПочніть безкоштовно

Багаторазове оновлення ваг

Тепер ви виконаєте кілька послідовних оновлень, щоб суттєво покращити ваги моделі та побачити, як з кожним кроком поліпшуються передбачення.

Щоб код був охайним, заздалегідь завантажено функцію 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()
Редагувати та запускати код