fisher-scoring 迭代法
时间: 2024-05-18 20:11:51 浏览: 309
Fisher-scoring 迭代法(也称为牛顿-拉夫森迭代法)是一种用于求解非线性最大似然估计的优化算法。其基本思想是将非线性模型的极大似然估计问题转化为一系列局部线性问题,并通过牛顿迭代法求解。
具体来说,在 Fisher-scoring 迭代法中,我们首先对似然函数取负对数,得到对数似然函数 $L(\theta)=-\sum_{i=1}^n\log p(x_i|\theta)$。然后,我们对 $L(\theta)$ 求一阶和二阶导数,得到:
$$
\begin{aligned}
\nabla L(\theta) &= -\sum_{i=1}^n\nabla\log p(x_i|\theta) \\
\nabla^2 L(\theta) &= -\sum_{i=1}^n\nabla^2\log p(x_i|\theta)
\end{aligned}
$$
其中,$\nabla$ 表示梯度算子,$\nabla^2$ 表示 Hessian 矩阵。
然后,我们使用牛顿迭代法,来求解当前参数 $\theta_k$ 的下一步迭代 $\theta_{k+1}$。具体来说,我们将对数似然函数在当前参数处进行泰勒展开,得到:
$$
L(\theta) \approx L(\theta_k) + (\theta-\theta_k)^T\nabla L(\theta_k) + \frac{1}{2}(\theta-\theta_k)^T\nabla^2 L(\theta_k)(\theta-\theta_k)
$$
我们希望找到一个新的参数 $\theta_{k+1}$,使得 $L(\theta_{k+1})$ 较 $L(\theta_k)$ 更大。因此,我们将上式右侧的二次项视为惩罚项,并加入一个正则化系数 $\lambda$,得到:
$$
\theta_{k+1} = \theta_k - \lambda[\nabla^2 L(\theta_k)]^{-1}\nabla L(\theta_k)
$$
其中,$[\nabla^2 L(\theta_k)]^{-1}$ 表示 Hessian 矩阵的逆矩阵,$\lambda$ 表示步长系数,可以通过线搜索等方法进行确定。
不断重复上述过程,直到收敛为止。Fisher-scoring 迭代法通常具有快速收敛和较好的收敛性质,因此在实际应用中得到广泛使用。
阅读全文