Найти градиент функции в точке и с вектором

Градиент функции онлайн

Градиент функции — это вектор координатами которого являются частные производные этой функции по всем её переменным.

Градиент обозначается символом набла . Выражение градиента некоторой функции записывается следующим образом:

где , , — частные производные функции по переменным , , соответственно.

Вектор градиента указывает направление наискорейшего роста функции. Рассмотрим график функции .

Найти градиент функции в точке и с вектором

Эта функция достигает своего единственного максимума в точке . График градиентного поля данной функции имеет вид:

Найти градиент функции в точке и с вектором

Из данного градика видно, что в каждой точке вектор градиента направлен в сторону наискорейшего роста функции, т.е. в точку . При этом модуль вектора отражает скорость роста (крутизну подъёма) функции в этом направлении.

Задача вычисления градиента функции очень часто возникает при поиске эстремумов функции с использованием различных численных методов.

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

Производная по направлению, градиент функции: объяснение, примеры

Понятие производной по направлению

Понятие производной по направлению рассматривается для функций двух и трёх переменных. Чтобы понять смысл производной по направлению, нужно сравнить производные по определению

Рассматривая функцию одной переменной, мы выяснили, что на оси Oy отображается приращение функции f(x) , соответствующее приращению аргумента x . Если мы имеем дело с функцией трёх переменных, то приращения аргументов x , y , z отображаются на осях Оx , Оy , Оz . Сам собой напрашивается вопрос: а где можно отобразить приращение уже не аргументов, а функции трёх переменных?

И вот ответ на этот вопрос: приращение функции трёх переменных отображается на некоторой прямой, направление которой определяется вектором, произвольно заданным в задаче.

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

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

1) функцию u = f(M) , определённую в окрестности точки M с координатами x , y , z ;

Найти градиент функции в точке и с вектором

Через точку M проводим прямую, одно из двух возможных направлений которых совпадает с направлением вектора l . На получившейся прямой отметим точку M 1 , координаты которой образуют суммы координат точки M и приращений соответствующих аргументов функции трёх переменных:

Найти градиент функции в точке и с вектором

Величину отрезка MM 1 можно обозначить Найти градиент функции в точке и с вектором.

Функция u = f(M) при этом получит приращение

Найти градиент функции в точке и с вектором.

Определение производной по направлению. Предел отношения Найти градиент функции в точке и с векторомпри Найти градиент функции в точке и с вектором, если он существует, называется производной функции u = f(M) по направлению вектора l и обозначается Найти градиент функции в точке и с вектором, то есть

Найти градиент функции в точке и с вектором.

Формула, которой нужно пользоваться для нахождения производной по направлению, следующая:

Найти градиент функции в точке и с вектором.

Смысл этой формулы: производная по направлению является линейной комбинацией частных производных, причём направляющие косинусы показывают вклад в производную по направлению соответствующей частной производной.

Примеры нахождения производной по направлению

Пример 1. Найти производную функции Найти градиент функции в точке и с векторомв точке M 0 (1; 2; 3) по направлению вектора Найти градиент функции в точке и с вектором.

Найти градиент функции в точке и с вектором

Найдём направляющие косинусы, пользуясь определением скалярного произведения векторов:

Найти градиент функции в точке и с вектором

Найти градиент функции в точке и с вектором

Теперь можем найти производную по направлению данной функции по её формуле:

Найти градиент функции в точке и с вектором

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

Пример 2. Найти производную функции Найти градиент функции в точке и с векторомв точке M 0 (1; 2) по направлению вектора Найти градиент функции в точке и с вектором, где M 1 — точка с координатами (3; 0) .

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

Пример 3. Найти производную функции Найти градиент функции в точке и с векторомв точке M 0 (1; 1; 1) по направлению вектора Найти градиент функции в точке и с вектором.

Решение. Найдём направляющие косинусы вектора

Найти градиент функции в точке и с вектором

Найдём частные производные функции в точке M 0 :

Найти градиент функции в точке и с вектором

Следовательно, можем найти производную по направлению данной функции по её формуле:

Найти градиент функции в точке и с вектором.

Градиент функции

Градиент функции нескольких переменных в точке M 0 характеризует направление максимального роста этой функции в точке M 0 и величину этого максимального роста.

Как найти градиент?

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

Найти градиент функции в точке и с вектором.

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

Для градиента функции двух переменных формула короче:

Найти градиент функции в точке и с вектором.

Пример 4. Найти градиент функции Найти градиент функции в точке и с векторомв точке M 0 (2; 4;) .

Решение. Найдём частные производные функции в точке M 0 :

Найти градиент функции в точке и с вектором

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

Найти градиент функции в точке и с вектором.

Нахождение градиента вектор-функции

Дата публикации Oct 20, 2018

Найти градиент функции в точке и с вектором

ВЧасть 1Нам поставили задачу: вычислить градиент этой функции потерь:

Найти градиент функции в точке и с вектором

Чтобы найти градиент, мы должны найти производную функцию. ВЧасть 2мы научились вычислять частную производную функции по каждой переменной. Однако большинство переменных в этой функции потерь являются векторами. Возможность найти частную производную векторных переменных особенно важна, поскольку нейронная сеть работает с большими объемами данных. Векторные и матричные операции — это простой способ представления операций с таким большим количеством данных. Как именно вы можете найти градиент вектор-функции?

Градиент скалярной функции

Скажи, что у нас есть функция,f (x, y) = 3x²y, Наши частные производные:

Найти градиент функции в точке и с вектором

Если мы организуем эти части в горизонтальный вектор, мы получимградиентизР (х, у), или∇ f (x, y):

Найти градиент функции в точке и с вектором

6yxэто изменение вР (х, у)в отношении изменения вИкс, в то время как3x²это изменение вР (х, у)в отношении изменения вY,

Что происходит, когда у нас есть две функции? Давайте добавим еще одну функцию,g (x, y) = 2x + y⁸, Частные производные:

Найти градиент функции в точке и с вектором

Таким образом, градиент g (x, y):

Найти градиент функции в точке и с вектором

Представляющие функции

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

Найти градиент функции в точке и с вектором

Следовательно,Р (х, у, г)станетF (x₁, x₂, x₃)который становитсяе (Икс).

Мы также можем объединить несколько функций в вектор, например так:

Найти градиент функции в точке и с вектором

В настоящее время,у = F (X)гдеF (X)является вектором из [f₁ (Икс), f₂ (Икс), f₃ (Икс) . п (Икс)]

Для нашего предыдущего примера с двумя функциями,f (x, y) ⇒ f (Икс)а такжеg (x, y) ⇒ g (Икс).Здесь векторИкс= [x₁, x₂], гдеx₁ = х, а такжеx₂ = у, Чтобы упростить его еще больше, мы можем объединить наши функции: [f (Икс),г(Икс)] = [f₁ (Икс), f₂ (Иксзнак равноf (x) = y.

Найти градиент функции в точке и с вектором

Зачастую количество функций и количество переменных будет одинаковым, поэтому для каждой переменной существует решение.

Градиент вектор-функции

Теперь, когда у нас есть две функции, как мы можем найти градиент обеих функций? Если мы организуем оба их градиента в одну матрицу, мы переместимся из векторного исчисления в матричное исчисление. Эта матрица и организация градиентов нескольких функций с несколькими переменными, известна какМатрица Якобиана,

Найти градиент функции в точке и с вектором

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

Найти градиент функции в точке и с вектором

Градиент функции идентичности

Давайте возьмем функцию идентичности,у = ф (х) = х, гдеFi (Икс) = xiи найдите его градиент:

Найти градиент функции в точке и с вектором

Так же, как мы создали наш предыдущий якобиан, мы можем найти градиенты каждой скалярной функции и сложить их вертикально, чтобы создать якобиан тождественной функции:

Найти градиент функции в точке и с вектором

Поскольку это функция идентичности, f₁ (Икс) = x₁, f₂ (Икс) = х₂ и тд. Следовательно,

Найти градиент функции в точке и с вектором

Частичная производная функции по переменной, которой нет в функции, равна нулю. Например, частная производная 2x² по y равна 0. Другими словами,

Найти градиент функции в точке и с вектором

Поэтому все, что не на диагонали якобиана, становится равным нулю. Между тем, частная производная любой переменной по отношению к себе равна 1. Например, частная производнаяИксв отношенииИксравен 1. Следовательно, якобиан становится:

Найти градиент функции в точке и с вектором

Градиент комбинаций вектор-векторных функций

Элементарные бинарные операторыявляются операциями (такими как сложениевес+Иксиливес>Икскоторый возвращает вектор единиц и нулей), который применяет оператор последовательно, начиная с первого элемента обоих векторов, чтобы получить первый элемент вывода, затем второго элемента обоих векторов, чтобы получить второй элемент вывода… и так далее.

Эта статья представляет поэлементные бинарные операции с такими обозначениями:

Найти градиент функции в точке и с вектором

Здесь ◯ означает любой поэлементный оператор (например, +), а не композицию функций.

Итак, как вы находите градиент поэлементной операции двух векторов?

Поскольку у нас есть два набора функций, нам нужны два якобиана, один из которых представляет градиент относительноИкси один по отношению квес:

Найти градиент функции в точке и с вектором

Найти градиент функции в точке и с вектором

Большинство арифметических операций нам понадобятся простые, поэтомуе (ш)часто просто векторвес, Другими словами,Fi (Wi) = Wi, Например, операцияW + хподходит к этой категории, так как она может быть представлена ​​каке (ж) + д (х)гдеfi (wi) + gi (xi) = wi + xi.

При этом условии каждый элемент в двух якобианах упрощается до:

Найти градиент функции в точке и с вектором

Найти градиент функции в точке и с вектором

На диагонали i = j, поэтому существует значение для частной производной. Вне диагонали, однако, i ≠ j, поэтому частные производные становятся равными нулю:

Найти градиент функции в точке и с вектором

Мы можем представить это более кратко как:

Найти градиент функции в точке и с вектором

Найти градиент функции в точке и с вектором

Попробуем найти градиент функцииW + х, Мы знаем, что все вне диагонали равно 0. Значения частичных по диагонали относительновеса такжеИксявляются:

Найти градиент функции в точке и с вектором

Итак, оба якобиана имеют диагональ 1. Это выглядит знакомо . это матрица тождеств!

Давайте попробуем это с умножением:ш * х, Значения частностей по диагонали относительновеса такжеИксявляются:

Найти градиент функции в точке и с вектором

Найти градиент функции в точке и с вектором

Следовательно, градиент по отношению квесизш * хявляетсяDiag (Икс)в то время как градиент по отношению кИксизш * хявляетсяDiag (вес).

Применяя те же шаги для вычитания и деления, мы можем суммировать все это:

Найти градиент функции в точке и с вектором

Градиент векторных сумм

Одной из наиболее распространенных операций в глубоком обучении является операция суммирования. Как мы можем найти градиент функцииу = сумма (Икс)?

у = сумма (Икс)также может быть представлен как:

Найти градиент функции в точке и с вектором

Следовательно, градиент может быть представлен как:

Найти градиент функции в точке и с вектором

А так как частная производная функции по переменной, которой нет в функции, равна нулю, ее можно дополнительно упростить следующим образом:

Найти градиент функции в точке и с вектором

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

Как насчет градиентау = сумма (Иксг)? Единственное отличие состоит в том, что мы умножаем каждый частный с константой, z:

Найти градиент функции в точке и с вектором

Хотя это является производной по отношению кИкс, производная по скаляруZэто просто число:

Найти градиент функции в точке и с вектором

Градиент комбинаций векторных функций правила цепочки

ВЧасть 2мы узнали о правилах цепей с несколькими переменными. Однако это работает только для скаляров. Давайте посмотрим, как мы можем интегрировать это в векторные вычисления!

Давайте возьмем векторную функцию,Yзнак равное(Икс)и найти градиент. Давайте определим функцию как:

Найти градиент функции в точке и с вектором

И то и другоеf₁ (х)а такжеf₂ (х)являются составными функциями. Введем промежуточные переменные дляf₁ (х)а такжеf₂ (х)и переписать нашу функцию:

Найти градиент функции в точке и с вектором

Теперь мы можем использовать наше правило цепочки переменных, чтобы вычислить производную вектораY, Просто вычислите производнуюf₁ (х)а такжеf₂ (х)и поместите их один над другим:

Найти градиент функции в точке и с вектором

Вуаля! У нас есть наш градиент. Однако мы пришли к нашему решению со скалярными правилами, просто сгруппировав числа в вектор. Есть ли способ представить правило цепи с несколькими переменными для векторов?

Прямо сейчас наш градиент вычисляется с помощью:

Найти градиент функции в точке и с вектором

Обратите внимание, что первый член градиентов обоихf₁ (х)а такжеf₂ (х)включает частичноеg₁надИкси второй член градиентов обоихf₁ (х)а такжеf₂ (х)включает частичноеg₂надИкс Это как умножение матриц! Поэтому мы можем представить это как:

Найти градиент функции в точке и с вектором

Давайте проверим наше новое представление правила цепочки векторов:

Найти градиент функции в точке и с вектором

Мы получаем тот же ответ, что и скалярный подход! Если вместо одного параметраИксу нас есть векторный параметрИкснам просто нужно немного изменить наше правило, чтобы получить полное правило цепочки векторов:

Найти градиент функции в точке и с вектором

Найти градиент функции в точке и с вектором

В нашем примере выше,еэто чисто функцияг; то есть,фиявляется функциейсолдатно нетGJ(каждая функцияесоответствует ровно 1 функцииг),В этом случае все вне диагонали становится равным нулю, и:

Найти градиент функции в точке и с вектором

Теперь у нас есть все части, которые мы находим в градиенте нейронной сети, с которой мы начали нашу серию:

Найти градиент функции в точке и с вектором

Проверять, выписыватьсяЧасть 4чтобы узнать, как вычислить его производную!

Если вы еще этого не сделали, прочитайте части 1 и 2:

ЧитатьЧасть 4для грандиозного финала!

Скачать оригинал статьиВот,

Если вам понравилась эта статья, не забудьте оставить несколько хлопков! Оставьте комментарий ниже, если у вас есть какие-либо вопросы или предложения 🙂

Поделиться или сохранить к себе: