这里列下最小二乘的四种解法的优缺点.
最小二乘问题可以使用牛顿法,梯度下降法,牛顿高斯法以及列文伯格-马夸特法来求解,这里一一介绍下其优缺点.
牛顿法(分为一阶牛顿法和二阶牛顿法)
一阶牛顿法的推导过程
- 求解步骤
一阶牛顿求根.通过迭代法求解方程根的数值求解方法.其求根的一般步骤是:
1. 选择一个初始猜测值 x₀,这个值应该接近方程的一个根。
2. 根据方程和初始猜测值,计算函数 f(x₀) 和导数 f'(x₀)。
3. 使用以下公式进行迭代计算:
x₁ = x₀ - (f(x₀) / f'(x₀))
4. 将 x₁ 作为新的猜测值,并重复步骤 2 和 3,直到满足停止条件。停止条件可以是达到预定的迭代次数,或者函数值的变化很小(收敛到方程的根)。
5. 最终得到的 x 值就是方程的一个近似根。
牛顿法的迭代公式可以通过使用泰勒展开来推导得出。假设我们要解方程 f(x) = 0,使用牛顿法的迭代公式如下:
1. 选择一个初始猜测值 x₀。
2. 根据初始猜测值 x₀,使用泰勒展开将方程 f(x) 在 x₀ 处展开,考虑到一阶导数:
f(x) ≈ f(x₀) + f'(x₀)(x - x₀)
3. 希望找到一个新的近似解 x₁,使得 f(x₁) = 0。将上述展开式中的 x 替换为 x₁:
0 ≈ f(x₀) + f'(x₀)(x₁ - x₀)
4. 将 x₁ 作为新的近似解,即令 f(x₁) = 0,我们可以解出 x₁:
x₁ = x₀ - (f(x₀) / f'(x₀))
这就是牛顿法的迭代公式。通过不断迭代使用该公式,我们可以逐步逼近方程的根。每次迭代,我们通过计算函数值和导数值来更新当前的近似解。
二阶牛顿法推导
二阶牛顿法(Second-Order Newton’s Method),也称为牛顿-拉夫逊法(Newton-Raphson method),是用于数值求解非线性方程或优化问题的迭代方法。下面是二阶牛顿法的推导过程:
- 假设我们要求解方程 f(x) = 0,其中 x 是一个变量。
- 初始猜测值:选择一个初始猜测值 x₀。
泰勒展开:在当前猜测值 x₀ 处对函数 f(x) 进行二阶泰勒展开:
f(x) ≈ f(x₀) + f’(x₀)(x - x₀) + 0.5 * f’‘(x₀)(x - x₀)²
其中,f’(x₀) 表示 f(x) 对 x 在 x₀ 处的一阶导数,f’'(x₀) 表示 f(x) 对 x 在 x₀ 处的二阶导数。 - 近似根的计算:我们希望找到一个新的近似根 x₁,使得 f(x₁) = 0。将上述展开式中的 x 替换为 x₁:0 ≈ f(x₀) + f’(x₀)(x₁ - x₀) + 0.5 * f’'(x₀)(x₁ - x₀)²
- 求解近似根:将上述方程化简为形式为 g(x₁) = 0 的方程,其中 g(x₁) 表示近似根 x₁ 的函数表达式。对 g(x₁) 求导,并令导数为零,可以解出 x₁ 的值。具体计算如下:
对上述方程两边求导数:
g’(x₁) = f’(x₀) + f’‘(x₀)(x₁ - x₀)
令 g’(x₁) = 0,解得:
x₁ = x₀ - f’(x₀) / f’'(x₀) - 更新猜测值:将 x₁ 作为新的猜测值,重复步骤 2 至 4,直到满足停止条件(例如达到预定的迭代次数或函数值的变化很小)。
最终得到的 x 值就是方程 f(x) = 0 的一个近似根。
梯度下降法
批量梯度下降(Batch Gradient Descent)、随机梯度下降(Stochastic Gradient Descent)或者小批量梯度下降(Mini-batch Gradient Descent)
最小二乘定义
假设有误差函数f(x), 则对于目标函数
m
i
n
(
F
(
x
)
)
=
1
/
2
∣
∣
f
(
x
)
∣
∣
2
min(F(x))=1/2||f(x)||^2
min(F(x))=1/2∣∣f(x)∣∣2, 如果容易求导,那么F(x)一阶导为0处可能为解.但实际应用场景复杂时,是很难求一阶导的,这时要用迭代法进行求解.
流程如下:
可以看出,整个迭代过程只和误差函数f(x)有关,企图通过每次局部小的迭代实现目标函数的最小解.下面介绍的迭代法最大的区别就是求解
δ
x
\delta x
δx的不同.
如果用高斯法和梯度下降法求解,需要求H,太过复杂,这里就引出了高斯牛顿法.
高斯牛顿法
针对最小二乘场景目标函数 m i n ( F ( x ) ) = 1 / 2 ∣ ∣ f ( x ) ∣ ∣ 2 min(F(x))=1/2||f(x)||^2 min(F(x))=1/2∣∣f(x)∣∣2,如果直接用梯度下降法求解,那就不可避免的求解f(x)的海森矩阵,但是最小二乘问题可以做下简化来避免H矩阵的求解.简化后可以通过求解伪H矩阵来完成优化工作.
列文伯格-马夸特法
在高斯牛顿法基础上引入了信赖域概念.
参考链接:
https://zhuanlan.zhihu.com/p/113946848