Для скалярных функций R→R показателем
выпуклости и скорости роста служила вторая производная.
Этот показатель легко обобщается на случай функций многих переменных Rn→R.
Однако у многомерных функций, переменные могут убывать или возрастать по разным направлениям,
поэтому для полноценного анализа нам нужно рассмотреть вторые частные производные всех комбинаций переменных,
для этого в математике используется гессиан
Гессиан
Пусть f:Rn→R — функция n переменных.
Гессиан функции f — матрица её вторых частных производных
Давайте воспользуемся данным определением и посчитаем гессиан для функции f(x,y,z)=x2+y2z,
выглядит он следующим образом:
Hf=20002z2y02y0
Как можно заметить, перед нами симметричная матрица и почти всегда она будет получаться именно такой,
в чём мы сейчас удостоверимся.
Итак, если у нашей функции все производные второго порядка являются непрерывными на некотором пространстве D,
то на этом пространстве по теореме Шварца будет выполнятся следующее свойство:
где H(x0)=∇2f(x0) — гессиан в точке x0.
Выделим квадратичную форму
Q(Δx)=ΔxTH(x0)Δx
В стационарной точке ∇f(x0)=0 разложение упрощается до
f(x0+Δx)=f(x0)+21Q(Δx)+o(∥Δx∥2))
и знак Q(Δx) для малых Δx определяет,
растёт ли функция, убывает или ведёт себя по-разному в разных направлениях.
Подытожим, гессиан — важнейший инструмент для решения задач с многомерными функциями,
позволяющий нам анализировать их производную или понять кривизну в той или иной точке,
и как мы увидим далее
с его помощью можно довольно легко классифицировать экстремумы многомерных функций,
но чтобы это сделать сначала их надо найти, поэтому переходим к следующему разделу.
Экстремумы
Локальные безусловные экстремумы
Итак, что же из себя представляет экстремум многомерной функции?
Из функций одной переменной мы помним что он
фактически показывает точки "перегиба", однако в многомерном пространстве
график может выгибаться во нескольких направлениях сразу,
что значительно усложняет работу с экстремумами.
Сейчас мы научимся анализировать такие точки, но для начала рассмотрим их определение
Локальный безусловный экстремум
Пусть f:D⊂Rn→R — функция n переменных,
и пусть задана точка a∈domf.
Точка a называется точкой локального максимума функции f, если
∃δ>0∀x∈U(a,δ)∩domff(x)⩽f(a)
Другими словами, точка a называется точкой локального максимума функции f,
если в какой-то окрестности точки a значение функции
не больше значения функции в самой точке a.
Точка a называется точкой локального минимума функции f, если
∃δ>0∀x∈U(a,δ)∩domff(x)⩾f(a)
Другими словами, точка a называется точкой локального минимума функции f,
если в какой-то окрестности точки a значение функции
не меньше значения функции в самой точке a.
Точка a называется точкой локального экстремума функции f,
если она является точкой локального максимума или локального минимума.
Как находить подобные точки у функции мы узнали ранее изучая градиент и теорему Ферма.
Теорема Ферма
Если функция f дифференцируема в точке a и эта точка a является точкой локального экстремума функции f, то
∇f(a)=0
Предположим, что в точке a, которая является точкой экстремума,
градиент функции f не нулевой: ∇f(a)=0.
Рассмотрим направление v=−∇f(a)/∥∇f(a)∥.
Производная по этому направлению
Из этого равенства для производной по направлению v получаем,
что по направлению v функция убывает,
а по направлению −v функция возрастает.
А значит, в любой окрестности точки a есть точки,
где функция принимает как большие, так и меньшие значения.
Получаем противоречие.
Если функция f дифференцируема в точке a, и ∇f(a)=0,
то эта точка a называется стационарной точкой функции f.
Не всякая стационарная точка является точкой экстремума,
но всякая точка экстремума является стационарной точкой по теореме Ферма.
Отсюда следует, что для того чтобы точка являлась точкой экстремума, необходимо, однако не достаточно того чтобы
градиент в ней был равен нулю, это так называемое необходимое условие для экстремальных точек.
Основная проблема в том, что однозначно классифицировать стационарную точку мы пока не можем.
Тут на помощь нам придёт ещё одно важное свойство гессиана — из того с каким знаком определена эта матрица,
можно сделать вывод о том, какую именно точку мы нашли.
А теперь вспомним одно важное правило для симметричных матриц,
а именно критерий Сильвестра, который показывает как знакоопределена матрица.
Критерий Сильвестра
Пусть у нас есть некоторая симметричная матрица Mn×n, а Δk=detMk — главные миноры порядка k для этой матрицы.
Тогда относительно неё будет выполнятся следующее:
Во всех иных случаях матрица считается не строго определённой,
но стоит выделить случаи когда матрица может быть определена не строго положительно или не строго отрицательно.
Тогда Δk≥0 или (−1)kΔk≥0 и при этом,
хотя бы один из Δk равен нулю.
Запись выглядит соответственно M⪰0 и M⪯0
Теперь, благодаря этому самому критерию, мы можем узнать знакоопределённость гессиана,
и сделать из этого следующие выводы:
Hf(x)≻0 в точке экстремума, значит точка является локальным максимумом.
Hf(x)⪰0 в точке экстремума,
значит точка может являться локальным максимумом, однако по некоторым направлениям она плоская,
из-за чего не возможно однозначно сказать что это точки максимума.
Hf(x)≺0 в точке экстремума, значит точка является локальным минимумом.
Hf(x)⪯0 в точке экстремума,
значит точка может являться локальным минимумом, однако по некоторым направлениям она плоская,
из-за чего не возможно однозначно сказать что это точки минимума.
Hf(x)=0 в точке экстремума,
значит экстремум является седловой точкой,
то есть такой точкой в которой по одним направлениям функция возрастает, а по другим убывает
из-за чего в окрестности такой точки график напоминает седло.
Важно заметить, что все вышеперечисленное истинно только в случе
если функция по которой строится матрица непрерывна, так как иначе гессиан был бы не симметричным
и критерий Сильвестра применить бы не получилось.
Теперь решим простой пример для закрепления изученного инструментария
Возьмём какую-нибудь f(x,y)=−x2−4y Сначала найдем градиент и определим точки в которых он равен нулю, ∇f(x,y)=(−2x,−8y)=0 значит x,y=0,0,
единственная стационарная точка.
Гессиан:
Hf=(−200−8)
Главные миноры: Δ1=−2<0,Δ2=detHf=16>0.
По критерию Сильвестра матрица Hf отрицательно определена.
Отрицательно определённый гессиан в стационарной точке означает,
что (0,0) является точкой локального максимума функции f.
Локальные условные экстремумы
Теперь мы умеем находить максимум или минимум многомерной функции, однако в реальности,
часто необходимо учитывать какие-либо другие условия при поиске.
Подобные задачи и называют поиском условного экстремума.
Основное и, пожалуй, главное отличие условного экстремума от безусловного заключается в том,
что при поиске условного экстремума, мы накладываем на область поиска ограничение,
которое обычно называют функцией связи,
в следствии чего мы можем найти экстремум даже там,
где до этого его было найти не возможно.
Но прежде чем что-либо искать нам необходимо обзавестись соответствующим инструментарием для поиска.
Чаще всего используется метод множителей Лагранжа.
Сначала представим метод на примере одной функции-ограничения,
а после обобщим до m функций связи.
Итак, первый шаг в решении задачи этим методом — составление функции Лагранжа (Лагранжиана).
Назовём нашу функцию-ограничение g(x,y),
тогда составим функцию Лагранжа относительно нашей основной функции f(x,y) и функции связи g(x,y)
L(x,y)=f(x,y)+λg(x,y)
Где параметр λ — множитель Лагранжа.
Тогда стационарные точки можно получить из следующей системы уравнений:
⎩⎨⎧∂x∂L=0∂y∂L=0g(x,y)=0
Теперь попробуем решить простой пример при помощи полученных знаний.
Наша задача найти условные экстремумы функции f(x,y)=xy при ограничении g(x,y)=x2+y2−1=0.
Составим функцию Лагранжа:
L(x,y,λ)=f(x,y)+λg(x,y)=xy+λ(x2+y2−1)
Найдём частные производные:
∂x∂L=y+2λx∂y∂L=x+2λy∂λ∂L=x2+y2−1
Стационарные точки Лагранжиана (и, значит, кандидаты на условный экстремум) удовлетворяют системе
Необходимые условия наличия условного экстремума задаются системой уравнений, из которой
находятся координаты стационарных точек и значения множителей Лагранжа:
⎩⎨⎧∂xi∂Lgj=0,i=1,2,…,n,=0,j=1,2,…,m.
Выпуклые и вогнутые функции
Мы продолжаем увеличивать свой инструментарий анализа многомерных функций.
Теперь нам известны способы найти локальные экстремумы и классифицировать их как точки максимума или минимума.
Но очень часто, особенно в задачах оптимизации, нам необходимо найти не локальные а глобальные стационарные точки.
От локальных они отличаются тем,
что они единственны на всей области определения функции, а не на какой-то её части.
В этой ситуации в первую очередь стоит проверить функцию на выпуклость или вогнутость.
Выпуклые и вогнутые функции
Функция f:Rn→R называется выпуклой, если выполняется:
∀x,y∈Rn∀t∈[0,1]f(tx+(1−t)y)⩽tf(x)+(1−t)f(y)
если выполняется обратное —
∀x,y∈Rn∀t∈[0,1]f(tx+(1−t)y)⩾tf(x)+(1−t)f(y)
то функция называется вогнутой.
При этом, если определение выше дополнить условием что t∈(0,1) и x=y,
то функция будет называться строго выпуклой и строго вогнутой соответственно.
Более просто выпуклую функцию можно понимать так:
её график "изогнут вверх", как чаша.
Если взять любые две точки на графике и соединить их отрезком,
то этот отрезок целиком лежит над графиком или совпадает с ним,
то есть функция нигде не "провисает" ниже прямой между этими точками.
Вогнутая функция, наоборот, имеет график, "изогнутый вниз",
как купол, где отрезок между любыми двумя точками графика проходит под ним или на нём,
и функция нигде не "выгибается" выше этой прямой.
При работе с выпуклыми функциями иногда опираются на Неравенство Йенсена.
Давайте его рассмотрим
Неравенство Йенсена
Пусть f(x) выпукла вверх на [a;b]. Тогда для любых x1,x2,…,xn∈[a;b] и их выпуклой комбинации выполнено неравенство
k=1∑nαkf(xk)≤f(k=1∑nαkxk)
Докажем по индукции.
База: n=2.
Неравенство превращается в определение выпуклой вверх функции,
для которой это, очевидно, выполняется.
Переход: пусть это верно для n.
Докажем, что это верно для n+1:
k=1∑n+1αk=1
обозначим sn=k=1∑nαk.
Пусть βk=snαk.
Тогда получаем: k=1∑nβk=1.
Значит, шаг индукции проделан, неравенство доказано для произвольного n.
Теперь научимся определять, является ли функция выпуклой или вогнутой
и самостоятельно конструировать такие функции, зная что какая-то функция является выпуклой.
Рассмотрим сначала, то как ведёт себя одномерная выпуклая функция при дифференцировании.
Применим линейную интерполяцию (в случае 2 узлов),
чтобы выяснить связь между выпуклостью и дифференцируемостью функции f. Будем считать,
что f дифференцируема столько раз, сколько нам нужно.
Имея 2 узла на (a;b) и y0=f(x0),y1=f(x1), составим Ln(x):
Ln(x)=y0x0−x1x−x1+y1x1−x0x−x0
— прямая, проходящая через точки (x0,y0) и (x1,y1). Значит, между x0 и x1 получаем хорду, соединяющую две точки графика.
В вопросе о выпуклости надо проверять знак такой разности:
f(x)−Ln(x)=2!f(2)(cx)(x−x0)(x−x1),x0≤x≤x1
Если f(2)≤0 на (a;b),
то правая часть будет неотрицательная, так как x∈[x0;x1],
поэтому f(x)−Ln(x)≥0, и, т. к. x0 и x1 произвольны, то f выпукла вверх.
Итак, f(2)≤0⟹f выпукла вверх.
Пусть f выпукла вверх.
Будем считать, что f(2) непрерывна, x∈(a;b).
Пусть x0=x−Δx, x1=x+Δx,
где Δx — малое положительное число.
Рассмотрим полином Лагранжа Ln для системы узлов (x0,x1):
Пусть D⊂Rn — открытое выпуклое множество, f:D→R дважды непрерывно дифференцируема,
и для всех x∈D гессиан H(x)=∇2f(x) отрицательно полуопределён:
∀x∈D∀h∈Rn:hTH(x)h≤0
Возьмём любые точки x0,x1∈D.
Из выпуклости D следует,
что отрезок между ними лежит в D.
Введём параметризацию отрезка:
z(t)=x0+t(x1−x0),t∈[0,1]
И рассмотрим функцию одной переменной
u(t)=f(z(t))=f(x0+t(x1−x0))
Тогда
u′(t)=∇f(z(t))⋅(x1−x0)
u′′(t)=(x1−x0)TH(z(t))(x1−x0)≤0
по предположению об отрицательной полуопределённости гессиана.
Значит, u на [0,1] выпукла вверх как функция одной переменной,
и поэтому для всех t∈[0,1]
u(t)≥(1−t)u(0)+tu(1)
Подставляя обратно определения u и z, получаем
f((1−t)x0+tx1)≥(1−t)f(x0)+tf(x1),t∈[0,1]
Так как x0,x1 выбирались произвольно, f выпукла вверх на D.
Аналогично для вогнутых функций.
Теперь обобщим свойства таких функций
Любой минимум у выпуклых функций и любой максимум у выгнутых функций
является глобальным.
Пусть функции f1:Rn→R,…,fm:Rn→R — выпуклы, w1∈R+,…,wm∈R+ Тогда функция f=f1w1+⋯+wmfm — тоже выпуклая.
Аналогично для вогнутых функций.
Пусть f:Rn→R — выпуклая, а A∈Rn×m,b∈Rn,
тогда функция g(x)=f(Ax+b) с областью определения domg={x:Ax+b∈domf} —
тоже является выпуклой.
Аналогично для вогнутых функций.
Пусть f:Rn→R — выпуклая, а h:Rn→R — выпуклая неубывающая,
тогда композиция этих двух функций. g(f(x)) с областью определения domg={x∈domf:f(x)∈domh} — является выпуклой.
Аналогично для вогнутых функций.
Если f1,…fm — выпуклые функции,
то функция f(x)=max{f1(x)…fm(x)} с областью определения domf=domf1∩…∩domfm — тоже
выпукла.