
Лекции по вычмату преподавателя Друка / L016
.doc
Лекция 16. МЕТОДЫ ВТОРОГО ПОРЯДКА И МИНИМИЗАЦИЯ С ОГРАНИЧЕНИЯМИ. |
16.1. Квазиньютоновские методы.
Эти
методы являются дальнейшим развитием
уже рассмотренных методов. Они основаны
на применении метода Ньютона для решения
системы нелинейных уравнений (18.6), но
матрица Гессе
(18.7) в них явно не вычисляется.
Метод
Ньютона поиска минимума (см. раздел
18.5) использует квадратичную аппроксимацию
для целевой функции, т.е. линейную
аппроксимацию для градиента
вблизи произвольной точки
в многомерном пространстве (см. рис.
20.2)
|
(16.1) |
Для
определения шага
полагается, что
и новый шаг
в нем должен определяться из решения
системы линейных уравнений (СЛУ):
|
(16.2) |
В квазиньютоновских методах вместо (16.2) решается на каждом шаге система
|
(16.3) |
где
матрица
является некоторой аппроксимацией
матрицы
.
Она вычисляется по разности градиентов
в точках
и
,
и учитывает основную информацию о
кривизне целевой функции. Матрица
обновляется на каждом шаге. Очевидно,
что при решении (16.3) получается шаг
и одномерный поиск не нужен.
Следующая
идея в совершенствовании квазиньютоновских
методов заключается в том, чтобы
аппроксимировать не матрицу Гессе, а
обратную ей
.
При этом отпадает необходимость решения
СЛУ (20.3) и новый шаг определяется простой
формулой
|
(16.4) |
где
- это некоторая аппроксимация матрицы
.
Но такая аппроксимация сложнее (16.3) и
обычно при этом удается определить лишь
направление поиска, а величину шага
приходится вычислять с помощью одномерного
поиска. Существует множество методов,
реализующих идеи квазиньютоновских
методов, и ниже рассмотрим один из них.
16.2. Метод Дэвидона-Флетчера-Пауэлла
Сокращенно
этот метод называют ДФП, но не ДПФ. Поиск
начинается с выбранной начальной точки
в многомерном пространстве, т.е. точка
имеет
координат. Для этой точки начальная
матрица
в (16.4) обычно полагается единичной
порядка
.
Задается так же допустимая погрешность
EPS для точки минимума. Итерационная
процедура может быть представлена
следующим образом.
1.
Вычислить вектор
.
2.
Определить направление поиска - это
вектор
,
где
.
3.
Произвести одномерный поиск вдоль этого
направления и найти шаг
,
где
-
число, как и в (16.-).
4. Найти
и градиент
в точке
(см. рис.20.2).
5.
Проверить условие окончания итераций.
Итерации прекращаются, если нормы
векторов
или
меньше EPS.
6.
Вычислить вектор
.
7. Найти поправочные матрицы А1 и А2:
|
(16.5) |
8. Обновить матрицу Н:
|
|
9. Текущей точкой
сделать
,
т.е.
,
и вернуться на шаг 2.
16.-. Минимизация в задаче о наименьших квадратах и нелинейные регрессионные модели.
В лекции 2 рассматривались регрессионные модели, которые можно использовать для аппроксимации функции многих переменных. Критерий наименьших квадратов позволил записать эту задачу в виде задачи минимизации (2.2 - 2.3)
|
(16.6) |
где
- многомерная целевая функция,
- коэффициенты регрессионной модели
(2.1), количество которых равно
.
В обозначениях лекции 15 эта же задача
может быть записана как
|
(16.7) |
c
количеством неизвестных коэффициентов
N=J.
Если
внимательно посмотреть на формулу
(2.1),
то видим, что она линейна относительно
неизвестных компонент вектора
.
В связи с этим в формулу (2.3) для целевой
функции они входят в первой и второй
степенях, т.е. зависимость от них
квадратичная. Условие
при дифференцировании функции
по этим коэффициентам дает систему
линейных уравнений (2.6), решение которой
сразу дает коэффициенты
.
Модели
(2.1) с линейной зависимостью от коэффициентов
называют линейными регрессионными
моделями и эти коэффициенты получают,
решив СЛУ (2.6). Но в общем случае зависимость
от неизвестных параметров модели может
быть более сложной, т.к. каждый регрессор
может зависеть от одной или нескольких
компонент вектора
.
Например,
|
|
Такие
модели называют нелинейными регрессионными
моделями. В этом случае целевая функция
уже не будет квадратичной и для настройки
регрессионной модели необходимо решать
задачу безусловной минимизации (20.9).
Для ее решения возможно применение
любого из рассмотренных методов
минимизации. Но обычно для задач с
наименьшей суммой квадратов некоторых
функций
|
(16.8) |
используют
специальные эффективные методы,
учитывающие специфику структуры матрицы
Гессе для этих задач. Методы похожи на
рассмотренные квазиньютоновские и
являются итерационными. В них используется
матрица Якоби
для всех
функций
и на основе произведения матриц (
)
формируется на каждой итерации
аппроксимация для матрицы Гессе в
(20.4), т.е. на каждой итерации для определения
шага s решается СЛУ (20.5). Одним из известных
таких методов является метод
Левенберга-Маркардта, реализованный в
системе MathCAD.
При
описании методов минимизации для (20.10)
используют термин "невязка" , т.к.
обычно
- это разность двух каких-то функций.
Например, при решении одного нелинейного
уравнения
|
(16.9) |
с заданными
функциями
,
(см. раздел 5.1) невязкой будет разность
.
Для точного решения уравнения или
системы уравнений все невязки должны
быть равны нулю. Но если точного решения
нет, то можно найти решение, минимизирующее
норму невязки
.
Поиск приближенного решения системы
нелинейных уравнений (СНУ), минимизирующего
невязки, приводит к задаче о наименьших
квадратах, т.е. к минимизации функции
(20.10).
16.3. Сравнение методов безусловной минимизации.
Из рассмотренных методов безусловной минимизации выделим лучшие. Это методы:
- Розенброка,
- сопряженных градиентов,
- квазиньютоновские методы,
Последние позволяют эффективно решать задачи со сложными целевыми функциями, например, овражными.
Основное достоинство первого метода, который является прямым, - это отсутствие численного дифференцирования для вычисления компонент градиента. В нем нет проблемы выбора конечно-разностных интервалов (шагов дискретизации по различным переменным) для вычисления частных производных, что особенно сложно для функций, заданных алгоритмически.
Основной недостаток метода - это большое количество шагов (т.е. итераций) для перехода в точку минимума.
В двух следующих методах вычисление градиента необходимо на каждом шаге. Для этого должны составляться специальные подпрограммы, предусматривающие контроль правильности вычисления производных в случае численного дифференцирования.
Замена настоящих градиентов их конечно-разностными оценками лучше всего проходит в квазиньютоновских методах. Кроме градиентов, в них вычисляются матрицы, т.е. метод минимизации усложняется.
Но это усложнение оправдано, т.к. количество итераций резко сокращается и, хотя сами итерации становятся более сложными, общее количество операций умешьшается. Отметим, что здесь, как и при решении жестких систем ОДУ, эффективность решения достигается за счет усложнения алгоритма.
В заключение приведем результаты поиска минимума функции Розенброка, см. (18.4),
|
(16.10) |
квазиньютоновским
методом. На рис.20.3
показаны линии уровня этой функции
вблизи начала координат. Характерно
наличие узкого оврага, внутри которого
находится точка
- точка минимума, для которой
.
Начальная точка
имеет координаты
,
.
Первый шаг происходит в точку
.
Следующие точки стоят на границах шагов.
Траектория поиска - это ломаная линия
и она близка к параболе
.
Минимум достигается примерно за 10 шагов
и последние шаги идут по дну оврага.
|
Рис.16.1. Поиск минимума функции Розенброка. |
Повторим
расчеты минимума методом градиента для
той же начальной точки. Шаги будут
происходить по антиградиенту, т.е. по
нормали к линиям уровня. После первого
шага траектория превращается в узкую
зигзагообразную линию с размером
"зубьев" примерно 0.01, которые трудно
показать на рисунке. Всего для достижения
точки
,
еще далекой от точки минимума, потребовалось
1000 итераций и поиск был прекращен. Приведенный
пример хорошей работы квазиньютоновских
методов является характерным для
практических задач.
Результаты сравнения методов можно трансформировать в некую бытовую заповедь: чтобы быстро достичь какой-то сложной цели, нужно тщательно продумывать каждый шаг. Но при этом не стоит забывать, что для изменяющихся целей наилучшим методом может оказаться метод случайного поиска.