next up previous
Next: Kombinatorická minimalizace Up: Hledání extrémů funkce více Previous: Gauss-Newtonova metoda

Levenberg-Marquardtova metoda

Využívá opět explicitní výpočet Hessovy matice. Jde o kombinaci Gauss-Newtonovy metody s metodou největšího spádu tak, aby byly eliminovány možné problémy Gauss-Newtonovy metody daleko od extrému.

Pro Gauss-Newtonovu metodu platí

\begin{displaymath}
{\bf A} \vec{\delta x} = - \left. \nabla f \right\vert _{\vec{x}^{(k)}}
\end{displaymath}

V Levenberg-Marquardtově metodě nahradíme matici ${\bf A}$ maticí ${\bf A}'$

\begin{displaymath}
{\bf A}' = \left\{ \begin{array}{ll} a'_{jj} = a_{jj} (1 + \lambda) & \\
a'_{ij} = a_{ij} & i \not= j \end{array} \right.
\end{displaymath}

Pokud $\lambda \to 0$ dostáváme Gauss-Newtonovu metodu a pro $\lambda \to \infty$ dostáváme malý krok ve směru spádu. Postup vypadá takto:
  1. Stanovíme vektor $\vec{x}^{(0)}$ a hodnotu $f(\vec{x}^{(0)})$.
  2. Udáme hodnotu $\lambda$, na příklad $\lambda = 0.001$, pro $k
= 0$.
  3. Použijeme vztah ${\bf A}' \Delta \vec{x} = - \left. \nabla f
\right\vert _{\vec{x}^{(k)}}$.
  4. Vypočteme hodnotu $\vec{x}_p = \vec{x}^{(k)} + \Delta
\vec{x}$ a $f(\vec{x}_p)$.
    1. Pokud $f(\vec{x}_p) \geq f(\vec{x}^{(k)})$ - krok zamítneme $\rightarrow \qquad \lambda := 10 \lambda$.
    2. je $f(\vec{x}_p) < f(\vec{x}^{(k)})$ - krok přijmeme $\vec{x}^{(k+1)} = \vec{x}_p$ a $\lambda := 0.1 \lambda$ a $k := k + 1$. Dále cyklus opakujeme od třetího kroku.

Levenberg-Marquardtova metoda se často užívá u nelineární regrese. Zde minimalizujeme $\chi^2 = \sum \limits_{i=1}^N [y_i - y(x_i,
\vec{a})]^2/\sigma_i^2$ vzhledem k $\vec{a}$. Pak

\begin{displaymath}
\frac{\partial^2 \chi^2}{\partial a_k \, \partial a_l}=
2 \s...
...a})) \,
\frac{\partial^2 y}{\partial a_k \partial a_l} \right]
\end{displaymath}

Část sumy, kde se vyskytují druhé parciální derivace $y$, lze zanedbat, pro řešení stačí vypočítat matici ${\bf A}$ přibližně. Dokonce je to lepší z hlediska numerické stability.


next up previous
Next: Kombinatorická minimalizace Up: Hledání extrémů funkce více Previous: Gauss-Newtonova metoda
Jiri Limpouch
2000-04-18