2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

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

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 
Сообщение11.09.2008, 20:27 


02/07/08
6
Цитата:
Следующая точка находится как экстремум функции $f$ на прямой, проходящей через предыдущую точку и параллельной градиенту. Для этого пишется отдельная подпрограмма одномерной оптимизации.

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

 Профиль  
                  
 
 
Сообщение11.09.2008, 20:45 
Заслуженный участник
Аватара пользователя


22/11/06
1096
Одесса, ОНУ ИМЭМ
Alcohol_frei в сообщении #143858 писал(а):
в данном случае, как я понимаю, роль одномерных функций играют частные производные из градиента

Нет. Если вам не ясно, что такое "на прямой, проходящей через предыдущую точку и параллельной градиенту", так и спросите. Роль одномерной функции играет исходная многомерная, в которой выполнена подстановка $x_n=x_n^0+k {\partial f\over\partial x_n}(x^0)$, после которой она превращается в одномерную функцию от $k$.

Alcohol_frei в сообщении #143858 писал(а):
В каких границах он ищется?

Хм, а в каких границах у вас ищется экстремум многомерной функции? В тех же границах ищите и одномерные экстремумы - им же не полагается вылазить за них.

 Профиль  
                  
 
 
Сообщение12.09.2008, 09:45 


02/07/08
6
Цитата:
Хм, а в каких границах у вас ищется экстремум многомерной функции?

:idea: :idea: То есть при задании функции пользователь должен будет задать еще границы ? Вот я валенок! :D

 Профиль  
                  
 
 
Сообщение12.09.2008, 10:15 
Заслуженный участник


11/05/08
32166
На самом деле не обязательно. Есть вот какой симпатичный способ.

Пусть $\vec f'$ -- это градиент. На $k$-том шаге минимизации подлежит одномерная функция $\Phi(t)=f\big(\vec x_k-t\cdot\vec f'(\vec x_k)\big)$. В окрестности экстремума она примерно квадратична. Секущая в точке $t=0$, направленная в вершину параболы, задаётся функцией $\widetilde\Phi(t)=f(\vec x_k)-{1\over2}t\cdot\big|\vec f'(\vec x_k)\big|^2$, т.е. имеет вдвое меньший угловой коэффициент, чем соответствующая касательная.

Теперь: поскольку метод градиентного спуска всё равно достаточно груб, нет необходимости минимизировать $\Phi(t)$ хоть сколько-то точно. Достаточно на каждом шаге оказываться где-нибудь рядом с минимумом. Другими словами: достаточно делать лишь пару подшагов одномерной итерационной процедуры. Это, допустим, увеличит необходимое количество шагов "верхнего уровня" в несколько раз, но в несколько же раз уменьшится и трудоёмкость каждого шага.

Отсюда алгоритм. Задаём начальное $t_0$ и некий параметр "сжатия/растяжения" $\theta$ (например, $\theta=1,5$). На каждом $k$-том шаге сперва увеличиваем предыдущее значение $t$ в $\theta$ раз до тех пор, пока не окажется $\Phi(t)\geqslant\widetilde\Phi(t)$. А затем уменьшаем $t$ в $\theta$ раз до тех пор, пока не будет $\Phi(t)\leqslant\widetilde\Phi(t)$. Последнее значение $t$ и принимаем за оценку положения минимума $\Phi(t)$ на данном шаге.

 Профиль  
                  
 
 
Сообщение12.09.2008, 13:37 


02/07/08
6
ewert, спасибо! Но я на всякий случай попрошу задать границы изначально, т.к. при защите внятно объяснить не смогу почему ТАК.
Попросят переделать - воспользуюсь Вашим. :D

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group