русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Метод градиента (наискорейшего спуска или крутого восхождения или метод Бокса-Уилсона)


Дата добавления: 2015-01-16; просмотров: 1807; Нарушение авторских прав


Турист, желающий подняться на вершину холма, достигнет цели, если будет непрерывно подниматься вверх, а если он торопится, то ему придется двигаться по самым крутым направлениям.

Реализация этого интуитивно понятного метода носит название метода крутого восхождения или метода градиента. Помимо направления, в математической реализации метода необходимо иметь и алгоритм выбора шага поиска – при слишком большом шаге неизбежны потери на рыскание вокруг экстремума, а при слишком маленьком движение к цели будет медленным. Градиент функции f(x1, x2, ..., xn) в каждой точке направлен в сторону наибольшего локального возрастания этой функции:

grad f(x)= .

Если выбрано начальное приближение x=x0, то каждое очередное вычисляется так:

xm+1=xmamgrad f(xm),

где значение am определяет величину шага и может быть вычислено как наименьший положительный корень скалярного уравнения

(xmamgrad f(xm))=0.

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

Теперь еще о величине шага. При наличии погрешностей в определении значения целевой функции шаг должен убывать по мере приближения к цели, т.е. его величина должна быть членом последовательности беззнаковых чисел, удовлетворяющей условию lim an=0 при n→¥ . Сумма членов этой последовательности должна расходиться , а сумма квадратов – сходиться . Мы уже рассматривали эти условия Дворецкого при изучении методов поиска корня в условиях помех. Кестен показал, что асимптотическая сходимость может быть заменена затухающим колебательным процессом, если длину шага уменьшать по гармоническому закону только после того, как соответствующая составляющая градиента поменяет знак.



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



<== предыдущая лекция | следующая лекция ==>
Метод координатного спуска | Вводные замечания


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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