无约束最优化问题求解--最小二乘、梯度下降和牛顿法原理推导对比

本文针对线性回归这一无约束最优化问题,深入分析最小二乘、梯度下降和牛顿法三种优化求解方法的优缺点,是对三种方法的原理学习总结。
无约束最优化问题,是指在一个给定的集合S上泛函J(θ)的极小化或极大化问题。

1.应用场景引入

数据间往往大体趋势呈现出线性关系,但并不完全满足。我们希望得到唯一的线性关系,表示输入数据到输出数据之间映射的函数,使其很好的拟合已知函数并预测未知数据,即线性回归问题。

最小二乘法是一种确立数据间最好的映射函数的优化技术,梯度下降和牛顿法是两种可根据这种优化技术中的评估准则求解最优映射函数的具体方法。

最小二乘法:以偏差的最小平方和为评估准则,求解最佳映射函数回归系数的解析解,结果为全局最优;
梯度下降和牛顿法:两种通过迭代更新来逐步进行的参数优化方法,假设条件更为广泛(无约束)的,结果一般为局部最优;

2.从最大似然解释最小二乘

最大似然估计是一种“模型已定,参数未知”的方法。利用已知的样本的结果,在使用某个模型的基础上,反推最有可能导致这样结果的模型参数值。
根据高斯-马尔科夫定理,在线性回归模型中,如果误差满足零均值、同方差且互不相关,则回归系数的最佳线性无偏估计(BLUE, Best Linear unbiased estimator)就是普通最小二乘法估计。特别地,当随机噪声服从正态分布时,最小二乘与最大似然等价。
求解最大似然估计的一般过程为:

  • 写出似然函数(生成已知样本的联合概率);
  • 如果无法直接求导的话,对似然函数取对数;
  • 求导数 ;
  • 求解模型中参数的最优值。

线性回归模型的似然函数为:

假设随机误差 ε是独立同分布的,服从数学期望为μ、方差为σ^2 的正态分布(中心极限定理)。误差 ε的概率密度函数为:

y、x取值的概率密度函数:

联合概率无法获取的时候,概率密度积最大便最大似然。由此得到线性回归模型参数θ的似然估计:

对似然估计取对数:

要使 l(θ) 最大,则上式减号右边的式子最小,即下式最小。

与最小二乘的评价准则偏差的最小平方和相同,由此可解释当随机噪声服从正态分布时,最小二乘与最大似然等价。同时证明了最小二乘的合理性。

最小二乘法:即观测值与实际数据误差平方和最小,其没有假设,几何意义上就是距离最小。
最大似然估计:估计参数可能值,使样本发生概率最大。

3.最小二乘求解线性回归系数

设一元线性回归模型为y=ax+b。
根据最小二乘的评价准则,使得axi+b与yi的偏差平方和最小的参数a、b确定了源数据(xi,yi)的最优回归直线。即确定二元函数:

的最小值。若L(a,b)的极值就是最小值即存在最优回归直线,那么Hessian矩阵:

就必须是正定的。求二元函数L的二阶偏导:

则H(L)的行列式:

又因为1阶顺序主子式大于0,所以H(L)正定。最小值存在,最优回归直线存在。
所以L(a,b)的驻点就是极小值点。利用克拉默法则,首先令L(a,b)的一阶偏导:

等于0,得到系数行列式D:

D不等于0,线性方程组有唯一解:

于是通过最小二乘法得到最优归回直线:y=ax+b。

3.梯度下降法

3.1梯度

在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。比如函数f(x,y), 分别对x,y求偏导数,求得的梯度向量就是(∂f/∂x, ∂f/∂y)T,简称grad f(x,y)或者▽f(x,y)。从几何意义上讲,就是函数变化增加最快的地方。或者说,沿着梯度向量的方向,更容易找到函数的最大值。反过来说,沿着梯度向量相反的方向,梯度减少最快,也就是更容易找到函数的最小值。

在解决线性回归问题时,针对最小二乘法中的偏差平方和评估准则,可以通过梯度下降法来一步步的迭代求解,得到最小平方和的映射函数参数值。

假设L(θ)为偏差平方和函数,其中θ为要求解的映射函数参数。梯度下降法是一种 迭代方法:选取初值θ0,不断迭代,更新θ的值,进行L(θ)的极小化。

迭代公式:

泰勒函数是一个用函数在某点的信息描述其附近取值的公式,具有局部有效性。将L(θt)在L(θt-1)处进行一阶泰勒展开:

要使得:

可取:

则:

这里∂是步长,可通过line search确定,但一般直接赋一个小的数。

梯度下降不一定能够找到全局的最优解,有可能是一个局部最优解。当然,如果损失函数是凸函数,梯度下降法得到的解就一定是全局最优解。

3.2批量梯度下降法

批量梯度下降法,是梯度下降法最常用的形式,具体做法也就是在更新参数时使用所有的样本来进行更新,迭代公式为:

3.3随机梯度下降法

随机梯度下降法,其实和批量梯度下降法原理类似,区别在与求梯度时没有用所有的m个样本的数据,而是仅仅选取一个样本来求梯度。迭代公式为:

3.4小批量梯度下降法

小批量梯度下降法是批量梯度下降法和随机梯度下降法的折衷,也就是可以选取m+1个样本来迭代,即若干个样本的平均梯度作为更新方向,根据样本的数据,可以调整选取样本的数量。迭代公式为:

对于训练速度来说,随机梯度下降法由于每次仅仅采用一个样本来迭代,训练速度很快,而批量梯度下降法在样本量很大的时候,训练速度不能让人满意。对于准确度来说,随机梯度下降法用于仅仅用一个样本决定梯度方向,导致解很有可能不是最优。对于收敛速度来说,由于随机梯度下降法一次迭代一个样本,导致迭代方向变化很大,不能很快的收敛到局部最优解。所以说小批量梯度下降法是一种性能折中的设计。

4.牛顿法

将L(θt)在L(θt-1)处进行二阶泰勒展开:

为了简化分析过程,假设参数是标量(即θ只有一维),则可将一阶和二阶导数分别记为g和h:

要使得L(θt)极小,即让右侧后两项极小,可令:

求得:

故:

参数θ推广到向量形式,迭代公式为:

这里H是海森矩阵(Hesse)。
牛顿法需要求Hesse矩阵的逆,容易出现数值不稳定的情况。拟牛顿法不是直接去求Hesse矩阵,而是通过梯度函数g和两个X点的位移来构造与Hesse相似的正定矩阵来代替,减少运算的复杂度.

5.区别与优缺点总结

最小二乘法和梯度下降、牛顿法相比:

  • 梯度下降与牛顿法是迭代求解,最小二乘法是计算解析解。

  • 迭代求解需要选择步长,快迭代到最小点的时候收敛速度变慢,并且对初始点的选择极为敏感,而且往往只能找到局部最小。

  • 如果样本量不算很大,且存在解析解,最小二乘法比起梯度下降与牛顿法要有优势,计算速度很快。但是如果样本量很大,用最小二乘法由于需要求一个超级大的逆矩阵,这时就很难或者很慢才能求解解析解了,使用迭代的梯度下降与牛顿法比较有优势。

梯度下降法和牛顿法相比:

  • 两者都是迭代求解,不过梯度下降法是梯度求解,而牛顿法是用二阶的海森矩阵的逆矩阵求解。
  • 相对而言,使用牛顿法收敛更快。但是每次迭代的时间比梯度下降法长。
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 牛顿法、高斯牛顿法和L-M法都是数值优化方法,用于求解非线性问题的最优解。它们的推导如下: 1. 牛顿法(Newton's Method): 牛顿法利用一阶导数和二阶导数信息来逼近目标函数的局部极小值点。 首先,我们假设目标函数是二阶可微的。对于目标函数f(x),牛顿法构造了一个局部线性近似函数: g(x) = f(x^{(k)}) + \nabla f(x^{(k)})^T (x - x^{(k)}) + (1/2) (x - x^{(k)})^T H(x^{(k)})(x - x^{(k)}) 其,x^{(k)}为第k次迭代的近似解,\nabla f(x^{(k)})是目标函数f(x)在x^{(k)}处的梯度,H(x^{(k)})是目标函数f(x)在x^{(k)}处的Hessian矩阵。 然后,将g(x)最小化,求解出x的更新值x^{(k+1)}: x^{(k+1)} = x^{(k)} - [H(x^{(k)})]^{-1} \nabla f(x^{(k)}) 通过迭代计算,最终得到目标函数的最优解。 2. 高斯牛顿法(Gauss-Newton Method): 高斯牛顿法用于求解非线性最小二乘问题,即最小化目标函数f(x) = (1/2) \|F(x)\|^2。 假设F(x)为目标函数对应的残差向量,其雅可比矩阵为J(x),即F(x) = J(x) Δx。高斯牛顿法在每次迭代近似将目标函数F(x)用线性形式进行近似: F(x) ≈ F(x^{(k)}) + J(x^{(k)}) Δx 然后,通过最小化近似的目标函数,求解出Δx的更新值: Δx = -[J(x^{(k)})^T J(x^{(k)})]^{-1} J(x^{(k)})^T F(x^{(k)}) 通过迭代计算,得到更新后的x值。该方法主要应用于非线性最小二乘问题求解。 3. L-M法(Levenberg-Marquardt Method): L-M法综合了牛顿法和高斯牛顿法的优点,用于求解非线性最小二乘问题。 定义目标函数F(x)和雅可比矩阵J(x),则非线性最小二乘问题可以表示为最小化目标函数E(x) = (1/2) \|F(x)\|^2。 L-M法的核心思想在于考虑残差和自由度之间的权衡,引入一个正则化因子λ,通过调整λ的值来平衡牛顿法和高斯牛顿法。 迭代计算的更新值为: Δx = -[J(x^{(k)})^T J(x^{(k)}) + λ I]^{-1} J(x^{(k)})^T F(x^{(k)}) 根据更新值计算x的更新值,并不断调整λ的值,直到满足停止迭代的条件,得到最优解。 这三个方法都是经典的数值优化算法,用于求解非线性问题的最优解。根据不同的问题特性,选择合适的方法可以提高优化效率和准确性。 ### 回答2: 牛顿法、高斯牛顿法和L-M方法是常用的优化算法,它们可以求解非线性最小二乘问题。 首先,我们介绍牛顿法。给定一个非线性函数F(x),我们要求解使F(x)=0的x值。牛顿法的思想是利用一阶泰勒展开来逼近非线性函数,从而找到使F(x)=0的解x。具体推导如下: 首先,根据泰勒展开,我们有: F(x+Δx) ≈ F(x) + J(x)Δx 其,Δx是x的增量,J(x)是F(x)的雅可比矩阵。 将F(x+Δx)置为0,我们可以得到下面的方程: F(x) + J(x)Δx = 0 进一步化简,我们可以得到迭代更新公式: x_new = x - [J(x)]⁻¹F(x) 其,x_new是更新后的x值,[J(x)]⁻¹是雅可比矩阵的逆矩阵。 接下来,我们介绍高斯牛顿法。在非线性最小二乘问题,我们希望找到使残差平方和最小化的参数。高斯牛顿法是一种迭代方法,通过不断局部线性化来优化参数。具体推导如下: 假设有一个非线性函数y=f(x,θ),其θ是待求的参数,给定一组数据点(xi,yi),我们希望通过改变参数θ来最小化误差,即最小化残差函数R(θ)的平方和。 首先,我们通过泰勒展开将非线性函数f(x,θ)近似为线性函数h(x,θ): h(x, θ) ≈ f(x, θ) + J(x, θ)δθ 其,δθ是θ的增量,J(x, θ)是f(x, θ)关于θ的雅可比矩阵。 根据最小二乘法的思想,我们有: R(θ) = Σ(f(xi,θ) - yi)² ≈ Σ(h(xi,θ) - yi)² 通过最小化残差平方和,我们可以得到增量的更新公式: δθ = -(J(x, θ)ᵀJ(x, θ))⁻¹J(x, θ)ᵀR(x, θ) 最后,我们介绍L-M方法(Levenberg-Marquardt Algorithm)。L-M方法是一种将牛顿法梯度下降法相结合的方法,可以更好地处理非线性最小二乘问题。 L-M方法是在高斯牛顿法的基础上,引入一个可调节的参数λ,用于平衡牛顿法梯度下降法。具体推导如下: 首先,我们有牛顿法的迭代更新公式: δθ = -(J(x, θ)ᵀJ(x, θ))⁻¹J(x, θ)ᵀR(x, θ) 然后,我们引入一个参数λ,并定义增量的修正形式: δθ_new = (J(x, θ)ᵀJ(x, θ) + λI)⁻¹J(x, θ)ᵀR(x, θ) 根据修正增量的大小,我们可以判断是否接近最优解。如果修正增量趋于0,说明非线性最小二乘问题已经接近最优解;如果修正增量过大,说明最优解可能在其他方向上。通过不断调整λ,可以实现更好地收敛性和稳定性。 综上所述,牛顿法、高斯牛顿法和L-M方法都是求解非线性最小二乘问题优化算法,在实际应用都有其独特的优势和适用场景。 ### 回答3: 牛顿法、高斯-牛顿法和L-M法都是数值优化常用的方法,用于求解非线性最小二乘问题。下面将分别对这三种方法进行详细推导。 1. 牛顿法: 设需要求解的方程为 F(x) = 0,希望找到使得 F(x) 接近零的解 x。牛顿法的思想是用一个线性逼近函数来代替非线性方程 F(x),通过迭代不断降低逼近函数与原方程的差异。 具体推导如下: (1)选择一个初始解 x0,并计算方程 F(x) 在 x0 处的一阶导数 J 和二阶导数 H。 (2)根据牛顿迭代公式进行迭代:x(k+1) = x(k) - H⁻¹ * J,其 k 表示迭代次数。 (3)不断迭代直到满足终止条件。 2. 高斯-牛顿法(非线性最小二乘法): 高斯-牛顿法用于解决最小二乘问题,即将观测数据拟合到一个非线性模型,使得模型预测值与实际观测值之间的误差最小。 具体推导如下: (1)设非线性模型为 y = f(x;θ),其 θ 表示需要优化的参数。 (2)根据最小二乘法的思想,将观测数据与模型预测值之间的差异平方和最小化,得到一个优化目标函数 E(θ)。 (3)使用牛顿法进行迭代优化:θ(k+1) = θ(k) - (JᵀJ)⁻¹Jᵀe,其 J 是 E(θ) 对θ的一阶导数,e 是观测数据与模型预测值之间的误差向量。 (4)不断迭代直到满足终止条件。 3. L-M法(Levenberg-Marquardt法): L-M法是用于求解非线性最小二乘问题的一个改进的方法,它结合了牛顿法梯度下降法的优点。 具体推导如下: (1)设非线性模型为 y = f(x;θ)。 (2)根据最小二乘法的思想,将观测数据与模型预测值之间的差异平方和最小化,得到一个优化目标函数 E(θ)。 (3)L-M法在牛顿法迭代公式引入一个参数 λ,得到新的迭代公式:θ(k+1) = θ(k) - (JᵀJ + λI)⁻¹Jᵀe,其 J 是 E(θ) 对θ的一阶导数,e 是观测数据与模型预测值之间的误差向量,I 是单位矩阵。 (4)如果λ较大时,L-M法类似于梯度下降法;如果λ较小时,L-M法类似于牛顿法。 (5)不断调整 λ 的值,通过迭代直到满足终止条件。 总之,牛顿法、高斯-牛顿法和L-M法都是常用的非线性最小二乘求解方法,它们在数值优化和数据拟合具有重要的应用价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值