Модель имеет один вес:
прогноз = w · x
Даны четыре объекта:
Функция потерь — средняя квадратичная ошибка:
MSE = среднее((прогноз − факт)²)
Программа получает одно вещественное число w. Используйте h = 1e-5.
Напишите три функции:
def loss(w):
...
def analytic_grad(w):
...
def numeric_grad(w, h):
...
Важно: в numeric_grad нельзя использовать аналитическую формулу производной или вызывать analytic_grad.
Выведите в одной строке через пробел:
- аналитический градиент;
- численный градиент;
- модуль разности между ними.
Все три числа выведите с шестью знаками после точки.
Входные данные
В единственной строке дано вещественное число w — значение веса, в котором нужно вычислить производную.
Выходные данные
Выведите в одной строке через пробел три вещественных числа:
- аналитический градиент;
- численный градиент, вычисленный центральной разностью при
h = 1e-5;
- модуль разности между аналитическим и численным градиентами.
Все три числа выведите с шестью знаками после точки.
| № | Входные данные | Выходные данные |
|
1
|
1.5
|
-11.500000 -11.500000 0.000000
|