85120 (Методы спуска)

2016-08-02СтудИзба

Описание файла

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

Онлайн просмотр документа "85120"

Текст из документа "85120"

Методы спуска

Общая схема.

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

Решается задача минимизации функции (x) на всём пространстве En. Методы спуска состоят в следующей процедуре построения последовательности {xk}. Â качестве начального приближения выбирается любая точка x0En. Последовательные приближения x1, x2, … строятся по следующей схеме:

  1. в точке xk выбирают направление спуска - Sk;

  2. находят (k+1)-е приближение по формуле xk+1=xk-pkSk.

Направление Sk выбирают таким образом, чтобы обеспечить неравенство (xk+1)<(xk) по крайней мере для малых значений величины pk. На вопрос, какому из способов выбора направления спуска следует отдать предпочтение при решении конкретной задачи, однозначного ответа нет.

Число pk определяет расстояние от точки xk до точки хk+1. Это число называется длиной шага или просто шагом. Основная задача при выборе величины k - это обеспечить выполнение неравенства (xk+1)<(xk). Одним из элементарных способов выбора шага является способ удвоения шага.

Выбирают k=k-1. Если при этом (xk+1)<(xk), то либо переходят к следующей (k+2)-й итерации, либо выбирают k=2k-1. Если значение (х) меньше его предыдущего значения, то процесс удвоения можно продолжать до тех пор, пока убывание не прекратится. Если (xk+1)(xk), то выбирают k=0.5k-1. Если (xk-0.5k-1Sk)<(xk), то полагают xk+1=xk-0.5k-1Sk и переходят к следующей (k+2)-й итерации. Если же (xk-0.5k-1Sk)(xk), то выбирают k=0.25k-1 и т.д.

Метод градиентного спуска.

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

Метод спуска, в котором Sk=’(xk), называется методом градиентного спуска.

Величина k в методе градиентного спуска традиционно вычисляется путём применения одного из методов одномерной минимизации функции ()=(xk-’(xk)), что не исключает применение и других способов отыскания k.

Если в качестве k выбирают точку одномерного минимума функции ()=(xk-Sk) релаксационный процесс называется методом наискорейшего спуска: xk+1=xk-k’(xk), k=arg min {()=(xk-Sk) | 0}.

Метод покоординатного спуска.

Одним из наиболее простых способов определения направления спуска является выбор в качестве Sk одного из координатных векторов e1, e2, …, en, вследствие чего у xk на каждой итерации изменяется лишь одна из компонент.

Существуют многочисленные варианты покоординатного спуска. Но в любом из этих методов выбирают в качестве -Sk то из двух направлений, +ej, -ej, которому соответствует неравенство

[’(xk), Sk] > 0.

В случае, если =0, полагают xk+1=xk и переходят к следующей итерации.

Опишем первый цикл метода, состоящий из n итераций. В произвольной точке x0 выбирают S0=e, и определяет величину 0 способом удвоения так, чтобы было (x1)=(x0-0S0)<(x0). Затем выбирают S1=e2 и, полагая =0, удвоением вычисляют 1 и так далее. При этом на каждой итерации стремятся определение величины шага методом удвоения осуществлять с наименьшим числом вычислений значений функции (х). Цикл заканчивается при k=n-1, после чего начинают следующий цикл, полагая Sn=e1 и т.д.

Практическое задание

На практике нам нужно было найти минимум функции z(x)=x2+y2-xy-3y c точностью , используя описанные выше методы.

Нахождение минимума моей функции с помощью метода покоординатного спуска.

Для нахождения минимума моей функции с помощью метода покоординатного спуска я использовал программу, представленную ниже. Входными параметрами этой программы являются координаты начальной точки (я взял х=10, y=10), начальный шаг по х и по y (я взял х=0.5 и y=0.5), а так же точность (=10-5; большую точность брать не имеет смысла, поскольку во время выполнения программы накапливается ошибка и искажает данные такой точности). Итак, взяв в качестве начальных условий эти значения я получил координаты точки минимума:

х= 1,00000977

y= 1,99999931

z=-3,00000142

Для получения результата программой было выполнено 24 итерации.

Нахождение минимума с помощью метода градиентного спуска.

Программа, использованная мной для выполнения этой задачи представлена ниже.

Поскольку входные параметры этой программы совпадают со входными параметрами задачи №1, то я взял их такие же, что и для первой задачи, чтобы, сравнив полученные результаты и количество итераций, необходимых для поиска минимума, я смог сделать какие-либо выводы о преимуществах и недостатках обеих задач из практики.

Итак, взяв те же начальные условия я получил следующие результаты:

x= 1,00000234

y= 2,00000119

z=-3,00000094

Количество итераций, которое потребовалось для нахождения точки минимума равно 20. Видно, что количество итераций, потребовавшееся первой программе больше, чем количество итераций, необходимых второй программе. Это следует из того, что антиградиент указывает направление наискорейшего убывания функции.

Ниже также представлен график сходимости вышеописанного процесса для моей функции и моих начальных условий.

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

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее