问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

最小二乘法详解:从原理到实践

创作时间:
作者:
@小白创作中心

最小二乘法详解:从原理到实践

引用
CSDN
1.
https://blog.csdn.net/m0_65512360/article/details/137913177

最小二乘法是机器学习和数据分析中一个非常重要的数学工具,广泛应用于曲线拟合、参数估计等领域。本文通过两个具体的实例,详细介绍了最小二乘法的基本原理和计算方法,帮助读者快速掌握这一重要工具。

前言

最小二乘法是学习很多原理绕不开的一个数学基础,比如在视觉SLAM等领域就经常用到。本文通过两个具体的例子,详细解释了最小二乘法的概念和计算方法,帮助读者快速掌握这一重要工具。

抛出问题

在我们去学习最小二乘的时候,首先要清楚最小二乘是干嘛的。

用一个简单的例子去说明吧,给定以下x值以及其对应的f(x)值,我们将下面这个点在图像中画出来

x -3 -2 -1 0 1 2 3 4

f(x) -3.2 -2.1 -1.2 0.1 0.9 2.1 3.3 4

上图中黑色的点是表格中数据描出来的点,我们可以看出来这些黑色的点是不在同一条直线上的,那我们如何找一条类似于图中红色的线去尽可能接近的将这些点表示出来,这就是用的最小二乘拟合。(当然也可以拟合二次三次甚至更高次的曲线),所以总结出最小二乘的目的给定点x以及其对应的f(x),连结曲线,根据杂乱点连成的曲线拟合出一条最接近他的曲线。

如何进行最小二乘拟合的计算

这里的讲解我打算用两个具体的例子进行说明,便于大家更好的理解,更好的去进行最小二乘拟合的计算。

例1:本例就去解决上面数据的问题,问题是如何通过以上数据去拟合出一条y=ax+b的直线?

先给出公式:

我们再详细说一下这个公式怎么用:

0矩阵里面的值全为1,有n个x,就是n个1;

1矩阵里面的值就是将x的值全部写进去;

f 矩阵里面的值就是将f(x)的值全部写进去;

α0就是我们要算的x的0次方的系数,即b;

α1是我们要算的x的1次方的系数,即a;

根据公式,我们来计算这个例题。

0=(1,1,1,1,1,1,1,1)的转置,因为本题中有8个x值;

1=(-3,-2,-1,0,1,2,3,4)的转置,根据例题中给的x值将其全部代入;

f = (-3.2,-2.1,-1.2,0.1,0.9,2.1,3.3,4)的转置,根据例题中给的f(x)的值将其全部代入;

令α0 = b,α1 = a;

0,

0)=11+11+11+···+11=8(一共是8个1*1相加);

0,

1)=1*(-3)+1*(-2)+···+1*4=4(即

0的各项与

1的对应项相乘之和)

同理可求(

1,

0)=4,(

1,

1)=44,(f,

0)=3.9,(f,

1)=46;

所以得到

即解一个二元一次方程组

解得a=1.048810,b=-0.036905,故拟合的直线为 y = 1.048810x - 0.036905

例2:给定下表数据,用二次多项式拟合数据(即y=ax方+bx+c)

x -2 -1 0 1 2

f(x) 0 1 2 1 0

给出公式:

对参数进行一个解释,其实和上个例题总体差不多。

0矩阵里面的值全为1,有n个x,就是n个1;

1矩阵里面的值就是将x的值全部写进去;

2矩阵里面的值就是将x的平方值全部写进去;

f 矩阵里面的值就是将f(x)的值全部写进去;

α0就是我们要算的x的0次方的系数,即c;

α1是我们要算的x的1次方的系数,即b;

α2是我们要算的x的1次方的系数,即a;

于是我们将对应的值写进去,最后其实就是解一个三元一次方程组,下图是具体过程:

至此,我们求解二次多项式的拟合数据也完成了。

以此类推,那么如何求解三次多项式的拟合数据呢,基本方法是一样的,直接放图:

总结

至此例题就全部讲完了,相信大家应该对最小二乘拟合有了一个初步的认识,希望这篇blog对大家理解学习最小二乘有一定的帮助,也欢迎大家继续学习,讨论,纠错!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号