Newton's method 分析

大家都知道对于合理的函数和合理的值域牛顿迭代法是二次收敛(quadratic covergence)的(收敛速度定义见 https://en.wikipedia.org/wiki/Rate_of_convergence ).当然合理的函数是什么函数呢..?似乎需要f'平滑且f'(root)!=0..然而这个界其实不太靠谱啦..总有人觉得对于任意函数都有quadratic convergence..(最典型的代表像我..)那么我们现在来分析一个bound出来..

给定一个大部分地方可导的函数f(x)[我们的要求是至少对于牛顿迭代不会失败],我们设\(f(\alpha)=0\),选择一个初始值\(x_0\).我们发现,对于寻求函数\(f(x)=x^2\)的根已经不是二次收敛了,究其原因是因为\(f'(\alpha=0)=0\).我们做一个合理的假设\(f'(\alpha)\not=0\),设\(f'(\alpha)=t\).一个合理的区间\([a,b]\)需要\(\alpha\in [a,b]\)且\(x\in [a,b],f(x)\)单增.为什么要这么做是因为这种区间可以通过多点求值与求导求解得到.

现在我们观察:

\[
\begin{align*}
y_t &= f(x_t) \\
z_t &= f'(x_t) \\
x_1 &= x_0 - \frac{y_0}{z_0} \\
y_1 &\le y_0-(x_0-x_1)z_1 \\
&= y_0 - \frac{y_0}{z_0}z_1 \\
&= y_0\left( 1-\frac{z_1}{z_0} \right) \\
& \vdots \\
y_t &\le y_{t-1}\left( 1-\frac{z_t}{z_{t-1}} \right)
\end{align*}
\]

注意到我们有\(y_t\ge 0\),那么我们再给公式合起来:

\[
\begin{align*}
q_t &= \frac{z_t}{z_{t-1}} \\
y_t &= y_{t-1}(1-q_t) \\
\frac{y_t}{y_0} &= \prod^{t}_{i=1}(1-q_t) \\
\frac{z_t}{z_0} &= \prod^{t}_{i=1}q_t
\end{align*}
\]

现在我们给这个斜率加上一个bound,使得\(\frac{z_t}{z_0}=k\),每个\(z_i \in (0,1)\),我们可以发现\(\frac{y_t}{y_0}\le \left( 1-\sqrt[t]{k} \right)^t\)

这就是最后的结果啦..谁给我提供一个这个式子的简化啊TAT..

上一篇:转://看懂Oracle中的执行计划


下一篇:zoj3433(贪心+优先队列)