先说一下线性最小二乘,再说非线性最小二乘
已知M个N+1维空间中点:
其中
我们想要求得一个函数
使得:
上式用矩阵表示即:
其中:
,,。
为了最小化上式,对求导得:
针对上式怎么求呢?
—————————————————————————————————————————————————————————————————————————————
补充知识:对称正定矩阵的Cholesky分解
设矩阵是对称正定矩阵,那么矩阵可以分解为:
,
其中为下三角矩阵,为上三角矩阵。
—————————————————————————————————————————————————————————————————————————————
用对称正定矩阵的Cholesky分解就可以解,因为是对称正定矩阵,所以存在下三角矩阵使得,等价于解,
首先令:,通过,解出,然后就可以解出了。
—————————————————————————————————————————————————————————————————————————————
线性最小二乘有很多开源的代码,我这里只拿python的机器学习库Scikit-learn写个二维空间中的例子,Scikit learn官网中有详细的代码: