Метод Ньютона. Метод Стеффенсена
Материал из MachineLearning.
Строка 8: | Строка 8: | ||
Рассмотирим метод Ньютона для задачи | Рассмотирим метод Ньютона для задачи | ||
- | {{ eqno | + | {{ eqno | 1 }} |
<tex> J(u)-> \inf; u \in U,</tex> | <tex> J(u)-> \inf; u \in U,</tex> | ||
Строка 17: | Строка 17: | ||
Возьмем квадратичную часть этого приращения | Возьмем квадратичную часть этого приращения | ||
- | {{ eqno | + | {{ eqno | 2 }} |
<tex> J_k(u)=<J'(u_k),u-u_k>+1/2*<J''(u_k)(u-u_k),u-u_k> </tex> | <tex> J_k(u)=<J'(u_k),u-u_k>+1/2*<J''(u_k)(u-u_k),u-u_k> </tex> | ||
Строка 23: | Строка 23: | ||
и определим вспомогательное приближение <tex>u_k</tex> из условий | и определим вспомогательное приближение <tex>u_k</tex> из условий | ||
- | {{ eqno | + | {{ eqno | 3 }} |
<tex>u_k \in U, J_k(u_k)=\inf_U J_k(u).</tex> | <tex>u_k \in U, J_k(u_k)=\inf_U J_k(u).</tex> | ||
Строка 29: | Строка 29: | ||
Следущее (k+1)-e приближение будем искать в виде | Следущее (k+1)-e приближение будем искать в виде | ||
- | {{ eqno | + | {{ eqno | 4 }} |
<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>. | ||
- | ===1)=== | + | ===1)<tex>\alpha_k=1</tex> === |
- | {{ eqno | + | {{ eqno | 5 }} |
- | + | <tex>\alpha_k=1, k=0,1,\dots </tex> | |
Тогда <tex>u_{k+1}=\overline{u_k} (k=0,1,\dots)</tex>, т. е. условие (3) сразу определяет следующее (k+1)-е приближение. Иначе говоря, | Тогда <tex>u_{k+1}=\overline{u_k} (k=0,1,\dots)</tex>, т. е. условие (3) сразу определяет следующее (k+1)-е приближение. Иначе говоря, | ||
- | <tex> u_{k+1}\in U, J_k(u_{k+1})=\inf\limits_U J_k(u), k=0,1,\dots </tex> | + | {{ eqno | 6 }} |
+ | <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>, которую необходимо решать на каждой итерации. |
+ | {{ eqno | 7 }} | ||
<tex> J'_k(u_{k+1})=J'(u_k)+J''(u_k)(u_{k+1}-u_k)=0. </tex> | <tex> J'_k(u_{k+1})=J'(u_k)+J''(u_k)(u_{k+1}-u_k)=0. </tex> | ||
+ | |||
+ | Если матрица <tex>J''(u_k)</tex> невырожденная, то имеем | ||
+ | |||
+ | {{ eqno | 8 }} | ||
+ | <tex> u_{k+1}=u_k-(J''(u_k))^{-1}J'(u_k), k=0,1,\dots </tex> | ||
+ | |||
+ | ===2) <tex>\alpha_k=\lambda^{i_0}</tex>=== | ||
+ | <tex>i_0</tex> - минимальный среди i>0 номер, для которых выполнено неравенство | ||
+ | |||
+ | <tex>J(u_k)-J(u_k+\lambda^i(\overline{u_k}-u_k))\ge \eps \lambda^i |J_k(\overline(u_k))|,<tex> | ||
+ | |||
+ | где <tex>\lambda</tex>,ε - параметры метода, 0<λ, ε<1. | ||
+ | ===3)=== | ||
+ | <tex></tex> |
Версия 18:33, 23 ноября 2008
Содержание |
Постановка задачи
Общие понятния
Если минимизируемая функция дважд непрерывно дифференцируема и производные просто вычисляются, то можно применять методы минимизации второго порядка, которые используют квадратичную часть разложения функции в ряд Тейлора. Поскольку квадратичная часть разложения аппроксимирует функцию гораздо точнее, чем линейная, то естесвенно ожидать, что методв второго порядка сходятся быстрее, чем методы первого. Метод Ньютона, имеющий квадратичную скорость сходимости на классе сильно выпуклых функций. Говорят, что последовательность сходитcz к с линейной скоростью или со скоростью геометрической прогресси (со знаменателем q), если начиная с некоторго номера, выполняется неравенство при выполнении неравенства , где , говорят о сверхлинейной скорости сходимости последованояти к , а если здесь , т. е. , то говорят о скорости сходимсоти порядка s. При s=2, говорят о квадратичной скорости сходимости.
Метод Ньютона
Рассмотирим метод Ньютона для задачи
где , U - выпуклое замкнутое множество из E^n. Пусть ∈U - некоторое начальное приближение. Если известно k-е приближение , то приращение функции J(u)∈ в точек можно представить в виде
Возьмем квадратичную часть этого приращения
и определим вспомогательное приближение из условий
Следущее (k+1)-e приближение будем искать в виде
В зависимости от способа выбора величины в (4) можно получить различные варианты метода Ньютона. Укажем несколько наиболее употребительных способов выбора .
1)
Тогда , т. е. условие (3) сразу определяет следующее (k+1)-е приближение. Иначе говоря,
Таким образом получаем систему линейных уровнений относительно , которую необходимо решать на каждой итерации.
Если матрица невырожденная, то имеем
2)
- минимальный среди i>0 номер, для которых выполнено неравенство
,ε - параметры метода, 0<λ, ε<1.
3)