非线性最小二乘求解

假设:非线性方程为g(x) = z;

模型:构建残差 f(x) = g(x) -z

目标:求残差最小时的状态x

方法:高斯牛顿法

求解过程:

             1:构建损失函数(cost function): min || f(x + Δx) ||2

              注释:因为我们这里考虑的状态x是一个多为的矢量,对矢量求大小,要计算它的范数,这里我们使用二范数的平方来表示矢量的长度

             2:对f(x + Δx)进行一阶泰勒展开 f(x + Δx) ≈ f(x) + J(x)Δx

             注释:J(x)表示状态x的一阶偏倒数

            3:min || f(x + Δx) ||2  ≈ min|| f(x) + J(x)Δx ||2

                                               = f(x)T f(x) + 2f(x)TJ(x)Δx +  ΔxTJ(x)TJ(x)Δx

           4: 当给定初值的时候,f(x)就是常数,而Δx才是真正的变量,因此对Δx求倒

              J(x)TJ(x)Δx = -J(x)T f(x)

             令:H =  J(x)TJ(x)    b = J(x)T f(x)

             则:Δx = -H-1 b                  

 

posted @ 2019-07-06 15:37  Boy岚  阅读(490)  评论(0编辑  收藏  举报