非线性最小二乘求解
假设:非线性方程为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