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

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

clip_image004 (47)

Таким образом, в данном варианте градиентного спуска на каждой итерации необходимо решить задачу одномерной минимизации (47). Алгоритм метода наискорейшего спуска состоит в следующем:

1. В точке clip_image006 вычисляется значение градиента функции и шага clip_image008 путем решения задачи одномерной минимизации (47).

1. Осуществляется спуск в направлении антиградиента с выбранным шагом clip_image008[1] до тех пор, пока значение функции clip_image010 убывает, т.е. выполняется условие (46).

2. Если на i-ом шаге clip_image012, то в точке clip_image014вычисляются новые значения градиента clip_image016и шага clip_image018 и выполняется переход к п.2

3. Критериями останова итерационного процесса служат следующие условия: если минимум вдоль данного направления спуска не может быть определен на последней итерации с помощью формулы (47); при превышении заданного числа итерации; при полученных значениях компонент градиента, меньших по абсолютной величине заданных минимально допустимых значений первой производной минимизируемой функции.

Градиентные методы плохо сходятся для функций, матрицы вторых производных которых (матрицы Гессе) имеют сильно отличающиеся друг от друга максимальное М и минимальное m собственные числа. Собственными числами clip_image020, матрицы являются корни характеристического уравнения: clip_image022 (48)

Если clip_image024, то поверхности уровня минимизируемой функции сильно вытягиваются. В таких случаях, вдоль некоторых направлений функция изменяется значительно быстрее, чем в других направлениях. Это явление называют эффектом оврагов, так как топография поверхности уровня clip_image026 имеет овражную структуру. Направление антиградиента в таких случаях существенно отклоняется от направления в точку минимума, что приводит к замедлению скорости сходимости. Скорость сходимости градиентных методов существенно зависит от точности вычисления градиента и величины шага спуска. Потеря точности, а это обычно происходит в окрестностях точек минимума или в овражной ситуации, может вообще нарушить процесс сходимости метода градиентного спуска. Вследствии перечисленных причин градиентные методы на начальной стадии решения задачи используются с другими, более эффективными методами.

Пример 7. Определить градиентным методом максимум функции clip_image028, начав итерационный процесс из точки Х=(4,5) [7].

Решение: В данном случае clip_image030 и clip_image032.

Итерация 1. Имеем clip_image034 clip_image036 и clip_image038. Используя необходимое условие экстремума: clip_image040

Получим clip_image042

Откуда clip_image044. Так как clip_image046, то найденное значение clip_image048 является точкой максимума clip_image050.

С помощью величины clip_image052 получаем новую точку clip_image054

Итерация 2. Начальная точка clip_image056; clip_image058 Следовательно, clip_image056[1]является стационарной точкой и дальнейшее перемещение вдоль градиента невозможно. Так как функция z выпуклая, то в найденной точке достигается глобальный максимум clip_image060 (в начальной точке clip_image062.

Пример 8. Найти минимум функции clip_image064. Начальная точка (4; -1; 2) и начальный шаг равен 4.

Решение: Очевидно, что минимум равен нулю при clip_image066. Итерационный процесс приведен в таблице 3.

Таблица 3.

итерации

x1

x2

x3

F

1

3,232205

0,023727

-5,16609

13,95128

2

1,189384

2,747488

-4,55811

0,880715

3

1,140915

2,812114

-5,01049

0,555979

4

1,011955

2,98406

-4,9721

0,003597

5

1,008896

2,988139

-5,00066

0,000221

6

1,000754

2,998995

-4,99824

0,0000139

Оптимальное значение находится на 11 шаге clip_image068при значениях clip_image070.

Предлагаю ознакомиться с аналогичными статьями: