Частные производные
Как измерять скорость изменения функции, у которой несколько входов.
Частная производная $\frac{\partial f}{\partial x}$ — производная функции нескольких переменных по одной из них, при фиксированных остальных.
Реальные функции редко зависят от одной переменной. Высота местности зависит от широты и долготы; ошибка нейросети — от тысяч параметров; цена — от спроса и предложения. Чтобы анализировать такие функции, нужна частная производная: мы смотрим на изменение по одной оси, как если бы остальные были заморожены.
Идея «заморозки»
Пусть $f(x, y)$ зависит от двух переменных. Частная производная по $x$ — это обычная производная, в которой $y$ считается константой:
$$\frac{\partial f}{\partial x} = \lim_{h\to 0}\frac{f(x+h, y) - f(x, y)}{h}$$
Аналогично $\frac{\partial f}{\partial y}$ замораживает $x$ и дифференцирует по $y$. Геометрически: представьте холм $f(x,y)$. Частная производная по $x$ — это крутизна склона, если идти строго вдоль оси $x$, не сворачивая. Символ $\partial$ («дэ круглое») отличает частную производную от обычной.
Пример разбора
Возьмём $f(x, y) = x^2 + 3xy + y^2$. Дифференцируя по $x$ (считая $y$ константой): $\frac{\partial f}{\partial x} = 2x + 3y$. По $y$ (заморозив $x$): $\frac{\partial f}{\partial y} = 3x + 2y$. Каждая частная производная сама зависит от обеих переменных.
Численная проверка
def f(x, y):
return x**2 + 3*x*y + y**2
h = 1e-6
x, y = 2.0, 1.0
dfdx = (f(x+h, y) - f(x-h, y)) / (2*h)
dfdy = (f(x, y+h) - f(x, y-h)) / (2*h)
print(f"df/dx числ.={dfdx:.5f} теория 2x+3y={2*x+3*y}")
print(f"df/dy числ.={dfdy:.5f} теория 3x+2y={3*x+2*y}")Вывод:
df/dx числ.=7.00000 теория 2x+3y=7.0 df/dy числ.=8.00000 теория 3x+2y=8.0
Сдвигая только одну переменную и замораживая другую, мы численно получили ровно те частные производные, что предсказала теория. Это прямое воплощение определения: меняем один вход, смотрим отклик.
Где это применяется
Частные производные — фундамент машинного обучения. Функция потерь зависит от миллионов весов, и обучение сводится к тому, чтобы для каждого веса посчитать частную производную (как потери меняются от его сдвига) и подправить вес. Без частных производных не было бы ни нейросетей, ни большинства методов оптимизации.
Как работает под капотом
Численно частная производная по $x$ — это всё та же центральная разность, но возмущаем мы только координату $x$, оставляя $y$ нетронутым. Функция «не знает», что у неё несколько аргументов, — мы просто фиксируем все, кроме одного, и применяем одномерное определение производной. Так многомерная задача сводится к набору одномерных, по одной на каждую ось.
Частые ошибки
Первая — при дифференцировании по $x$ забыть, что $y$ — константа, и случайно продифференцировать и его. Вторая — путать $\partial$ и обычное $d$: круглое $\partial$ означает, что переменных несколько и остальные фиксированы. Третья — в численном коде сдвигать обе переменные сразу: тогда вы посчитаете не частную производную, а смесь. Возмущайте строго одну ось за раз.
Итог
- Частная производная дифференцирует по одной переменной, замораживая остальные.
- Символ $\partial$ отличает её от обычной производной.
- Геометрически — крутизна склона вдоль одной оси.
- Это основа оптимизации и обучения нейросетей.