赞
踩
最小二乘法的目标:求误差的最小平方和,对应有两种:线性和非线性。线性最小二乘的解是closed-form(如下文),而非线性最小二乘没有closed-form,通常用迭代法求解(如高斯牛顿迭代法,本文不作介绍)。
【首先得到线性方程组】
1.概念
最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。
利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。
最小二乘法还可用于曲线拟合。
2.原理
函数原型:
已知:
(x0,y0),(x1,y1)…(xi,yi)…(xn,yn)个点,n>=k。
偏差平方和:
偏差平方和最小值可以通过使偏导数等于零得到:
简化左边等式有:
写成矩阵形式:公式①
将这个范德蒙得矩阵化简后可得到:公式②
也就是说X*A=Y,那么A = (X’*X)-1*X’*Y,便得到了系数矩阵A,同时,我们也就得到了拟合曲线。
【然后解线性方程组,即公式①】
1.概念
数学上,高斯消元法(或译:高斯消去法)(英语:Gaussian Elimination),是线性代数中的一个算法,可用来为线性方程组求解,求出矩阵的秩,以及求出可逆方阵的逆矩阵。当用于一个矩阵时,高斯消元法会产生出一个“行梯阵式”。
2.原理
3.伪代码
这个算法和上面谈到的有点不同,它由绝对值最大的部分开始做起,这样可以改善算法的稳定性。本算法由左至右地计算,每作出以下三个步骤,才跳到下一列和下一行:
所有步骤完成后,这个矩阵会变成一个行梯矩阵,再用代入法就可以求解该方程组。
i = 1
j = 1
while (i ≤ m and j ≤ n) do
Find pivot in column j, starting in row i // 从第i行开始,找出第j列中的最大值(i、j值应保持不变)
maxi = i
for k = i+1 to<
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。