Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Другая модификация метода Ньютона






связана с обновлением матрицы вторых производных через определённое количество шагов. Формула вычисления очередной точки xk+1, в этом случае, будет выглядеть следующим образом:

Xjm+i+1 = xjm+i – ajm+i· (f ''(xjm)) –1·f '(xjm+i),

ajm+i ≥ 0, k = jm + i, j = 0, 1, 2, …, i = 0, 1, …, m –1.

Здесь m > 0 – целое число, определяющее количество шагов через которое происходит обновление матрицы вторых производных f ''(x). Этот метод занимает промежуточное положение между методом Ньютона и его модификацией I.

Схема модификации II метода Ньютона.

шаг 1: Вводятся x0, ε 3, m. Присваиваются j = 0 и k = 0. Вычисляется градиент f '(x0).
шаг 2: Вычисляется (обновляется) матрица f ''(xjm) и обратная матрица (f ''(xjm))–1.
шаг 3: Определение направления спуска pjm+1: pjm+1 = – f '(xjm+1)·(f ''(xjm))–1.
шаг 4: Определение очередной точки xjm+i+1: xjm+i+1 = xjm+i + a·pjm+i, где a – решение задачи одномерной минимизации функции φ (a) = f(xjm+i + a·pjm+i), при a ≥ 0.
~
~
шаг 5:

Вычисление в очередной точке xjm+i+1. градиента f '(xjm+i+1)
шаг 6: Если ||f '(xjm+i+1)|| £ ε 3, то поиск заканчивается и полагается x = xjm+i+1 и y = f(xjm+i+1). Иначе k = k + 1 и переход к шагу 7.
шаг 7: Определяется i = i + 1. Если i = m, то j = j + 1, i = 0 и переход к шагу 2 (т.е. будем обновлять матрицу f ''(x)).Иначе переход к шагу 3 (т.е. используется матрица f ''(x), вычисленная на одном из предыдущих шагов).

Метод сопряженных градиентов

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

Два вектора x и y называют Н - сопряженными (или сопряженными по отношению к матрице Н) или Н - ортогональными, если

(x, H·y) = 0. (9)

Сопряженность можно считать обобщением понятия ортогональности. В самом деле, когда Н = Е, х и у в соответствии с уравнением (9) ортогональны. Рассмотрим квадратичную функцию n - переменных

f (x) = a + (x, b) + ½ (x, H·x). (10)

с положительно определенной n·n матрицей. Оказывается, что квадратичная функция (10) может быть минимизирована методом сопряженных направлений не более чем за n шагов.

Чтобы воспользоваться этим методом минимизации квадратичной функции (10) нужно знать n - взаимно сопряженных направлений S0, S 1, …, S n-1. Эффективность таких направлений – самостоятельная проблема. Существует много взаимно сопряженных направлений S0, S 1, …, S n-1 и способов их построения. Ниже излагается метод сопряженных градиентов Флетчера - Ривса, в котором выбор Н - сопряженных направлений осуществляется совместно с одномерной минимизацией f (х) по α..

Метод Флетчера – Ривса.

Этот метод использует последовательность направлений поиска, каждая из которых является линейной комбинацией антиградиента в текущей точке и предыдущего направления спуска. Метод изменяется к квадратичной целевой функции f (x) = a + (x, b) + ½ (x, H·x).

При минимизации ее методом Флетчера - Ривса векторы Sk вычисляются по формулам

S0 = – f ' (x 0), S k = – f '(x k ) + β k-1·S k-1 , при k ≥ 1.

Величины β k-1 выбираются так, чтобы направления S k , S k-1 были Н – сопряженными.

Точка х k-1 , определяется в результате минимизации функции f (х) в направлении S k, исходящем из точки x k, т.е.

х k+1 = x k + α k·S k, где α k доставляет минимум по α k функции f (x k, α ·S k).

Итак, предлагаемая процедура минимизации функции f (x) выглядит следующим образом. В заданной точке x0 вычисляется антиградиент

S0 = – f ' (x 0). Осуществляется одномерная минимизация в этом направлении и определяется точка x 1. В точке x 1 сново вычисляется антиградиент – f ' (x 1). Так как эта точка доставляет минимум функции f (x) вдоль направления S0 = – f ' (x 0), вектор f ' (x 1) ортогонален f ' (x 0). Затем по известному значению f ' (x 1) по формуле (11) вычисляется вектор S 1, который за счет выбора β 0 будет Н – сопряженным к S 0. Далее отыскивается минимум функции f (х) вдоль направления S 1 и т.д.

шаг 1: При k = 0 ввод начального приближения x0. Вычисление антиградиента S0 = – f '(x0).
шаг 2: Решение задачи одномерной минимизации по a функции f(xk + a·Sk), в результате чего определяется величина шага ak и точка xk+1 = xk + ak·Sk.
шаг 3: Вычисление величин f(xk+1) и f '(xk+1).
(f '(xk+1), f '(xk+1) – f '(xk))
(f '(xk), f '(xk))

 

шаг 4:

Если f '(xk+1) =0, то xk+1 – решение задачи.Иначе определяем новое направление поиска: Sk+1 из соотношения:   Sk+1 = – f '(xk+1) + ·Sk Далее r = r + 1 и переход к шагу 2.

Это и есть окончательный вид алгоритма Флетчера-Ривса. Как было замечено ранее, он найдет минимум квадратичной функции не более чем за n шагов.

Минимизация неквадратичной целевой функции.

Метод Флетчера-Ривса может применятся для минимизации и неквадратичных функций. Он является методом первого порядка и в тоже время скорость его сходимости квадратична. Разумеется, если целевая функция не квадратична, метод уже не будет конечным. Поэтому после (n+1)-й итерации процедура повторяется с заменой x0 на xn+1, а счет заканчивается при ||f '(xk+1)|| £ ε, где ε – заданное число. При минимизации неквадратичных функций обычно применяется следующая модификация метода Флетчера-Ривса.

Схема алгоритма для неквадратичных целевых функций.

шаг 1: При k = 0 ввод начального приближения x0 и условия останова ε 3. Вычисление антиградиента S0 = – f '(x0).
шаг 2: Решение задачи одномерной минимизации по a функции f(xk + a·Sk), в результате чего определяется величина шага ak и точка xk+1 = xk + ak·Sk.
шаг 3: Вычисление величин f(xk+1) и f '(xk+1).

 
(f '(xk+1), f '(xk+1) – f '(xk))
(f '(xk), f '(xk))

 

0, при k+1 Є I.
 
шаг 4:

Если ||f '(xk+1)|| £ ε 3, то точка xk+1 – решение задачи и на этом поиск заканчивается. Иначе определяется коэффициент β k по формуле: β k =
шаг 5: Вычисление Sk+1 по формуле Sk+1 = – f '(xk+1) + β k·Sk. Присваивается k = k + 1 и переход к шагу 2.

 

Здесь I – множество индексов, I = {0, n, 2n, 3n, …}. Значения k, для которых β k = 0, называют моментами обновления метода. Таким образом, обновление метода происходит через каждые n шагов.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.