梯度下降神经网络方法求解雅可比矩阵奇异的非线性方程组
2020-12-10雍龙泉
雍龙泉,贾 伟
(1.陕西理工大学 数学与计算机科学学院, 陕西 汉中 723001;2.陕西省工业自动化重点实验室, 陕西 汉中 723001)
1 考虑非线性方程组
(1)
记向量x=(x1,x2,…,xn),向量函数F(x)=(f1(x),f2(x),…,fn(x))T,则方程组(1)等价于F(x)=0。求解非线性方程组的常见方法是牛顿法以及各类改进的牛顿法[1-11]。近年来,相继出现了五阶牛顿法[12-16]、七阶牛顿法[17-19]、八阶牛顿法[20-21]、九阶牛顿法等[22-23]。当然,收敛阶数越高,(从xn到xn+1每迭代一次的)计算量也就越大。因此,在构造高阶牛顿迭代法求解非线性方程时,既需要考虑收敛阶,更需要考虑计算效率[24]。牛顿型算法依赖于初始点的选取和函数 的性态,事实上初始点的选取本身也是一个比较困难的问题;牛顿型算法在实际计算过程中,若其雅克比矩阵存在奇异点,即det(F’(x))=0有解,则不能直接应用牛顿型算法。
本文假设问题(1)的解存在,建立了求解非线性方程组的梯度下降神经网络,通过求解唯一解、多个解的非线性方程组,结果表明该方法不依赖初始点。鉴于该方法无需考虑F(x)的雅克比矩阵,因此对雅克比矩阵存在奇异点的非线性方程组也适用,且该方法通过改变初始点,能找到多个解。
2 梯度下降神经网络
为了避免计算F(x)的雅克比矩阵,定义函数
(2)
称E(x)为能量函数。于是,求解非线性方程组就转化为求解连续可微的优化问题min E(x)。
梯度神经网络是基于求解问题(2)的最速下降模型的连续化形式,近年来已广泛应用于求解非线性互补、二阶锥规划等问题[25-29]。梯度下降神经网络模型如下:
(3)
参数τ表示梯度下降算法的步长,E(x)表示能量函数E(x)的梯度。该神经网络的收敛性证明详见文献[30-31]。下面来计算一些常见的非线性方程组,以验证算法的有效性。
3 数值实验
给出4个非线性方程组问题(前3个具有唯一解,第4个具有2个解),通过将其转化为神经网络(3),采用四阶Runge-Kutta法求解微分方程组,程序采用Matlab R2009a(内置函数ode45)编写。设置E(x)≤1×10-10为终止条件。
问题3的初始点取为x(0)=1×rand(n,1),这里rand表示0~1之间的随机数;其余问题的初始点取为x(0)=1×rand(n,1)-1×rand(n,1),即初始点在任一象(卦)限随机选取,这对于具有多个解的非线性方程组,(多次运行)就有可能找到尽可能多的解。
算例1 考虑非线性方程组
其解为x*=(0,0)T。表1给出了参数τ取不同值的计算结果;图1和图2分别给出了τ=10时近似解随时间的变化(轨线)及能量函数随时间的变化曲线。
图1 近似解随时间的变化曲线
图2 能量函数随时间的变化曲线
算例2 非线性方程组
其解为x*=(0.068978,0.246442,0.076929)T。表1给出了参数τ取不同值的计算结果;图3和图4分别给出了τ=10时近似解随时间的变化(轨线)及能量函数随时间的变化曲线。
图3 近似解随时间的变化曲线
图4 能量函数随时间的变化曲线
算例3 考虑非线性方程组
其解为x*=(0,0,0,0)T。该方程虽形式简单(第1个方程仅反映了x1与x2的关系,第2个方程仅反映了x1与x3的关系,第3个方程仅反映了x2与x3的关系,第4个方程仅反映了x1与x4的关系,变量之间的相互关联性较弱),但是求出精确解却不易。计算可得雅克比矩阵为
图5 近似解随时间的变化曲线
图6 能量函数随时间的变化曲线
表1 参数τ取不同值的计算结果
算例4 考虑非线性方程组
其解为x*=(3,0.5)T及x*=(81/32,-1/3)T,计算可得雅克比矩阵为
雅克比矩阵的奇异点分布在四条直线x1=0,x2=1,x2=0,x2=-2上。这里雅克比矩阵存在奇异点,故牛顿法不再适用。采用梯度下降神经网络求解,图7和图8分别给出了τ=10时,初始点在不同象限时的近似解随时间的变化曲线及能量函数随时间的变化曲线。
4 结束语
本文计算过程表明:针对唯一解的非线性方程组,该方法能够收敛到其唯一解;针对具有多个解的非线性方程组,该方法能够找到尽可能多的解;且该算法无需考虑其雅克比矩阵,因此对雅克比矩阵是否存在奇异点都适用。由于线性两点边值问题离散化后得到线性方程组,非线性两点边值问题离散化后所得到的非线性方程组[32-34],下一步可以利用上面方法求解非线性两点边值问题。
(a) 近似解随时间的变化曲线