Найти ошибку

Задача 4 0 / 3 баллов
Задачи урока

Условие задачи

Ошибка в градиентном спуске почти никогда не роняет программу. Она молча учит не туда, и заметить её можно только по поведению чисел.

Признаки при этом разные. Растущая ошибка со сменой знака у весов — слишком большой шаг. Монотонный уход от минимума в одну сторону — потерянный минус в правиле шага. Очень медленное убывание — слишком маленький шаг. Умение назвать причину по выводу, не залезая в код, отличает инженера от того, кто правит чужой код наугад.

Подробно: Длина шага.
 


Задание

В программе одна ошибка. Минимум функции в точке 3, но программа к нему не приближается.

w = 0
lr = 0.1

for step in range(10):
    gradient = 2 * (w - 3)
    w = w + lr * gradient
    print(step, w)

Приведите исправленную программу
Ниже программы в комментариях, напишите
1) по какому признаку в выводе можно было заметить ошибку,
2) чем этот признак отличается от признака слишком большого шага.

Ваш ответ
Тренировка — проверяйте части и берите подсказки по ходу.
Для проверки решения задачи необходимо зарегистрироваться или авторизоваться!
Ваше решение