本文介绍如何进行一般的非线性回归

非线性回归的原理和线性回归是一样的:
虽然有些非线性问题可以通过取对数或其他操作转化为线性问题,但是比如我们遇到了一个一一般性的非线性回归问题:
非线性回归的数学理论与方法(非线性最小二乘法)
我们就没办法很好的进行线性化,但是还是可以通过非线性回归的一般方法进行求解:

首先做泰勒级数展开:
非线性回归的数学理论与方法(非线性最小二乘法)
这里,j是最初的猜想,initial guess, j+1是预测,delta_a = = a_j+1 - a_j, 整理一下这个式子:
非线性回归的数学理论与方法(非线性最小二乘法)
也就是说,我们对下一步的预测,依靠的是每个参数的梯度,delta. 那么问题就变得很简单了,直接可以通过构造jacobian进行快速梯度下降:把上式写成这样:
非线性回归的数学理论与方法(非线性最小二乘法)
这里面
非线性回归的数学理论与方法(非线性最小二乘法)
非线性回归的数学理论与方法(非线性最小二乘法)
非线性回归的数学理论与方法(非线性最小二乘法)
直接套用线性回归公式:
非线性回归的数学理论与方法(非线性最小二乘法)
就可以计算出来delta_a, 然后更新a;

非线性回归的数学理论与方法(非线性最小二乘法)
非线性回归的数学理论与方法(非线性最小二乘法)
重复上树操作,一直到满足某个设定的停止条件:
非线性回归的数学理论与方法(非线性最小二乘法)
比如收敛速度epsilon小于某个设定的极小值。

Wiki上面也有类似的推导:
非线性回归的数学理论与方法(非线性最小二乘法)
链接是 https://en.wikipedia.org/wiki/Least_squares

相关文章: