最小平方法是十九世纪统计学的主题曲。 从许多方面来看, 它之于统计学就相当于十八世纪的微积分之于数学。

----乔治·斯蒂格勒的《The History of Statistics》

1 日用而不知

来看一个生活中的例子。比如说,有五把尺子:

用它们来分别测量一线段的长度,得到的数值分别为(颜色指不同的尺子):

之所以出现不同的值可能因为:

  • 不同厂家的尺子的生产精度不同

  • 尺子材质不同,热胀冷缩不一样

  • 测量的时候心情起伏不定

  • ......

总之就是有误差,这种情况下,一般取平均值来作为线段的长度:

日常中就是这么使用的。可是作为很事'er的数学爱好者,自然要想下:

  • 这样做有道理吗?

  • 用调和平均数行不行?

  • 用中位数行不行?

  • 用几何平均数行不行?

2 最小二乘法

换一种思路来思考刚才的问题。

首先,把测试得到的值画在笛卡尔坐标系中,分别记作 :

其次,把要猜测的线段长度的真实值用平行于横轴的直线来表示(因为是猜测的,所以用虚线来画),记作 :

每个点都向 做垂线,垂线的长度就是 ,也可以理解为测量值和真实值之间的误差:

因为误差是长度,还要取绝对值,计算起来麻烦,就干脆用平方来代表误差:

总的误差的平方就是:

因为 是猜测的,所以可以不断变换:

自然,总的误差 也是在不断变化的。

法国数学家,阿德里安-馬里·勒讓德(1752-1833,这个头像有点抽象)提出让总的误差的平方最小的 就是真值,这是基于,如果误差是随机的,应该围绕真值上下波动(关于这点可以看下“如何理解无偏估计?”)。

这就是最小二乘法,即:

这个猜想也蛮符合直觉的,来算一下。

这是一个二次函数,对其求导,导数为0的时候取得最小值:

进而:

正好是算术平均数。

原来算术平均数可以让误差最小啊,这下看来选用它显得讲道理了。

以下这种方法:

就是最小二乘法,所谓“二乘”就是平方的意思,台湾直接翻译为最小平方法。

3 推广

算术平均数只是最小二乘法的特例,适用范围比较狭窄。而最小二乘法用途就广泛。

比如温度与冰淇淋的销量:

看上去像是某种线性关系:

可以假设这种线性关系为:

通过最小二乘法的思想:

上图的 分别为:

总误差的平方为:

不同的 会导致不同的 ,根据多元微积分的知识,当:

这个时候 取最小值。

对于 而言,上述方程组为线性方程组,用之前的数据解出来:

也就是这根直线:

其实,还可以假设:

在这个假设下,可以根据最小二乘法,算出 ,得到下面这根红色的二次曲线:

同一组数据,选择不同的 ,通过最小二乘法可以得到不一样的拟合曲线(出处):

不同的数据,更可以选择不同的 ,通过最小二乘法可以得到不一样的拟合曲线:

 也不能选择任意的函数,还是有一些讲究的,这里就不介绍了。

4 最小二乘法与正态分布

我们对勒让德的猜测,即最小二乘法,仍然抱有怀疑,万一这个猜测是错误的怎么办?

数学王子高斯(1777-1855)也像我们一样心存怀疑。

高斯换了一个思考框架,通过概率统计那一套来思考。

让我们回到最初测量线段长度的问题。高斯想,通过测量得到了这些值:

每次的测量值 都和线段长度的真值 之间存在一个误差:

这些误差最终会形成一个概率分布,只是现在不知道误差的概率分布是什么。假设概率密度函数为:

再假设一个联合概率密度函数,这样方便把所有的测量数据利用起来:

讲到这里,有些同学可能已经看出来了上面似然函数了(关于似然函数以及马上要讲到的极大似然估计,可以参考“如何理解极大似然估计法?”)。

因为 是关于 的函数,并且也是一个概率密度函数(下面分布图形是随便画的):

根据极大似然估计的思想,概率最大的最应该出现(既然都出现了,而我又不是“天选之才”,那么自然不会是发生了小概率事件),也就是应该取到下面这点:

当下面这个式子成立时,取得最大值:

然后高斯想,最小二乘法给出的答案是:

如果最小二乘法是对的,那么 时应该取得最大值,即:

好,现在可以来解这个微分方程了。最终得到:

这是什么?这就是正态分布啊。

并且这还是一个充要条件:

也就是说,如果误差的分布是正态分布,那么最小二乘法得到的就是最有可能的值。

那么误差的分布是正态分布吗?

我们相信,误差是由于随机的、无数的、独立的、多个因素造成的,比如之前提到的:

  • 不同厂家的尺子的生产精度不同

  • 尺子材质不同,热胀冷缩不一样

  • 测量的时候心情起伏不定

  • ......

那么根据中心极限定理(参考“为什么正态分布如此常见?”),误差的分布就应该是正态分布。

因为高斯的努力,才真正奠定了最小二乘法的重要地位。

文章最新版本在(有可能会有后续更新):如何理解最小二乘法?

如何理解最小二乘法?相关推荐

  1. “损失函数”是如何设计出来的?直观理解“最小二乘法”和“极大似然估计法”

    [本文内容是自对视频:"损失函数"是如何设计出来的?的整理.补充和修正] 在大多数课程,尤其是帮助大家快速掌握深度学习的课程,损失函数似乎并不是一个需要额外关心的问题.因为它往往都 ...

  2. [work*] 如何理解最小二乘法

    本文写的太好, 转自马同学 线性代数的概念很多,我们的"马同学线性代数"通过如下的通俗易懂的方式进行讲解,感兴趣可以点击最下方的"阅读原文"报名参加. 最小平方 ...

  3. 怎样理解最小二乘法原理及其用途

    最小二乘法的本质原理 http://blog.sina.com.cn/s/blog_5e6614220101ks63.html 本文主要以最简单的二元线性函数为基础,阐述最小二乘法的原理,事实上,最小 ...

  4. 如何理解最小二乘法(19世纪的统计学就相当于18世纪的微积分对于数学的地位)

    https://blog.csdn.net/ccnt_2012/article/details/81127117

  5. 递推最小二乘法的推导和理解

    递推最小二乘法的推导和理解 最小二乘法 快速回顾最小二乘法的推导 建立误差平方 将其最小化 一种对最小二乘法理解的视角 递推最小二乘法 在线实时预测问题 推导思路与详细过程 将k时刻的表达式写成k-1 ...

  6. 机器学习知识点(四)最小二乘法Java实现

    最小二乘法(又称最小平方法)是一种数学优化技术.它通过最小化误差的平方和寻找数据的最佳函数匹配.利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小.最小二乘法 ...

  7. 最小二乘法,了解一下?

    摘要:最小二乘法是一种在误差估计.不确定度.系统辨识及预测.预报等数据处理诸多学科领域得到广泛应用的数学工具.最小二乘很简单,也在业界得到了广泛使用. 本文分享自华为云社区<最小二乘法介绍> ...

  8. 最小二乘法多项式曲线拟合数学原理及其C++实现

    目录 0 前言 1 最小二乘法概述 2 最小二乘法求解多项式曲线系数向量的数学推导 2.1 代数法 2.2 矩阵法 3 代码实现 4 总结 参考 0 前言 自动驾驶开发中经常涉及到多项式曲线拟合,本文 ...

  9. 【白话理解神经网络中的“损失函数”——最小二乘法和极大似然估计法】

    目录 写在前面的话 理解损失函数 最小二乘法 最大似然估计法(统计方法) 写在前面的话 "损失函数"是如何设计出来的?直观理解"最小二乘法"和"极大似 ...

  10. 最小二乘法(Least square method)

    最小二乘法是在线性回归模型最小化均方误差时使用,其实就是对误差函数求导数,然后让其等于0 ,然后解出使得误差最小.本篇文章讲解最小二乘法. 首先声明,此篇的内容是来自"马同学高等数学&quo ...

最新文章

  1. iptables基础——链与表
  2. checkbox的常见问题
  3. 消息发送到消息接收的整体流程
  4. redis——客户端
  5. android git项目管理,Android Studio中如何使用Git和Github来管理项目
  6. quartus仿真25:JK触发器构成的模7计数器(分析)
  7. 关于同网段内主机之间通信细节
  8. linux文件系统变为只读的修复
  9. 仿抖音上下滑动播放视频
  10. Excel中实用的3个数据透视表操作技巧,简单高效!
  11. 水晶报表自定义纸张大小打印 (转)
  12. 如何实现轻松会议签到?
  13. yi.k7p.co/index.php,Muzeum Jarocin
  14. 在html中主要支持的音频格式,html5中audio支持音频格式
  15. 使用代理后,雷鸟连接qq邮箱
  16. 远场(far-field)语音识别的主流技术有哪些
  17. Jmeter登录163邮箱
  18. 视频手势画图python_如何裁剪视频
  19. js对象数组去除重复
  20. 今日multi_turtlebot3尝试

热门文章

  1. 历史要横着读,故事要竖着看!嘻哈~
  2. mysql报错:1194-table “xxx“ is marked as crashed and should be repaired
  3. 词性标注:中文词性标注简介
  4. java毕业设计——基于java+J2ME的五子棋网络对战游戏设计与实现(毕业论文+程序源码)——五子棋网络对战游戏
  5. ASO学习——《ASO优化大师》笔记
  6. MeteoInfo 生成等值面
  7. 通过公众号注册小程序
  8. Sketch for Mac(矢量绘图工具)
  9. 联想微型计算机怎么开盖,联想b520一体机拆机图解
  10. Python里面这些点,据说80%的新手都会一脸懵逼