11 Градиентные методы

advertisement
Вариационное исчисление и методы оптимизации
Специальность – Математика
Курс – 3, семестр - 5
Часть 2. МЕТОДЫ ОПТИМИЗАЦИИ
Лекция № 12. Дифференцирование функционалов и градиентные методы
Рассматривается приближенные методы минимизации функционалов. Таковыми является
градиентный метод в задачи на безусловный экстремум и метод проекции градиента при наличии
ограничений. Для распространения этих методов с функций на функционалы даются основные
сведения из теории дифференцирования функционалов.
12.1. Идея градиентного метода
Рассматривается задача безусловной минимизации функции F  F (v)  F (v1 ,...., vn ).
Практическое решение этой задачи, как правило, связано с построением некоторой
последовательности векторов {v k } n-ого порядка. При известной величине v k очередное
приближение определяется по формуле
(12.1)
v k 1  v k   k hk ,
k
где число  k (для определенности – положительное) и n-мерный вектор h выбираются
таким образом, чтобы обеспечить минимизацию данного функционала.
Предположим, что функция F является дифференцируемой. Тогда справедливо
соотношение
n
F (v k ) k
F (v k 1 )  F (v k   k h k )  F (v k )   k 
hi   ( k ),
vi
i 1
где  ( k ) /  k  0 при  k  0 . Учитывая определение градиента, приходим к равенству
F (v k 1 )  F (v k )   k  F (v k ), h k    ( k ).
Определяем величину
hk  F (v k ) F (v k )
1
(12.2)
.
Тогда из предшествующего равенства получаем
F (v k 1 )  F (v k )   k F (v k )   ( k ).
При достаточно больших k величина  k будет сколь угодно малой. Тогда знак суммы в
правой части последнего равенства будет определяться знаком первого слагаемого, а
значит, эта сумма отрицательна. Отсюда следует соотношение
F (v k 1 )  F (v k )  0,
т.е. последовательность
F (v )
k
оказывается убывающей. Таким образом, в процессе
счета согласно алгоритму (12.1), (12.2) значение минимизируемой функции, вообще
говоря, убывает. Тем самым мы вправе ожидать, что рассматриваемый алгоритм приведет
к решению рассматриваемой задачи.
Итак, для решения задачи на безусловный экстремум можно воспользоваться
алгоритмом
v k 1  v k   k F (v k ) F (v k )
1
.
Часто его записывают в виде
v k 1  v k   k F (v k ),
(12.3)
где  k   k F (v k )
1
есть параметр алгоритма. Поскольку в основе описанного метода
лежит вычисление градиента минимизируемой функции, рассматриваемый метод
называют градиентным.
Имеется значительное количество вариантов градиентного метода, различающихся
способом выбора параметра  k . Отметим, к примеру, метод наискорейшего спуска в
котором этот параметр определяется из следующего соотношения
F v k   k F (v k )   min F v k  F (v k )  .
 0
Метод наискорейшего спуска, в принципе, обеспечивает наилучший вариант выбора  k .
Однако он требует решения на каждом шаге итерационного процесса задачи
минимизации, характеризуемой последним равенством. Отметим, впрочем, что здесь речь
идет о задаче минимизации функции одной переменной , в то время как исходная задача
состоит в минимизации функции F многих переменных.
Замечание 1. Естественно использование формулы (12.2) предполагает, что градиент F (v k )
отличен от нуля. Однако равенство F (v k )  0 означает, что выполнено условие стационарности,
т.е. точка v k может оказаться решением задачи. Более типичной является ситуация, когда норма в
соотношении (12.2) отлична от нуля. Таким образом, либо v k оказывается точкой стационарности
(что уже само по себе хорошо), либо формула (12.2) вполне корректна.
Замечание 2. Очевидно, градиентный метод может сходиться не только к абсолютному, но и к
локальному экстремуму функции, поскольку в малой окрестности локального и абсолютного
экстремумов функция ведет себя одинаково.
Замечание 3. Очевидно, градиентный метод является в то же самое время алгоритмом решения
системы нелинейных алгебраический уравнений F (v k )  0 , т.е. обеспечивает нахождение точек
стационарности.
Действие градиентного метода для функции одной переменной изображено на рис.
12.1.
F
k
F (v )
k
F (v )
tg 
v
k
v
k 1

F (v k )
v k 1  v k  F (v k )[ F (v k )]
1

v
k 1
v
k
Рис. 12.1. Градиентный метод для функции одной переменной.
12.2. Производные функционалов
Полученные результаты можно распространить на функционалы, если должным
образом определить их производные. Мы ограничимся рассмотрением случая, когда
функционалы определены на гильбертовом пространстве. Дадим некоторые
вспомогательные определения.
Линейное пространство V называется нормированным, если любому элементу v V
ставится в соответствие неотрицательное число v , называемое нормой и такое, что
v  0 исключительно при v  0, u  v  u  v для любых u , v  V и av  a v для
любого числа а и любого v V . В частности, в евклидовом пространстве
вектора v  (v1 ,..., vn ) можно задать с помощью любого из равенств:
n
v 1   vi , v
i 1
p

норму
p
n
p
n
 vi , p  1, v
i 1

 max vi .
i 1,..., n
В пространстве Lp () функций, интегрируемых (по Лебегу) со степенью p  1 норму
можно определить с помощью равенства
v 
p
 v( x)
p
dx .

Последовательность {vk } в линейном нормированном пространстве V сходится к
элементу
v V ,
если
при
k 
имеет
место
сходимость
vk  v  0.
Последовательность называется фундаментальной {vk } , если при k , m   имеет место
сходимость vk  vm  0. Определение сходимости (в отличии о фундаментальности)
является неконструктивным, поскольку требует априорного знания предела, однако на
практике обычно бывает сама известна последовательность, но не ее предел. Из
сходимости последовательности всегда следует фундаментальность, но обратное
утверждение, вообще говоря, не верно. Существуют, однако, пространства, в которых
работает критерий Коши, т.е. из фундаментальности последовательности (проверяемое
условие) следует ее сходимость. Такие пространства называются полными. В частности,
таковыми оказываются евклидово пространство с любой из указанных норм, а также
любое пространство Lp () .
В линейном нормированном пространстве V определено скалярное произведение, если
для любых u , v  V определено число  u, v  такое, что  u, v    v, u  для всех u , v  V ;
u, v  w  u, v   u, w для всех u, v, w V ;  u, av   a u, v  для любых u, v V и числа а;
2
 u, u   u для любого u V . В частности, в пространстве n скалярное произведение
векторов u  (u1 ,..., un ) и v  (v1 ,..., vn ) характеризуется равенством
n
 u, v    ui vi .
i 1
В пространстве L2 () функций, интегрируемых с квадратом, скалярное произведение
определяется по формуле
 u, v    u( x)v( x)dx.

Полное пространство со скалярным произведением называется гильбертовым. К таковым,
в частности, относятся пространства n и L2 () .
Определение 12.1. Функционал I называется дифференцируемым по Гато в точке и
гильбертова пространства V, если существует такой элемент I (u ) V , называемый
производной Гато данного функционала в указанной точке, такой, что имеет место
соотношение
I (u   h)  I (u )
lim
  I (u ), h  h  V .
 0

Для вычисления производной Гато достаточно вычислить соответствующий предел
(если, конечно, он существует) и записать его (если это возможно) в виде скалярного
произведение какого-то элемента на h. Тогда производной Гато оказывается тот элемент,
который скалярно умножается на h.
Пример 12.1. Определим производную Гато дифференцируемой функции
F  F (v)  F (v1 ,...., vn ) в некоторой точке u  (u1 ,..., un ) , выбирая в качестве области
определения функции евклидово пространство. Справедливо равенство
n
F (u1 ,...., un )
F (u   h)  F (u1   h1 ,...., un   hn )  F (u1,...., un )   
hi   ( ),
ui
i 1
где  ( ) /   0 при   0 . Тогда получаем соотношение
F (u   h)  F (u ) n F (u1 ,...., un )
lim

hi   F (u), h  h V .
 0

ui
i 1
Отсюда следует, что F (u )  F (u ), т.е. производной Гато данной функции оказывается ее
градиент.
Пример 12.2. В произвольном гильбертовом пространстве V определим функционал
2
I (v)  v  y , где у – заданный элемент пространства. Найдем производную Гато данного
функционала в произвольной точке u V . Имеем
2
I (u   h)  u  y   h   u  y   h, u  y   h  
  u  y, u  y     u  y, h     h, u    2  h, h   u  y  2  u  y, h    2 h .
В результате получаем
I (u   h)  I (u )
lim
  2(u  y ), h  h  V ,
 0

откуда следует, что I (u )  2(u  y ).
2
2
При описании выше градиентного метода использовалось разложение приращения
дифференцируемой функции (формула Лагранжа). Мы хотели бы иметь некоторый аналог
этих результатов для функционалов. Однако для этих целей дифференцируемости по Гато
оказывается не достаточно. Здесь потребуется другой тип дифференцируемости
функционалов.
Определение 12.2. Функционал I называется дифференцируемым по Фреше в точке
и, если существует такой элемент I (u ) V , называемый производной Фреше данного
функционала в указанной точке, такой, что справедливо равенство
I (u  h)  I (u)   I (u), h   (h) h V ,
где h
1
 (h)  0 при h  0.
В отличие от производной Гато определение производной Фреше не конструктивно,
поскольку не совсем понятно, как ее искать. Для нахождения производной Фреше обычно
используют ее связь с соответствующей производной Гато. Если существует производная
Фреше некоторого функционала в данной точке, то там же существует его производная
Гато, причем эти производные совпадает. Если существует производная Гато
функционала I в окрестности точки и, причем при uk  u имеет место сходимость
I (uk )  I (u ) , то в точке и существует производная Фреше, совпадающая с
соответствующей производной Гато. Таким образом, для нахождения производной Фреше
следует найти соответствующую производную Гато и проверить, будет ли она
непрерывной в рассматриваемой точке.
Пример 12.3. Определим производную Фреше непрерывно дифференцируемой
функции F  F (v)  F (v1 ,...., vn ) в некоторой точке u  (u1 ,..., un ) . Как уже отмечалось, ее
производная Гато в произвольной точке v равна F (v)  F (v). Поскольку мы
рассматриваем непрерывно дифференцируемую функцию, все ее частные производные
непрерывны. Следовательно, при uk  u имеет место сходимость F (uk )  F (u).
Отсюда следует, что производная Фреше функции F в точке и существует и равна
соответствующей производной Гато, т.е. F (u ).
Пример 12.4. Определим производную Фреше функционала I (v)  v  y
в
произвольном гильбертовом пространстве V, где у – заданный элемент пространства. Как
уже отмечалось, функционал в любой точке v имеет производную Гато I (v)  2(v  y ).
При uk  u имеет место сходимость 2(uk  y)  2(u  y), а значит, I (uk )  I (u ) . Таким
образом, в произвольной в точке и существует производная Фреше рассматриваемого
функционала, равная 2(u  y ).
2
Пример 1.15. Разрывный функционал. Рассмотрим функцию f двух переменных, определяемую по
формуле
 y ( x 2  y 2 ) / x, x  0,
f ( x, y )  
0,
x  0.
Найдем разность
f ( h,  g )  f (0, 0)   2 (h 2  g 2 ) g / h.
Разделив полученное выражение на  и переходя к пределу при   0, установим, что производная
функции f в нуле равна нулю (является нулевым вектором второго порядка). С другой стороны, определим
3
x  t , y  t , откуда следует, f ( x, y )  (t  1). Тогда при t  0 имеет место сходимость ( x, y )  0 и
f ( x, y )  1, т.е. рассматриваемая функция разрывна в нуле. 
4
Замечание 4. Производные Гато и Фреше можно определить для функционалов,
заданных в произвольном линейном нормированном пространстве. Однако эти
определения сложнее, вследствие чего мы эти вопросы рассматривать не будем.
Здесь же условие стационарности общего вида
12.3. Градиентный метод в гильбертовом пространстве
Пусть требуется минимизировать дифференцируемый по Фреше функционал I в
гильбертовом пространстве V. Построим итерационный процесс по аналогии с формулой
(12.1):
(12.4)
v k 1  v k   k hk ,
k
где вновь  k есть положительное число, а h – некоторый элемент пространства V.
Справедливо равенство
I (v k 1 )  I (v k   k h k )  I (v k )   k  I (v k ), h k    ( k h k ),
1
где  ( k hk )  k hk   0 при  k h k  0. По аналогии с формулой (12.2) определяем
hk   I (v k ) I (v k )
Отметим, что
1
.
(12.5)
h k  1. Отсюда следует, что сходимость  k h k  0 реализуется при
 k  0 . В результате получаем
I (v k 1 )  I (v k )   k I (v k )   ( k ),
(12.6)
где  ( k )  0 при  k  0 . При достаточно больших k величина  k будет сколь угодно
малой. Тогда знак суммы в правой части последнего равенства будет определяться знаком
первого слагаемого, а значит, эта сумма отрицательна. Отсюда следует соотношение
I (v k 1 )  I (v k )  0,
т.е. последовательность
I (v )
работы градиентного метода.
k
оказывается убывающей. На этом основан принцип
Замечание 5. Для рассматриваемого алгоритма остаются справедливыми рассуждения
из замечаний 1-3.
12.4. Метод проекции градиента
При решении задачи на условный экстремум применение градиентного метода может
привести к тому, что результат последующей итерации может не удовлетворять заданным
ограничениям. В этих условиях используют некоторую модификацию рассмотренного
алгоритма, называемую методом проекции градиента.
Пусть требуется минимизировать функцию F  F (v)  F (v1 ,...., vn ) на некотором
подмножестве U n-мерного евклидова пространства. Тогда вместо соотношения (12.3)
предлагается алгоритм
v k 1  P v k   k F (v k )  ,
(12.7)
где Р есть оператор проектирования (проектор). Он ставит в соответствие произвольной
точке евклидова пространства ближайшую к ней точку множества U.
Пример 12.5. Пусть требуется минимизировать некоторую функцию одной
переменной F  F (v) на отрезке [a, b] . Тогда метод проекции градиента (12.7)
характеризуется равенством:
 a,
v k   k F (v k )  a,

v k 1  v k   k F (v k ), a  v k   k F (v k )  b,

v k   k F (v k )  b.
b,
Для решения задачи минимизации дифференцируемого функционала I на
подмножестве U гильбертова пространства V используется алгоритм
v k 1  P v k   k I (v k )  .
(12.8)
Пример 12.6. Пусть требуется минимизировать функционал
2
I (v)    v( x)  y ( x) dx

на следующем подмножестве функций, интегрируемых с квадратом:
U  v  L2 () a  v( x)  b.
Определим производную данного функционала. Имеем
I (u   h)  I (u)   (u  y   h)2  (u  y)2  dx   2 (u  y )h   2h 2  dx.


После деления на  и перехода к пределу получаем
 I (u), h    2(u  y)hdx.

Отсюда находим производную I (u )  2(u  y ). Тогда метод проекции градиента
характеризуется равенством
 a,
v k ( x)  2 k u ( x)  y ( x)   a,

v k 1 ( x)  v k ( x)  2 k u ( x)  y ( x)  , a  v k ( x)  2 k u ( x)  y ( x )   b,

v k ( x)  2 k u ( x)  y ( x)   b.
b,
Задания на самостоятельную работу
Рассматривается задача минимизации функционала I  I (v ) на некотором подмножестве
U гильбертова пространства.
В следующей таблице задаются значения параметров задачи для различных вариантов:
вариант
1
U
I (v )
(v , v )
v14  v24
1
U  v v(t )  1, t  [0,1]
1
2
 v (t )dt
3
0
3
v16  v22
4
 v ( x)dx
(v , v )
1

2
1
5
v  v22  v32
6
 v( x)  sin x 
2
(v , v , v )
1
dx
8
1
v
4
(t ) dt
0
9
v12  v22  v32
2
3
v1  b, v2  a
U  v 0  v( x)  1, x  

v14  2v22
vi  bi , i  1, 2
2
U  v v( x)  1, x  
2
7
vi  ai , i  1, 2
2
(v , v )
1
2
v1  a
U  v 0  v(t )  1, t  [0,1]
(v , v , v )
1
2
3
a  vi  b, i  1, 2,3
Требуется выполнить следующие действия:
1. Найти производную Гато заданного функционала.
2. Записать градиентный метод для данного функционала.
3. Записать метод проекции градиента для поставленной задачи.
1. Акулич М.Л. Математическое программирование в примерах и задачах. – М., ВШ, 1986. –
С. 269-282.
2. Кузнецов Ю.Н., Кузубов В.И., Волощенко А.Б. Математическое программирование. – М., ВШ,
1976. – С. 249-270.
Download