Вычислительный эксперимент в методах диагностики микро и наноструктур
![]()
|
§3.3 Решение обратной задачи методами поиска минимума функции многих переменных Решение обратной задачи Требуется решить обратную многопараметровую задачу определения n параметров ![]() Искомые параметры, соответствуют минимуму суммы квадратов невязок модельных данных с экспериментальными. Если функция имеет на некотором интервале единственный минимум, то такая функция называется унимодальной. Решение задачи определения параметров МНК будет однозначным, если выделен отрезок локализации ![]() Чаще всего ![]() Задача определения параметров структуры сводится к минимизации многоэкстремальной функции нескольких переменных. На решение обратной задачи накладываются линейные ограничения 3.2.5, поэтому имеем случай условной минимизации. Решение обратной задачи методом наименьших квадратов можно проводить, решая систему нелинейных уравнений. Если известно, что необходимым условием минимума является равенство нулю градиента функции в точке минимума ![]() ![]() ![]() дает комплекс неизвестных параметров. Чаще всего система 3.2.6 имеет несколько решений и численными методами, например, градиентными, нужное решение находится успешно в том случае, если задана точка начального приближения, на участке близком к истинному корню – глобальному минимуму S. Однако в реальных задачах указать малую окрестность, содержащую минимум, затруднительно. Ситуация усложняется, если на пути от точки приближения к глобальному минимуму встречаются дополнительные локальные минимумы. Несколько отличающимся, но близким по смыслу является решение обратной задачи методом наименьших квадратов с использованием алгоритмов поиска минимума функций многих переменных. Алгоритмы поиска минимума функции многих переменных Информацию о приближении к минимуму дает сопоставление значений целевой функции в пробных точках, позволяя последовательно сокращать интервал неопределенности положения минимума. Вычисление первых и вторых производных дополняет алгоритм минимизации информацией о поведении функции в данной точке и её окрестностях, позволяя делать более широкие шаги к минимуму целевой функции. В любом случае в процессе минимизации нужно стараться использовать всю доступную информацию о функции, соотнося «затраты» на дополнительные вычисления и ценность получаемых из них сведений. Общей чертой большинства итерационных алгоритмов минимизации является требование, чтобы на каждом последующем шаге итерации целевая функция убывала Sk+1 < Sk . Методы, удовлетворяющие такому требованию, называются методами спуска. Все описанные ниже алгоритмы относятся к методам спуска и отличаются способами выбора направления и шага спуска. Алгоритмы минимизации можно поделить на категории в зависимости от использования в них значений производных: а) методы второго порядка – с вычислением 2-х производных целевой функции; б) методы первого порядка – с вычислением 1-х производных; в) методы нулевого порядка – без вычисления производных. Обзорно опишем суть методов а, б. а) К методам второго порядка относятся метод Ньютона и его модификации [1]. Метод Ньютона основан на квадратичной аппроксимации целевой функции.[1. стр. 141]. Располагая первыми и вторыми производными целевой функции S (гладкая функция), в качестве её квадратичной модели можно взять сумму первых трех членов тейлоровского разложения в окрестности текущей точки ![]() ![]() ![]() ![]() здесь ![]() ![]() Минимум правой части 3.3.2 достигается при векторе ![]() ![]() Будучи стационарной точкой ![]() ![]() Алгоритм минимизации в котором направление pk определяется системой 3.3.4, называется методом Ньютона, а направление, дающее решение системы называют ньютоновским направлением. б) К основным методам первого порядка относятся: градиентные методы, методы сопряженных градиентов, квазиньютоновские методы и аналоги методов 2 порядка с конечно-разностными аппроксимациями 2-х производных. Градиентный метод основан на том, что градиент функции указывает направление максимального роста функции, а антиградиен – направление наискорейшего движения к минимуму. Если задана k-я точка приближения, то на каждой последующей итерации шаг определяется из условия ![]() ![]() где pk – направление, определяемое антиградиентом ![]() ![]() Метод выбора шага ![]() Ньютоновские методы минимизации, вычисляя матрицу Гессе, используют информацию о кривизне функции. Квазиньютоновские методы опираются на возможность аппроксимации кривизны нелинейной функции без явного формирования ее матрицы Гессе. Данные относительно кривизны целевой функции определяются на основе наблюдений за изменением градиента g во время итераций спуска [1]. Метод сопряженных градиентов использует понятие сопряженное направление, которое четко определено лишь для квадратичной функции [5]. Ненулевые векторы ![]() ![]() ![]() ![]() ![]() ,где βk- числовой коэффициент. Для произвольной гладкой функции коэффициент βk дается как ![]() ![]() Минимизацию целевой функции производят в соответствии с формулой ![]() ,где направления ![]() ![]() Геометрический смысл метода сопряженных градиентов состоит в следующем (рисунок 1) [10]. Из заданной начальной точки х(0) осуществляется спуск в направлении р(0) = -f'(x(0)). В точке х(1) определяется вектор-градиент f'(x (1)). Поскольку х(1) является точкой минимума функции в направлении р(0), то f’(х(1)) ортогонален вектору р(0). Затем отыскивается вектор р (1), G-сопряженный к р (0) (G - матрица Гессе.) . Далее отыскивается минимум функции вдоль направления р(1) и т. д. ![]() Рисунок 1. Траектория спуска в методе сопряженных градиентов Методы сопряженных направлений являются одними из наиболее эффективных для решения задач минимизации. Однако следует отметить, что они чувствительны к ошибкам, возникающим в процессе счета, и для большого числа переменных не являются оптимальными [10]. в) К методам нулевого порядка относятся: прямой поиск, метод покоординатного спуска, метод деформируемого многогранника, методы Розенброка и Дэвиса, Свенна, Кемпи, с которыми можно ознакомиться в [1,3,4,5]. А также методы, в основу которых положены алгоритмы с вычислением производных, но сами производные заменяются конечно-разностными аппроксимациями. Для минимизации задачи о наименьших квадратах 3.2.4 выгодно использовать алгоритмы, специально разработанные для таких задач. В специальных методах решения задачи МНК учитывается особая структура градиента и матрицы Гессе функции ![]() Некоторые специальные методы решения задач о наименьших квадратах Опишем существо специальных методов минимизации задачи МНК - метод Гаусса-Ньютона, Левенберга – Маркардта и универсальный квазиньютоновский метод. Прежде покажем, в чем особенность градиента и матрицы Гессе задачи МНК. Обозначим невязку в 3.2.4 как ![]() ![]() ![]() ![]() ![]() , где ![]() ![]() Здесь ![]() ![]() ![]() ![]() ![]() Заметим, что матрица Гессе G вычисляется с использованием первых и вторых производных ![]() ![]() ![]() ![]() ![]() Метод Гаусса - Ньютона. Обозначим через ![]() ![]() Тогда ньютоновская система 3.3.4 в силу 3.3.9 примет вид [1] ![]() ![]() ![]() При приближении к оптимуму невязки Zk будут близки к нулю и матрица Qk также будет приближаться к нулевой. Значит ньютоновское направление можно аппроксимировать решением системы ![]() Решение 3.3.11 представляет собой оптимальный вектор в одномерной задаче о наименьших квадратах по нахождению минимума суммы ![]() , если матрица Jk имеет линейно независимые столбцы (полный столбцовый ранг), то вектор ![]() Метод Левенберга - Маркардта. Альтернативой методу Гаусса-Ньютона является метод Левенберга-Маркардта. В нем направление поиска определяется как решение системы уравнений вида ![]() ,где λk - некоторое неотрицательное число, I – единичная матрица. В этом методе шаг pk всегда полагается единичным, т.е. очередной точкой xk+1 будет xk+ pk. Можно показать, что pk – решение задачи на условный минимум ![]() ![]() где Δ- параметр связанный с λk. Монотонное убывание минимизируемой функции в методе Левенберга – Маркардта достигается за счет подбора «хороших» значений λk. При λk равном нулю, pk будет направлением Гаусса-Ньютона. Когда λk стремиться к бесконечности, pk стремиться к нулю и в пределе становится параллельным антиградиенту, следовательно, выбрав λk достаточно большим можно обеспечить выполнение неравенства для суммы квадратов невязок ![]() Пусть pLM- решение системы 3.3.13, при каких-то xk и положительных λk. Если для матрицы Jk условие линейной независимости столбцов не выполняется, то независимо от величин Qk и λk направление pLM будет близко к направлению pGN в методе Гаусса – Ньютона. Таким образом, и в методе Гаусса – Ньютона и в методе Левенберга - Маркардта пользуются предположением о доминирующей роли слагаемого ![]() Квазиньютоновский метод. (Метод переменной метрики или метод Девидона). Квазиньютоновский метод использует сведения о кривизне функции, которые накапливаются в ходе наблюдения за значениями градиента в процессе итераций спуска к минимуму. Разложим градиент в ряд Тейлора в окрестности ![]() ![]() ![]() ![]() Тогда оценка кривизны целевой функции S вдоль ![]() ![]() ![]() Формула (3.3.15) лежит в основе всех квазиньютоновских методов [1]. К началу k-й итерации известна некоторая аппроксимация Bk матрицы Гессе. Матрица Bk хранит информация о кривизне функции, накопленную на предыдущих k-1 итерациях. Используя Bk в качестве матрицы Гессе, очередное направление ![]() ![]() Если не имеется дополнительной информации, то матрица B0 принимается равной единичной матрице, при этом первая итерация квазиньютоновского метода будет эквивалентна шагу наискорейшего спуска. После определения ![]() ![]() где Uk- некоторая поправочная матрица. Обозначая ![]() ![]() ![]() В силу 3.3.15 оно означает, что Bk+1 будет правильно отражать кривизну целевой функции S (3.2.4) вдоль ![]() Матрица Гессе является симметричной и положительно определенной, поэтому естественно требовать, чтобы её квазиньютоновские приближения Bk обладали теми же свойствами. Пересчитывать матрицу Bk+1 из 3.3.17 можно различными способами. Вот некоторые из формул , обеспечивающих симметричность квазиньютоновских приближений [1]: ![]() Выражение 3.3.19 называют симметричной формулой ранга один, т.е. второе слагаемое сформировано с использованием векторов первого ранга. Следующее выражение с поправками второго ранга называется формулой Дэвидона-Флетчера-Пауэлла (ДФП или DFP) и выглядит следующим образом [1]: ![]() где ![]() Часто используемой является формула Бройдена - Флетчера - Гольдфарба -Шанно (БФГС или BFGS - формула): ![]() Которая упрощается, если шаг sk определялся из условия ![]() ![]() ![]() ![]() Для формул (3.3.21 а) условие положительной определенности выполняется если ![]() Теперь, учитывая особенности задачи в случае использования метода наименьших квадратов, система уравнений для расчета направления поиска выглядит так: ![]() Условие, которому должно подчиняться очередное квазиньютоновское приближение Mk+1 запишется ![]() где ![]() ![]() Процедуру пересчета матрицы Mk можно осуществлять с использованием формул (3.3.19 – 3.3.21). |