Частные производные

Как измерять скорость изменения функции, у которой несколько входов.

Частная производная $\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$ отличает её от обычной производной.
  • Геометрически — крутизна склона вдоль одной оси.
  • Это основа оптимизации и обучения нейросетей.
Проверьте себя
1. Что означает частная производная ∂f/∂x?
AПроизводная по x при фиксированных остальных переменных
BСумма производных по всем переменным
CПроизводная по времени
DВторая производная
2. Чему равна ∂f/∂y для f(x,y)=x²+3xy+y²?
A2x + 3y
B3x + 2y
C2x + 2y
D3xy