Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

Вернемся к минимизации квадратичной формы, заданной в виде (24). При ее минимизации методом наискорейшего спуска требовалось, вообще говоря, бесконечно много итераций. Однако существуют такие направления спуска, при которых квадратичная форма (24) с положительно определенной и симметричной матрицей A может быть минимизирована точно за конечное число шагов.

Положительно определенная матрица позволяет ввести норму вектора x по формуле:

|| x ||2 = (x, Ax) > 0, когда x ¹ 0, (34)

при этом можно проверить, что все аксиомы нормы выполнены.

Согласно определению нормы в (34), можно ввести скалярное произведение пары векторов x и y по формуле: (x, Ay). Векторы ортогональные в смысле данного скалярного произведения при (x, Ay) = 0 называются сопряженными по отношению к данной матрице A. Оказывается, что поочередный спуск по сопряженным направлениям особенно выгоден при минимизации квадратичной формы.

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

Пусть матрица A квадратичной формы имеет размер n ´ n и пусть определены n попарно сопряженные вектора x 1,…, xn, т.е. такие вектора, что

(xi, Axj) = dij. (35)

Легко доказать от противного, что система векторов x 1,…, xn является линейно независимой системой. Выберем некоторую произвольную точку r 0, тогда произвольное движение из этой точки можно разложить по сопряженному базису, т.е.

. (36)

Подставляя (36) в квадратичную форму (24) и после учета (35), находим

. (37)

Из вида квадратичной формы следует, что движение по одному из сопряженных направлений не затрагивает другие направления при минимизации квадратичной формы. Таким образом, если последовательно спускаться по сопряженным направлениям, то минимум можно найти точно за n шагов, равному числу сопряженных направлений. Реально не всегда удается уложиться в n шагов, поскольку порождение ортогонального базиса сопряженных направлений сопровождается значительной потерей точности.

Приведем алгоритм спуска с помощью метода сопряженных градиентов. В качестве первого вектора из набора сопряженных векторов выберем произвольный вектор x 1. В качестве первого направления движения от вектора x 1 выберем направление антиградиента в этой точке, т.е. P 1 = -2 Ax 1 - b. Первый шаг процесса выглядит следующим образом: .

Пусть теперь сделан k -й шаг, т.е. верно равенство

. (38)

Для определения неизвестного параметра ak подставим (38) в квадратичную форму (24) и найдем минимум функции от ak. Это легко сделать, т.к. зависимость от ak квадратичная, т.е.

. (39)

Подставляя (39) в (38), найдем точку начала спуска на следующем шаге. Направление спуска на следующем шаге будем искать, исходя из формулы:

, (40)

где sk — неопределенный коэффициент, который найдем из условия того, что направления Pk и Pk +1 являются сопряженными. Умножим уравнение (40) на матрицу A слева, а затем скалярно на Pk, тогда, учитывая условие сопряжения , находим

. (41)

Формулы (38) — (41), включая первый шаг, полностью определяют алгоритм метода сопряженных градиентов на примере минимизации квадратичной формы (24).

На листинге_№8 приведен код программы поиска минимума квадратичной формы (24) методом сопряженных градиентов на основе алгоритма (38) — (41).

 

Листинг_№8

%Программа поиска минимума квадратичной формы

%F(r)=(r,Ar)+(b,r)+c методом сопряженных градиентов

%очищаем рабочее пространство

clear all

%определяем размерность квадратичной формы

n=300;

rnd=randn(n);

%определяем параметры квадратичной формы (A=A'>0)

A=rnd'*rnd; b=randn(n,1); c=randn;

%выбираем первый сопряженный вектор и

%соответствующее направление

x(:,1)=randn(n,1);

P(:,1)=-2*A*x(:,1)-b;

%определяем максимальное число шагов метода

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

km=2*n;

%организуем цикл шагов спуска в

%сопряженных направлениях

for k=1:(km-1)

alpha=0.5*((2*P(:,k)'*A*x(:,k)+P(:,k)'*b)/...

(P(:,k)'*A*P(:,k)));

x(:,k+1)=x(:,k)-alpha*P(:,k);

s=(P(:,k)'*(2*A^2*x(:,k+1)+A*b))/...

(P(:,k)'*A*P(:,k));

P(:,k+1)=-2*A*x(:,k+1)-b+s*P(:,k);

%определяем ошибку или погрешность сходимости

%к минимуму квадратичной формы

error(k)=norm(2*A*x(:,k)+b);

end

error(km)=norm(2*A*x(:,km)+b);

%рисуем график зависимости ошибки сходимости к

%минимуму от шага метода сопряженных градиентов

plot(1:km,error);

 

На рис.11 приведен итог работы программы листинга_№8 в виде зависимости ошибки сходимости к минимуму функции от номера спуска. Ошибка вычислялась как норма градиента функции, т.е. error = ||grad F ||. Рис.11 демонстрирует высокую эффективность минимизации: для размерности квадратичной формы 300 потребовалось приблизительно в два раза больше шагов для точности порядка 10 десятичных знаков.

 

Рис.11. График зависимости ошибки сходимости к минимуму функции
от номера спуска в методе сопряженных градиентов

 


© Квадратичная форма положительно определена, когда при любых xi, не равных нулю одновременно, она положительна.

<== предыдущая лекция | следующая лекция ==>
Наискорейший спуск | Поляризация света
Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 896; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.