Градиент ∇f: направление наискорейшего роста
Градиент собирает все частные производные в один вектор, который показывает, куда подниматься быстрее всего.
Градиент $\nabla f = \left(\dfrac{\partial f}{\partial x}, \dfrac{\partial f}{\partial y}, \dfrac{\partial f}{\partial z}\right)$ — вектор, указывающий направление наибыстрейшего роста функции.
Оператор набла
Символ $\nabla$ («набла») — это «вектор частных производных»:
$$\nabla = \left(\frac{\partial}{\partial x},\, \frac{\partial}{\partial y},\, \frac{\partial}{\partial z}\right)$$
Применённый к скалярной функции, он даёт вектор. Два ключевых свойства:
- Направление $\nabla f$ — туда, где $f$ растёт быстрее всего.
- Длина $|\nabla f|$ — скорость этого наибыстрейшего роста.
И ещё одно: градиент всегда перпендикулярен линии (поверхности) уровня. Логично — вдоль изолинии функция не меняется, значит рост идёт поперёк неё.
Считаем градиент численно
import math
def f(x, y):
return x*x + 3*y*y
def grad(f, x, y, h=1e-6):
gx = (f(x+h, y) - f(x-h, y)) / (2*h)
gy = (f(x, y+h) - f(x, y-h)) / (2*h)
return (gx, gy)
p = (1.0, 1.0)
g = grad(f, *p)
print("grad f в (1,1) =", tuple(round(c, 4) for c in g))
print("Длина |grad f| =", round(math.hypot(*g), 4))
print("Точно: (2x, 6y) =", (2*p[0], 6*p[1]))Вывод:
grad f в (1,1) = (2.0, 6.0) Длина |grad f| = 6.3246 Точно: (2x, 6y) = (2, 6)
Как работает под капотом
Градиентный спуск — рабочая лошадка машинного обучения — двигается против градиента ($-\nabla f$), потому что это направление наибыстрейшего убывания. Шаг $x_{k+1} = x_k - \eta\,\nabla f(x_k)$ постепенно скатывается в минимум, как капля по склону. Перпендикулярность линиям уровня гарантирует, что мы всегда идём «вниз по склону», а не вдоль горизонтали.
Частые ошибки
- Считать градиент скаляром. Это вектор.
- Думать, что $\nabla f$ направлен вдоль линии уровня — наоборот, поперёк.
- Путать направление роста ($+\nabla f$) и убывания ($-\nabla f$) при спуске.
Итог
- $\nabla f$ — вектор частных производных, направлен в сторону роста.
- $|\nabla f|$ — скорость наибыстрейшего роста.
- Градиент перпендикулярен линиям уровня; спуск идёт против него.