线性最小二乘法的通俗理解

视觉SLAM笔记
视觉SLAM十四讲学习笔记
氢键H-H


1. 最小二乘法

最小二乘法(又称最小平方法)是一种数学优化技术
它通过 最小化误差的平方和 寻找数据的最佳函数匹配

利用最小二乘法可以简便地求得未知的数据
并使得这些求得的数据与实际数据之间误差的平方和为最小

最小二乘法还可用于曲线拟合
其他一些优化问题也可通过 最小化能量最大化熵 用最小二乘法来表达


2. 通俗理解


2.1. 举例

这里举个简单的例子吧
假如去食堂打包,不同的菜价格不一样:

  • 打包 1个菜需要 8 块
  • 打包 2个菜需要 11 块
  • 打包 3个菜需要 18 块
  • 打包 4个菜需要 21 块

那么打包5个菜需要多少块


2.2. 线性方程组

一般应该会想到用线性方程组来解决这个问题:
在这里插入图片描述
假定 x 是菜式的数量,y是付款金额,β1和β2为未知的系数
把上面的一组数据代入,得到以下四个方程:
在这里插入图片描述

但这样的β1和β2是不存在的

形象地说,它们不在一条直线上
在这里插入图片描述

可是现实中,就希望能找到一条直线
虽然不能满足所有条件,但能近似地表示这个趋势
或者说,能大概猜测出打包5个菜的价格


2.3. 最优猜测

其实最小二乘法也是这样,要尽全力 让这条直线最接近这些点
那么问题来了,怎么去做一个标准,即 怎么去定义这个最接近 呢?

直觉告诉我们,这条直线在所有数据点中间穿过,让这些点到这条直线的误差之和越小越好
这里用方差来算更客观,即把每个点到直线的 误差平方累加
在这里插入图片描述
如果上面的四个方程都能满足,那么S的值显然为0
但如果做不到,就让应该这个S越小越好


2.4. 求偏导

这里有一个概念,就是求 偏导数,需要了解一下
比如导数就是求变化率
而偏导数则是当变量超过一个的时候,对 其中一个变量 求变化率

要让S取得最小值(或最大值),那么S对于β1和β2分别求偏导结果为0
用一个直观的图来表示:
在这里插入图片描述
这条曲线,前半部分是呈下降的趋势,也就是变化率(导数)为负的
后半部分呈上升的趋势,也就是变化率(导数)为正
那么分界点的导数为0,也就是取得最小值的地方

这是一个变量的情况,对于多个变量的情况,要让S取得最小值
那就是对β1和β2分别求导,值为0:
在这里插入图片描述

两个变量,刚好有两个方程式,得出:
在这里插入图片描述
即:
在这里插入图片描述

这个函数也就是需要的直线
虽然不能把那些点串起来,但它能最大程度上接近这些点
也就是说5个菜的时候,大概为 3 + 4.6 x 5 = 26 块

这是对最优问题的情况,类似神经网络也很多采用这种方式
虽然这种方法有局限性但还是很常见的


谢谢!

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie
应支付0元
点击重新获取
扫码支付

支付成功即可阅读