||
在梯度下降法中,我们往往需要设置一个合适的步长。但是有时步长设置太大,使得我们要估计的系数在迭代过程中不断增大,最后趋于无穷大,程序陷入死循环或溢出。下面的讨论给出了步长上限的一个估计,其中参数的迭代公式是(使用矩阵表示):
$\theta_{n+1}=\theta_{n}-\alpha X^{T}(X\theta_{n}-Y)$
其中 $\alpha$ 是步长。将这个公式变形一下,得到
$\theta _{n+1}=F(\theta_{n})=(I-\alpha X^{T}X)\theta_{n}+\alpha X^{T}Y$
可以看出,对 $\theta$ 的每个分量, $\alpha$ 都是相同的。因此后面我们可以用分量来进行讨论,这时候上面的公式就是一个标量公式。
对于这个迭代, $\theta$ 要么发散,要么收敛于一个稳定点,要么在多个稳定点中做周期震荡(即周期N)。因此我们可以计算其收敛点,并计算其收敛条件。
当 $\theta$ 收敛时,它是一个稳定点,即 $\theta = F(\theta)$ ,解出 $\theta =(X^{T}X)^{-1}X^{T}Y$ ,与最小二乘法给出的结果一致。
按照非线性理论中的稳定性条件要求: $|{F}'(\theta)|<1$ ,即 $|I-\alpha X^{T}X|<1$ ,因此 $0<\alpha <2(|X^{T}X|)^{-1}$ (这里使用了标量来求解)。
所以,当步长超出这个范围, $\theta$ 是不稳定的,很容易导致发散。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-19 03:10
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社