Московский физико-технический институт
Опубликован: 25.10.2007 | Доступ: свободный | Студентов: 3791 / 1086 | Оценка: 4.50 / 4.33 | Длительность: 24:00:00
ISBN: 978-5-9556-0065-9
Специальности: Программист, Математик
Лекция 5:

Численные методы решения экстремальных задач

4.2.2. Метод градиентного спуска

Напомним, что градиент функции

$ grad \Phi (u) = \left({\frac{d\Phi
}{du^1}, \ldots , \frac{d\Phi }{du^n }}\right) $
есть вектор, ортогональный линиям уровня целевой функции, а его направление совпадает с направлением наибольшего роста \Phi (u) в данной точке. В точке минимума grad \Phi (u) = 0.

Построим итерационный процесс следующим образом:

u_{k + 1} = u_k - \tau \cdot grad \Phi , u_0 = a,

где \tau — шаг спуска (итерационный параметр). Итерации продолжим до выполнения заданного условия окончания процесса поиска минимума, например

\left\| {grad \Phi (u_{k + 1})}\right\| \le \varepsilon  > 0.

Пример. Рассмотрим функцию двух переменных

$ \Phi (u_1,u_2) = \frac{(u^1)^2}{4} + (u^2)^2 $.

В соответствии с методом градиентного спуска получим

\begin{gather*}
  u_{k + 1}^1 = u_k^1 - \tau \frac{u_k^1}{2}, \\ 
  u_{k + 1}^2 = u_k^2 - \tau \cdot 2u_k^2 . \\  
\end{gather*}

Пусть начальное приближение u0 = {1;1} ; \tau   = 0,1.

Тогда u1 = {0,95; 0,80} ; u2 = {0,9025; 0,6400} ; u3 = {0,8574; 0,5120} ; \Phi (u_{1}) = 1,25 ; \Phi (u_{3}) = 0,446.

Если взять \tau  = 2, то u1 = {0; - 3} и \Phi (u_{1}) = 9, в то время как \min\limits_U\Phi (u) = 0. Выбор шага оказывается существенным в этом методе, поэтому чаще используются методы с переменным шагом.

4.2.3. Метод наискорейшего спуска

В методе градиентного спуска выберем шаг \tau так, чтобы функция \Phi (u) максимально уменьшала свое значение:

\Phi (u_{k + 1}) = \min\Phi (u_k - \tau \cdot grad \Phi (u_k )).

В предыдущем примере выбор шага в точке u0 сводится к задаче о поиске минимума функции

$ \frac{1}{4}{(1 - \frac{\tau}{2})}^2 + {(1 - 2\tau)}^2, $

откуда \tau  = 10/9, поскольку

$ \Phi (u^1) = \frac{1}{4}(u_0^1 - \tau\frac{u_0^1}{2})^2 + {(u_0^2 - 2\tau u_0^2)}^2 = \frac{1}{4}{(1 - \frac{\tau }{2})}^2 + {(1 - 2\tau )}^2, u_0^1 = u_0^2 = 1. $

На следующих шагах \tau будет зависеть от u_k^i , k > 0, i = 1, 2.

Общий случай этого метода, а также метод сопряженных градиентов рассмотрены в "Численное решение систем линейных алгебраических уравнений" .

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

Определение. Функция \Phi (u), заданная на выпуклом множестве U \in L^n, называется выпуклой, если для любых точек {u,v} \in U и любого \alpha \in \left[ {0,1}\right] выполнено:

\Phi \left[{\alpha u + (1 - \alpha )v}\right] \le \alpha \Phi (u) + (1 - \alpha )\Phi (v).

Определение. Функция \Phi (u) называется строго выпуклой, если для всех \alpha \in (0,1) выполнено строгое неравенство

\Phi \left[{\alpha u + (1 - \alpha )v}\right] <\alpha \Phi (u) + (1 - \alpha )\Phi (v).

Это определение имеет наглядный геометрический смысл: график функции \Phi (u) на интервале, соединяющем точки u, v лежит ниже хорды, проходящей через точки \{ u, \Phi (u)\} и \{ v, \Phi (v)\} (рис. 4.11).

Для дважды непрерывно дифференцируемой функции \Phi (u) положительная определенность матрицы Гессе \Phi ''_{u}(u) есть достаточное условие строгой выпуклости.


Рис. 4.9.

Теорема. Пусть \Phi (u) — выпуклая функция на выпуклом множестве U, u \in U. Тогда любой ее локальный минимум на U является одновременно и глобальным.

Глобальный минимум строго выпуклой функции \Phi (u) на выпуклом множестве U достигается в единственной точке.

Доказательство.

Предположим противное, т.е. u0 — точка локального, а u* — глобального минимума \Phi (u) на U, u^* \ne u_0 и \Phi (u_{0}) > \Phi (u^{*}). Отсюда, с учетом выпуклости \Phi (u) имеем

\Phi \left[{\alpha u* + (1 - \alpha )u_0}\right] \le \alpha\Phi (u*) + (1 - \alpha )\Phi (u_0) <\Phi (u_0).

При \alpha \to + 0 точка u = \alpha u^* + (1 - \alpha )u^0 попадает в сколь угодно малую окрестность u0. Поэтому полученное неравенство \Phi (u) < \Phi (u_{0}) противоречит предположению о том, что u0 — точка локального минимума (первая часть теоремы доказана).

Пусть u(1), u(2) — две различные точки глобального минимума. Из строгой выпуклости \Phi (u) следует, что для всех \alpha \in \left[{0,1}\right] выполняется строгое неравенство \Phi \left[{\alpha u^{(1)} + (1 - \alpha )u^{(2)}}\right] < \alpha \Phi (u^{(1)}) + (1 - \alpha )\Phi (u^{(2)}) =\\ 
= \Phi * = \min\limits_U\Phi (u), что противоречит предположению о том, что u(1), u(2) — точки глобального минимума.