Алгоритм Trust-Region

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
Текущая версия (15:09, 14 декабря 2008) (править) (отменить)
 
(8 промежуточных версий не показаны.)
Строка 1: Строка 1:
-
== Введение ==
+
==Введение==
-
== Безусловная оптимизация ==
+
Рассмотрим здачу минимизации<br>
-
Среди задач на поиск безусловного минимума особое место занимают задачи минимизации функции вида:<br>
+
<tex>\min_x f(x)</tex> <tex>x \in R^n</tex><br>
-
<tex>F(x) = \frac{1}{2}\sum_i{r_i^m(x)^2}</tex><br>
+
==Метод решения задачи==
-
где <tex>r_i(x)</tex> - гладкая нелинейная функция из <tex>R^n</tex> в <tex>R</tex>. Будем считать, что m ≥ n.<br>
+
Алгоритм Trust-Region основан на построение модельной функции <tex>m_k</tex>, которая приближает исходную в некоторой окрестности текущей точки <tex>x_k</tex>. При этом функция <tex>m_k</tex> может плохо приближать f в других точках, поэтому мы ограничиваен минимизацию этой некоторой окрестностью точки <tex>x_k</tex>. Другими словами, решается здача:<br>
-
Если обозначить <tex>r_i(x) = (r_1(x),\dots,r_m(x))^T</tex><br>
+
<tex>\min_p m_k(x_k + p)</tex>, где <tex>x_k + p</tex> лежит внутри доверельной окрестности <br>
-
то <tex>F(x) = \frac{1}{2}||r(x)||_2^2</tex><br>
+
Обычно, доверительная окрестность - шар радиуса <tex>||p||_2 < \Delta</tex>. В качесте модели функции <tex>m_k</tex> обычно берется квадратичная: <br>
-
Обозначим якобиан функции r: <tex>J(x) = \frac{\delta r_j}{\delta x_i}</tex><br>
+
<tex>m_k (p) = f_k + p^T\nabla f_k + \frac12p^TH_kp</tex><br>
-
Тогда производные функции f(x) можно вычислить с помощью формул:<br>
+
- разложение функции f по формуле Тейлора до второго слааемого.<br>
-
<tex>\nabla f(x) = \sum_{j = 1}^m{r_j(x)\nabla r_j(x) = J(x)^Tr(x)}</tex><br>
+
Итак, на каждом шаге решается подзадача:<br>
-
<tex>\nabla^2 f(x) = \sum_{j = 1}^m{\nabla r_j(x)\nabla r_j(x) + \sum_{j = 1}^m{\nabla^2 r_j(x)r_j(x)= J(x)^TJ(x) + \sum_{j = 1}^m{\nabla^2 r_j(x)r_j(x)}</tex><br>
+
<tex>m_k (p) = f_k + p^T\nabla f_k + \frac12p^TH_kp</tex> s.t.<tex>||p||_2 < \Delta_k</tex><br>
-
=== Алгоритмы для нелинейной задачи метода наименьших квадратов ===
+
Первая проблема, которая возникает, это определение радиуса доверительного интервала. Мы выбираем этот радиус, исходя из модели функции <tex>m_k</tex> и функции f на предыдущий итерациях. Определим соотношение<br>
-
==== Метод Гаусса-Ньютона ====
+
<tex>\rho_k = \frac{f(x_k) - f(x_k + p_k)}{m_k(0) - m_k(p_k)}</tex><br>
-
== Условная оптимизация ==
+
==Пример==
-
== Примеры ==
+
==Рекомендации программисту==
-
== Рекомендации программисту ==
+
==Заключение==
-
== Выводы ==
+
==Литература==
-
== Литература ==
+
== Смотри также ==
-
Philip E. Gill Practical Otpimization 1981.<br>
+
* [[Практикум ММП ВМК, 4й курс, осень 2008]]
 +
{{stub}}
 +
 
 +
[[Категория:Учебные задачи]]

Текущая версия

Содержание

Введение

Рассмотрим здачу минимизации
\min_x  f(x) x \in R^n

Метод решения задачи

Алгоритм Trust-Region основан на построение модельной функции m_k, которая приближает исходную в некоторой окрестности текущей точки x_k. При этом функция m_k может плохо приближать f в других точках, поэтому мы ограничиваен минимизацию этой некоторой окрестностью точки x_k. Другими словами, решается здача:
\min_p  m_k(x_k + p), где x_k + p лежит внутри доверельной окрестности
Обычно, доверительная окрестность - шар радиуса ||p||_2 < \Delta. В качесте модели функции m_k обычно берется квадратичная:
m_k (p) = f_k + p^T\nabla f_k + \frac12p^TH_kp
- разложение функции f по формуле Тейлора до второго слааемого.
Итак, на каждом шаге решается подзадача:
m_k (p) = f_k + p^T\nabla f_k + \frac12p^TH_kp s.t.||p||_2 < \Delta_k
Первая проблема, которая возникает, это определение радиуса доверительного интервала. Мы выбираем этот радиус, исходя из модели функции m_k и функции f на предыдущий итерациях. Определим соотношение
\rho_k = \frac{f(x_k) - f(x_k + p_k)}{m_k(0) - m_k(p_k)}

Пример

Рекомендации программисту

Заключение

Литература

Смотри также

Личные инструменты