Метод Ньютона. Метод Стеффенсена

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

(Различия между версиями)
Перейти к: навигация, поиск
(Метод Ньютона)
Строка 33: Строка 33:
<tex>u_{k+1}=u_k+\alpha_k(\overline{u_k}-u_k), 0<\alpha_k<1. </tex>
<tex>u_{k+1}=u_k+\alpha_k(\overline{u_k}-u_k), 0<\alpha_k<1. </tex>
-
В зависимости от способа выбора величины <tex>\alpha_k</tex> в (4) можно получить различные варианты метода Ньютона. Укажем несколько наиболее употребительных способов выбора <tex>\alpha_k</tex>.
+
В зависимости от способа выбора величины <tex>\alpha_k</tex> в (4) можно получить различные варианты метода Ньютона. Укажем наиболее употребительный способ выбора <tex>\alpha_k</tex>.
<tex>\alpha_k=1</tex>
<tex>\alpha_k=1</tex>
Строка 43: Строка 43:
<tex> u_{k+1}\in U, J_k(u_{k+1})=\inf\limits_U J_k(u), k=0,1,\dots </tex>
<tex> u_{k+1}\in U, J_k(u_{k+1})=\inf\limits_U J_k(u), k=0,1,\dots </tex>
-
Таким образом получаем систему линейных уровнений относительно <tex>u_{k+1}-u_k</tex>, которую необходимо решать на каждой итерации.
+
В часности, когда U=E^n, в точке минимума функции J_k(u) ее производная J'_k(u) обращается в нуль.Таким образом получаем систему линейных уровнений относительно <tex>u_{k+1}-u_k</tex>, которую необходимо решать на каждой итерации.
{{ eqno | 7 }}
{{ eqno | 7 }}
Строка 53: Строка 53:
<tex> u_{k+1}=u_k-(J''(u_k))^{-1}J'(u_k), k=0,1,\dots </tex>
<tex> u_{k+1}=u_k-(J''(u_k))^{-1}J'(u_k), k=0,1,\dots </tex>
-
<tex>\alpha_k=\lambda^{i_0}</tex>===
+
== Сходимость метода Ньютона ==
-
<tex>i_0</tex> - минимальный среди i>0 номер, для которых выполнено неравенство
+
-
<tex></tex>
+
== Метод Стефенсена==
 +
В методе Ньютона необходимо на каждой итерации вычислять матрицу вторых производных. Поэтому, когда вычисление матрицы вторых производных требует больших объемов вычислений, трудоемкость каждой итерации значительно возрастает. Таким образом, требуется метод, который может обойти эту проблему. Одним из методов является метод Стефенсена, который является разностным аналогом метода Ньютона. Матрица вторых производных заменяется разностным отношением первых производных градиента по специальным узловым точкам.
 +
Применим этот метод к решению следущей системы уравнений:
 +
<tex>J'(u)=[J_{u^1},\ldots,J_{u^n}(u)]=0</tex>, получим следущий итерационный метод решения задачи минимизации
 +
{{eqno | 1}}
 +
<tex>J(u)->\inf, u \in U=E^n</tex>.

Версия 20:19, 24 ноября 2008

Содержание

Постановка задачи

Общие понятния

Если минимизируемая функция дважд непрерывно дифференцируема и производные J'(u), J''(u) просто вычисляются, то можно применять методы минимизации второго порядка, которые используют квадратичную часть разложения функции в ряд Тейлора. Поскольку квадратичная часть разложения аппроксимирует функцию гораздо точнее, чем линейная, то естесвенно ожидать, что методв второго порядка сходятся быстрее, чем методы первого. Метод Ньютона, имеющий квадратичную скорость сходимости на классе сильно выпуклых функций. Говорят, что последовательность {u_k}сходитcz к u_* с линейной скоростью или со скоростью геометрической прогресси (со знаменателем q), если начиная с некоторго номера, выполняется неравенство |u_{k+1}-u_*|<q|u_k-u_*| (0<q<1); при выполнении неравенства |u_{k+1}-u_*|<q_k|u_k-u_*|, где {q_k}->0, говорят о сверхлинейной скорости сходимости последованояти {u_k} к u_*, а если здесь q_k=C|u_k-u_*|^{s-1}, т. е. |u_{k+1}-u_*|<C|u_k-u_*|^s, то говорят о скорости сходимсоти порядка s. При s=2, говорят о квадратичной скорости сходимости.

Метод Ньютона

Рассмотирим метод Ньютона для задачи

( 1 )

 J(u)-> \inf; u \in U, где J(u) _in C^2(U), U - выпуклое замкнутое множество из E^n. Пусть u_0∈U - некоторое начальное приближение. Если известно k-е приближение u_k, то приращение функции J(u)∈ C^2(U) в точек u_k можно представить в виде

J(u)-J(u_k)=<J'(u_k),u-u_k>+1/2*<J''(u_k)(u-u_k),u-u_k>+o(|u-u_k|^2)

Возьмем квадратичную часть этого приращения

( 2 )

 J_k(u)=<J'(u_k),u-u_k>+1/2*<J''(u_k)(u-u_k),u-u_k>

и определим вспомогательное приближение u_k из условий

( 3 )

u_k \in U, J_k(u_k)=\inf_U J_k(u).

Следущее (k+1)-e приближение будем искать в виде

( 4 )

u_{k+1}=u_k+\alpha_k(\overline{u_k}-u_k), 0<\alpha_k<1.

В зависимости от способа выбора величины \alpha_k в (4) можно получить различные варианты метода Ньютона. Укажем наиболее употребительный способ выбора \alpha_k. \alpha_k=1

( 5 )

\alpha_k=1, k=0,1,\dots Тогда u_{k+1}=\overline{u_k} (k=0,1,\dots), т. е. условие (3) сразу определяет следующее (k+1)-е приближение. Иначе говоря,

( 6 )

 u_{k+1}\in U,  J_k(u_{k+1})=\inf\limits_U J_k(u),  k=0,1,\dots

В часности, когда U=E^n, в точке минимума функции J_k(u) ее производная J'_k(u) обращается в нуль.Таким образом получаем систему линейных уровнений относительно u_{k+1}-u_k, которую необходимо решать на каждой итерации.

( 7 )

 J'_k(u_{k+1})=J'(u_k)+J''(u_k)(u_{k+1}-u_k)=0.

Если матрица J''(u_k) невырожденная, то имеем

( 8 )

 u_{k+1}=u_k-(J''(u_k))^{-1}J'(u_k), k=0,1,\dots

Сходимость метода Ньютона

Метод Стефенсена

В методе Ньютона необходимо на каждой итерации вычислять матрицу вторых производных. Поэтому, когда вычисление матрицы вторых производных требует больших объемов вычислений, трудоемкость каждой итерации значительно возрастает. Таким образом, требуется метод, который может обойти эту проблему. Одним из методов является метод Стефенсена, который является разностным аналогом метода Ньютона. Матрица вторых производных заменяется разностным отношением первых производных градиента по специальным узловым точкам. Применим этот метод к решению следущей системы уравнений: J'(u)=[J_{u^1},\ldots,J_{u^n}(u)]=0, получим следущий итерационный метод решения задачи минимизации

( 1)

J(u)->\inf, u \in U=E^n.

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