梯度下降求解非线性方程组

2019-03-19  本文已影响0人  天之見證

假设我们需要求解下面的非线性方程组:
\begin{cases} 3x_1-\cos(x_2x_3)-\frac{3}{2}=0 \\ 4x_1^2-625x_2^2+2x_2-1=0 \\ \exp(-x_1x_2)+20x_3+\frac{10\pi-3}{3}=0 \end{cases}
从上我们给出一个 associated function:
G(\mathbf{x})=\begin{bmatrix} 3x_1-\cos(x_2x_3)-\frac{3}{2} \\ 4x_1^2-625x_2^2+2x_2-1 \\ \exp(-x_1x_2)+20x_3+\frac{10\pi-3}{3} \end{bmatrix}
从上我们定义一个目标函数:
\begin{align} F(\mathbf{x})&=\frac{1}{2}G^T(\mathbf{x})G(\mathbf{x}) \\ &=\frac{1}{2}[(3x_1-\cos(x_2x_3)-\frac{3}{2})^2+(4x_1^2-625x_2^2+2x_2-1)^2+(\exp(-x_1x_2)+20x_3+\frac{10\pi-3}{3})^2] \end{align}
我们如果对 F(\mathbf{x})​ 求最小值, 则可以得到对应的非线性方程组的解

利用梯度下降的思想, 我们需要先求出F(\mathbf{x})\mathbf{x} 的梯度 \nabla F(\mathbf{x})​
\nabla F(\mathbf{x})=J_G(\mathbf{x})^T J_G(\mathbf{x})
其中 J_G(\mathbf{x}) 如下:
\begin{align} J_G(\mathbf{x})&=\begin{bmatrix} \frac{\partial{J_G(\mathbf{x})}}{\partial x_1} & \frac{\partial{J_G(\mathbf{x})}}{\partial x_1} & \frac{\partial{J_G(\mathbf{x})}}{\partial x_1} \end{bmatrix} \\ &=\begin{bmatrix} 3 & \sin(x_2x_3)x_3 & \sin(x_2x_3)x_2\\ 8x_1 & -1250x_2+2 & 0 \\ -x_2\exp(x_1x_2) & -x_1\exp(x_1x_2) & 0 \end{bmatrix} \end{align}
然后更新 \mathbf{x}:
\mathbf{x} \leftarrow \mathbf{x}-\alpha\nabla F(\mathbf{x})

ref:

  1. Solution of a non-linear system
上一篇 下一篇

猜你喜欢

热点阅读