非线性优化总结

优化方法

什么是最小二乘?

通过最小化误差的平方和,找到最优解,使得预测值与观测值之间的差异最小

minF(x)=12∣∣fx∣∣22 minF(x) = \frac{1}{2} ||fx||^2_2 minF(x)=21∣∣fx22

  • f简单时,线性最小二乘,令导数为0,求解最优值

  • f 复杂的时候,用迭代法求解

    ​ 。给定初值x_0

    • 对于第k次迭代,寻找增量 Δxk\Delta x_kΔxk 使得 ∣∣f(xk+Δxk)∣∣|| f(x_k + \Delta x_k)||∣∣f(xk+Δxk)∣∣ 最小
    • 足够小,就停止
    • 否则,xk+1=xk+Δxkx_k+1= x_k+ \Delta x_kxk+1=xk+Δxk

问题是,怎么找增量?

一阶梯度法 : 最速下降法/梯度下降法

二阶梯度法:牛顿法,高斯牛顿法

最小二乘的数学形式

(1) 线性最小二乘

给定一个线性方程组:
y=Ax+ϵ y=Ax+ϵ y=Ax+ϵ
其中:

  • y∈Rm 是观测数据(测量值),
  • A∈Rm×n是设计矩阵(已知),
  • x∈Rn 是待求参数,
  • ϵ∈Rm是噪声或误差。

解析解(当 ATAA^T AATA 可逆时):
x∗=(ATA)−1ATy x^*= (A^TA)^{-1}A^Ty x=(ATA)1ATy

(2) 非线性最小二乘

如果模型是非线性的(如 y=f(x,θ)),则通过 迭代优化(如高斯-牛顿法、Levenberg-Marquardt)求解

最小二乘的解法

(1) 直接法(解析解)
  • 适用于小规模问题,计算 (ATA)−1ATy(A^TA)^{-1}A^Ty(ATA)1ATy
  • 缺点:当 ATAA^TAATA 病态时,数值不稳定。
(2) QR 分解

将 A分解为正交矩阵 Q 和上三角矩阵 R
A=QR⇒x=R−1QTy A=QR⇒x = R^{-1}Q^Ty A=QRx=R1QTy
优点:数值稳定性更高。

(3) 奇异值分解(SVD)

A 进行 SVD:
A=UΣVT⇒x=VΣ−1UTy A=UΣVT⇒x=VΣ^{-1}U^Ty A=UΣVTx=VΣ1UTy
优点:适用于病态矩阵(如秩亏情况)。

(4) 迭代优化(非线性问题)
  • 高斯-牛顿法:局部线性化迭代。
  • Levenberg-Marquardt:结合梯度下降和高斯-牛顿,鲁棒性更强。

非线性优化方法:

(1) 梯度下降法

是一种基于一阶导数的优化算法,当前位置的负梯度方向为搜索方向,下降的最快,梯度下降得到解的有可能是局部最优解

为什么负梯度方向下降的最快?

因为根据泰勒展开,f(x k+1) - f(xk) 小于0的时候,就在变小,绝对值最大的时候,就达到最小,所以说负梯度方向是下降最快的

为什么说梯度下降得到解的有可能是局部最优解

凸函数可以达到全局最优,但是非凸函数的局部最优性,每一步只考虑当前点的梯度方向,而**无法感知全局结构,比如先平稳再突然上升再平稳的数据

最小二乘法和梯度下降法的区别

  • 最小二乘得到解的是全局最优解;而梯度下降得到解的有可能是局部最优解

最小二乘通过对自变量和因变量进行数学变换求导,直接到达最低点,不需要透代(不给参数θ的值,直接求出最优θ)

  • 梯度下降是先估计一组参数,然后按照梯度的反方向修正参数,反复迭代获取最低点(给参数θ的值,逐步得到最优θ
(2) 牛顿法

利用二阶导数,求解非线性方程或者优化问题,收敛速度快

求增量的解:
J+HΔx=0=>HΔx=−J J + H\Delta x = 0 =>H\Delta x=-J J+HΔx=0=>HΔx=J
缺点:需要计算复杂的H矩阵,而且H不一定是正定矩阵,只有是正定矩阵,牛顿法的方向才是下降方向

(3)高斯牛顿

用一阶泰勒展开近似非线性函数,将非线性最小二乘问题转化为一系列线性最小二乘问题,逐步迭代优化参数。
J(x)JT(x)Δx=−J(x)f(x)=>HΔxk=g J(x)J^T(x)\Delta x = -J(x)f(x) => H\Delta x_k = g J(x)JT(x)Δx=J(x)f(x)=>HΔxk=g
JTJJ^TJJTJ 作为牛顿法 H 矩阵的近似,它是半正定的

步骤:

1.给定初值 x0

2.对于第k次迭代,求出当前的雅克比矩阵J(xk)J(x_k)J(xk) 和 误差 f(xk)f(x_k)f(xk)

3.求解增量方程 HΔxk=gH\Delta x_k = gHΔxk=g ----> Δxk=H−1g\Delta x_k = H^{-1}gΔxk=H1g

4.Δxk\Delta x_kΔxk 足够小,就停止,否则,xk+1=xk+Δxkx_k+1= x_k+ \Delta x_kxk+1=xk+Δxk

缺点,无法保证H 可逆,依赖初始值

(4)列文伯格-马夸尔特方法

结合了梯度下降法高斯-牛顿法的优点,动态调整阻尼因子

和高斯牛顿的区别?

  • 高斯牛顿属于线搜索:先找到方向,再确定长度

  • L-M 属于信赖区域方法,认为近似只在区域内可靠

ρ=f(x+Δx)−f(x)J(x)Δx \rho = \frac{f(x+\Delta x) - f(x)}{J(x)\Delta x} ρ=J(x)Δxf(x+Δx)f(x)

分子 : 实际改变量 ,因为 f(x+Δx)=f(x)+J(x)Δxf(x+\Delta x) =f(x) + J(x) \Delta xf(x+Δx)=f(x)+J(x)Δx

分母 : 近似改变量

ρ\rhoρ 判断泰勒近似是好还是不好

在H对角线上加上单位矩阵,解决H原来不满秩,或者非正定
(H+λI)Δxk=g (H + \lambda I)\Delta x_k = g (H+λI)Δxk=g

λ\lambdaλ 小,H占主要地位 ,说明二次近似模型在该范围是比较好的,接近于高斯牛顿

λ\lambdaλ 小,λI\lambda IλI 占主要地位 ,说明二次近似不好,接近于一阶梯度下降法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值