Производные: математический инструмент для описании реальности

от автора

Введение

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

В этой статье мы подробно разберём основы производной, не углубляясь в сложную математику. Мы начнём с базовых принципов, знакомых ещё со школьной программы, а затем перейдём к практической реализации дифференцирования функций на Python.

Интуиция

Приведу банальный, но показательный пример производной из реальной жизни.

Спидометр в машине — это типичный пример применения производной. Когда автомобиль ускоряется (то есть его скорость увеличивается), стрелка на спидометре движется вправо. Если машина, наоборот, замедляется, стрелка уходит влево.

Производная в этом контексте — это инструмент, который показывает, как изменяется скорость во времени.

Давайте подробнее поговорим об этом в следующем разделе.

Производная функции

Функции есть почти везде и ими можно описать практически все. Так давайте опишем скорость изменения функции.

Перед нами график некоторой функции. Наша цель — понять, как изменяется функция на интервале от точки A до точки B.

Для этого проведём перпендикулярные линии из точек A и B к осям координат, чтобы определить их координаты:

  • Точка A имеет координаты (x1,y1)

  • Точка B имеет координаты (x2​,y2​)

Для изменений x определим разность между значениями абсцисс (x-координат) точек B и A:

\Delta x = x_2-x_1

Для изменений y определим разность между значениями ординат (y-координат) точек B и A:

\Delta y = y_2 - y_1

Кстати, записи, которые мы использовали выше, имеют собственные названия:

  • Разность значений x называется приращением аргумента.

  • Разность значений y называется приращением функции.

Но вопрос о формальном определении производной остается открытым, но теперь мы готовы его закрыть.

Производная функции — это отношение приращения функции к приращении аргумента

В математической записи, это выглядит как:

f'(x) = \frac{\Delta y}{\Delta x}

При этом:

x\Rightarrow0

Чем x будет меньше, тем точнее будет расчеты.

Геометрический смысл производной

Мы рассмотрим геометрический смысл производной, так как он наиболее понятен на интуитивном уровне и не требует дополнительных знаний из математического анализа.

В основе данного представления лежит идея о касательной к графику функции в точке, которая нас интересует.

Чёрная кривая — это график нашей функции, а красная прямая — касательная в выбранной точке. Теперь давайте достроим прямоугольный треугольник, проведя линию от точки касания до оси xxx.

У нас получается прямоугольный треугольник с углом a. Из предыдущего объяснения мы знаем, что производная — это отношение приращения функции к приращению аргумента.

Если мы обозначим вертикальный (жёлтый) отрезок как y, а горизонтальный — как x, то мы фактически получаем определение тангенса угла в прямоугольном треугольнике, которое гласит, что тангенс угла — это отношение противоположного катета (в нашем случае y) к прилежащему катету (в нашем случае x).

Делая вывод из всего сказанного в этом разделе, можно сделать вывод, о определении функции в геометрической интерпретации:

Производная — это тангенс угла наклона касательной к графику функции в этой точке.

Так же важно отметить, что взятие производной от функции, называется — дифференцирование

Оператор дифференцирования

Пройдусь кратко по этому разделу, так как он не требует больших объяснений.

Допустим у нас есть функция:

f(x) = x^2

Если мы хотим взять от неё производную, то одним из распространённых способов написать это является следующая математическая запись:

\frac{d}{dx}(x^2)=2x

Эта запись говорит, что мы хотим взять производную от функции f(x) = x^2 по ее аргументу x.

Правила дифференцирования констант

Взятие производной от функции вида:

f(x) = 5

Можно записать в виде:

\frac{d}{dx}(5)=0

Вообщем при взятии производной от любой константы дает ноль.

Правила дифференциации степенной функции

Если у вас функция вида:

f(x)=x^n

То взятие производной выглядит как то так:

\frac{d}{dx}(x^n)=n*x^{n-1}

Разберем дифференциацию функции:

f(x)=x^4\frac{d}{dx}(x^4) = 4*x^3

Правила дифференциации суммы

Сумма производных функций — это сумма их производных

\frac{d}{dx}(f(x)+g(x))=\frac{d}{dx}f(x) +\frac{d}{dx}g(x)

Допустим у нас есть 2 функции:

f(x) = x^3g(x) = 3x\frac{d}{dx}(x^3+3x)= \frac{d}{dx}(x^3)+\frac{d}{dx}(3x) = 3x^2+3

Решение частных производных через дерево решений

Перед нами стоит задача взять производную от такой функции:

v = 2x +3yx = 3a^2y=4b^2

Как взять такую производную:

\frac{dv}{da}

Для решения данного типа производных мы можем использовать метод «дерево решений».

С начало мы берем производную функции v от x, далее x от a, а потом получившиеся результаты умножаем:

\frac{dv}{dx}=3\frac{dx}{da}=6a\frac{dv}{dx}*\frac{dx}{da} = 3*6a=18a

Правила дифференциации экспоненты

Если вы хотите взять производную от функции:

f(x) = e^x

Спешу вас обрадовать: производная от экспоненциальной функции равна самой функции, то есть:

\frac{d}{dx}(e^x) = e^x

Поздравляю, теперь вы поняли мем, который стоит на обложке этой статьи.

Конечно это не все, есть еще куча функций, которые можно дифференцировать. По этой ссылке можете посмотреть все производные и найти те, которые вас интересуют.

Реализация дифференциации на python

Для вычислений производных я буду использовать библиотеку SymPy.

import sympy

Импортируем библиотеку

x = symbols('x')

Говорим нашей библиотеке, чтобы она воспринимала x как математическую переменную.

f = x**2

Реализуем квадратичную функцию.

dx = diff(f)

Функция diff позволяет брать производную от функции, которую мы указали в скобках.

def dx_f(value_x):     return dx.subs(x, value_x) 

Данная функция вычисляет производную в некоторой точке. При помощи метода subs мы говорим python, чтобы он подставил в нашу производную вместо x значение value_x, которые мы передали.

Заключение

Мы проделали большой путь — от основ школьной программы до написания кода, который автоматически дифференцирует функции.

Производные — поистине удивительный инструмент, с помощью которого можно описывать и моделировать окружающий мир. Они лежат в основе множества технологий — от физики и экономики до нейросетей и автопилотов Tesla.


ссылка на оригинал статьи https://habr.com/ru/articles/897710/