***************************************************************************
Материал подготовлен при поддержке SkillFactory. Скидка 45% по промокоду MATH-45 на все обучающие курсы по Data Science до 30.09! Записывайся!
***************************************************************************
"Современные проблемы требуют современных решений" - так гласит один из популярных мемов, давно гуляющих по просторам Интернета. Такой же подход принят и в Data Science - направлении науки об анализе данных: постоянно разрабатываются новые математические методы оптимизации, кластеризации и классификации, обучения нейросетей и многое другое.
Однако фундамент всего этого разнообразия остается незыблемым. Это всё те же "нелюбимые" логарифмы, синусы и косинусы, матрицы и тензоры, интегралы и производные.
Вот о последнем понятии мы и поговорим сегодня: начнем с определения и основных свойств, вспомнив прошлое, а затем узнаем как производная используется в задачах обучения нейронных сетей в настоящем. Поехали!
Что такое производная ?
Производная характеризует скорость изменения функции в данной точке. Помните самый простой пример из школьной физики: ускорение является первой производной от скорости (а еще второй производной по времени радиус-вектора). Так вот благодаря производной мы и можем утверждать в конкретный момент времени, ускоряется или замедляется объект.
Классическое определение производной в школьной математике дается через предел:
На этом графике показана функция f(x) произвольного вида. Δx - приращение аргумента функции. Предел отношения изменения функции при стремлении приращения аргумента Δx к нулю и называется производной функции в точке (в данном случае в x ₀ ).
Чтобы наглядно понять, как это происходит посмотрите на рисунок: при стягивании отрезка приращения аргумента (красная линия) уменьшается и размах изменения функции (зеленая линия). В какой то момент это отношение становится равным определенному числу, имеющему очень важный геометрический смысл:
Значение производной в точке x ₀ равняется тангенсу угла наклона касательной к графику функции в этой точке. Это свойство ОЧЕНЬ сильно понадобится нам в дальнейшем.
Не буду дублировать здесь значения табличных производных и правила для сложных функций: их и так легко найти в сети. Приведу лишь самый простой и конкретный пример, который вычислю по определению:
Что еще дает производная ?
Самое важное практическое значение производной в том, что с её помощью удается исследовать функции на экстремумы : минимумы и максимумы. Дело в том, что, если производная больше или равна нулю на интервале (a,b), то функция f строго возрастает на этом интервале, а если наоборот - то строго убывает.
Необходимым условием существования экстремума у функции на некотором интервале в точке x ₀ является либо равенство нулю, либо отсутствие производной.
Достаточным условием является смена знака производной при переходе через x ₀ : если знак меняется с плюса на минус, то функция имеет максимум, если наоборот - то минимум.
Вывод: производную в школе изучают, в основном, для умения исследовать функции на экстремумы. А что дальше?
Частные производные и градиент функции
До этого мы рассматривали лишь функции от одной переменной. Что же будет, если их две, три или больше. В таком случае вычисляются частные производные:
Градиент - это вектор, показывающий направление наибольшего возрастания функции. Вычисляется он, как Вы уже догадались, через частные производные (если аргументов у функции больше двух, конечно же). Вычислим градиент:
Что делать с полученными значениями? А вот что: берем точку, например А = (1,1,3) и вычисляем координаты градиента и его длину. В итоге мы получаем направление и скорость изменения функции в данной точке!
На свойстве градиента показывать "направление" и "скорость движения" основан такой метод нахождения локальных экстремумов функции, как градиентный спуск. Суть метода заключается в движении в направлении экстремума с шагом (шагами) определенной длины.
В Data Science, где повсеместно применяются искусственные нейронные сети, метод используется для нахождения минимума функции ошибок - квадрата разности расстояний от выходных сигналов персептрона до их требуемых значений.
В реальных примерах обучения нейронных сетей, где количество выходов может исчисляться десятками и сотнями, естественно никакой речи о визуализации и быть не может: всё происходит в n-мерном пространстве, что, однако, не отменяет свойств градиента по поиску экстремума.
Итак, после прочтения статьи у Вас есть базовые понятия о производной и градиенте функции.
*****************************************************************************
Хотите знать больше и применять математику на практике, при этом неплохо зарабатывая? В этом случае хочу порекомендовать Вам курсы Data Science от онлайн-школы SkillFactory.
Полный курс состоит из шести огромных модулей, призванных развить все возможные компетенции, необходимые для Data Scientist'a.
Учебная программа в SkillFactory построена таким образом, что обучиться этой современной, востребованной и ОЧЕНЬ высокооплачиваемой профессии можно с нуля, имея только школьное образование! На всех этапах обучения студентов поддерживают наставники курса, а выпускникам помогают с трудоустройством.
Посмотреть учебную программу и цены на курсы
До 30.09 действует скидка 45 % по промокоду math-45!