版权声明:本文为博主原创文章,未经博主允许不得转载。

目录(?)[+]

  1. 最小二乘的背景
  2. 举个最简单的例子理解最小二乘
  3. 最小二乘的cost function
  4. 最小二乘法的求解
  5. 矩阵表达形式
  6. 注意事项

最小二乘是每个上过大学的同学都接触过的概念与知识点(当然可能纯文科的同学没接触过,但是一般纯文科的同学也不会看这篇文章好像)。最小二乘理论其实很简单,用途也很广泛。但是每次说到最小二乘,总感觉差了点什么似的,好像对于最小二乘的前世今生没有一个特别详细与系统的了解。so,本博主趁着周末的时间,赶紧给详细整理整理,力争把最小二乘是个什么鬼做一个特别详细的说明,争取让学英语学中文学历史学画画唱歌的同学都能看明白。

1.最小二乘的背景

这种东东的来源,比较容易找到而且比较靠谱的途径自然是wiki百科了,以下部分的内容来自wiki百科:
1801年,意大利天文学家朱赛普·皮亚齐发现了第一颗小行星谷神星。经过40天的跟踪观测后,由于谷神星运行至太阳背后,使得皮亚齐失去了谷神星的位置。随后全世界的科学家利用皮亚齐的观测数据开始寻找谷神星,但是根据大多数人计算的结果来寻找谷神星都没有结果。时年24岁的高斯也计算了谷神星的轨道。奥地利天文学家海因里希·奥伯斯根据高斯计算出来的轨道重新发现了谷神星。
高斯使用的最小二乘法的方法发表于1809年他的著作《天体运动论》中,而法国科学家勒让德于1806年独立发现“最小二乘法”,但因不为世人所知而默默无闻。两人曾为谁最早创立最小二乘法原理发生争执。1829年,高斯提供了最小二乘法的优化效果强于其他方法的证明,见高斯-马尔可夫定理。

2.举个最简单的例子理解最小二乘

现在大家都越来越重视自己的身体健康。现代人最常见的亚健康问题就是肥胖,本博主身体棒棒哒,唯一困扰本博主的健康问题就是超重。(好吧,承认自己是个死胖子就完了)
假设身高是变量X,体重是变量Y,我们都知道身高与体重有比较直接的关系。生活经验告诉我们:一般身高比较高的人,体重也会比较大。但是这只是我们直观的感受,只是很粗略的定性的分析。在数学世界里,我们大部分时候需要进行严格的定量计算:能不能根据一个人的身高,通过一个式子就能计算出他或者她的标准体重?
接下来,我们肯定会找一堆人进行采用(请允许我把各位当成一个样本)。采样的数据,自然就是各位的身高与体重。(为了方便计算与说明,请允许我只对男生采样)经过采样以后,我们肯定会得到一堆数据(x 1 ,y 1 ),(x 2 ,y 2 ),⋯,(x n ,y n ) ,其中x是身高,y是体重。
得到这堆数据以后,接下来肯定是要处理这堆数据了。生活常识告诉我们:身高与体重是一个近似的线性关系,用最简单的数学语言来描述就是y=β 0 +β 1 x 。于是,接下来的任务就变成了:怎么根据我们现在得到的采样数据,求出这个β 0  与β 1  呢?这个时候,就轮到最小二乘法发飙显示威力了。

3.最小二乘的cost function

在讲最小二乘的详情之前,首先明确两点:1.我们假设在测量系统中不存在有系统误差,只存在有纯偶然误差。比如体重计或者身高计本身有问题,测量出来的数据都偏大或者都偏小,这种误差是绝对不存在的。(或者说这不能叫误差,这叫错误)2.误差是符合正态分布的,因此最后误差的均值为0(这一点很重要)
明确了上面两点以后,重点来了:为了计算β 0  ,β 1  的值,我们采取如下规则:β 0  ,β 1  应该使计算出来的函数曲线与观察值的差的平方和最小。用数学公式描述就是:

Q=min∑ i n (y ie −y i ) 2  

其中,y ie  表示根据y=β 0 +β 1 x 估算出来的值,y i  是观察得到的真实值。

可能有很多同学就会不服了,凭什么要用差的平方和最小勒?用差的绝对值不行么?不要骗我们好不好?
本博主不敢骗大家,为了让大家相信,特意找了一种本博主认为比较靠谱的解释:
我们假设直线对于坐标 Xi 给出的预测 f(Xi) 是最靠谱的预测,所有纵坐标偏离 f(Xi) 的那些数据点都含有噪音,是噪音使得它们偏离了完美的一条直线,一个合理的假设就是偏离路线越远的概率越小,具体小多少,可以用一个正态分布曲线来模拟,这个分布曲线以直线对 Xi 给出的预测 f(Xi) 为中心,实际纵坐标为 Yi 的点 (Xi, Yi) 发生的概率就正比于 EXP[-(ΔYi)^2]。(EXP(..) 代表以常数 e 为底的多少次方)。
所以我们在前面的两点里提到,假设误差的分布要为一个正态分布,原因就在这里了。
另外说一点我自己的理解:从数学处理的角度来说,绝对值的数学处理过程,比平方和的处理要复杂很多。搞过机器学习的同学都知道,L1正则就是绝对值的方式,而L2正则是平方和的形式。L1能产生稀疏的特征,这对大规模的机器学习灰常灰常重要。但是L1的求解过程,实在是太过蛋疼。所以即使L1能产生稀疏特征,不到万不得已,我们也还是宁可用L2正则,因为L2正则计算起来方便得多。。。

4.最小二乘法的求解

明确了前面的cost function以后,后面的优化求解过程反倒变得so easy了。
样本的回归模型很容易得出:

Q=∑ i n (y i −β 0 −β 1 x) 2  

现在需要确定β 0  、β 1  ,使cost function最小。学过高数的同志们都清楚,求导就OK。对于这种形式的函数求导,so easy,so happy…

∂Q∂β 0  =2∑ i n (y i −β 0 −β 1 x i )(−1)=0∂Q∂β 1  =2∑ i n (y i −β 0 −β 1 x i )(−x i )=0 

将这两个方程稍微整理一下,使用克莱姆法则,很容易求解得出:

β 0 =∑x 2 i ∑y i −∑x i ∑x i y i n∑x 2 i −(∑x i ) 2  β 1 =n∑x i y i −∑x i ∑y i n∑x 2 i −(∑x i ) 2   

因为求和符号比较多,省略了上标与下标。
根据这个公式,就可以求解出相应的参数。
对应上面的身高体重关系的例子,我们只需要将采样得到的数据,一一代入即可求解。

5.矩阵表达形式

如果我们推广到更一般的情况,假如有更多的模型变量x 1 ,x 2 ,⋯,x m  (注意:x 1  是指 一个样本,x 1  是指样本里的一个模型相关的变量),可以用线性函数表示如下:

y(x 1 ,⋯,x m ;β 0 ,⋯,β m )=β 0 +β 1 x 1 +⋯+β m x m  

对于n个样本来说,可以用如下线性方程组表示:

β 0 +β 1 x 1 1 +⋯+β j x j 1 +⋯+β m x m 1 =y 1 β 0 +β 1 x 1 2 +⋯+β j x j 2 +⋯+β m x m 2 =y 2 ⋯β 0 +β 1 x 1 i +⋯+β j x j i +⋯+β m x m i =y i ⋯β 0 +β 1 x 1 n +⋯+β j x j n +⋯+β m x m n =y n  

如果将样本矩阵x h i  记为矩阵A,将参数矩阵记为向量β ,真实值记为向量Y,上述线性方程组可以表示为:

⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ 11⋯1 x (1) 1 x (2) 1 ⋯x (m) 1  ⋯⋯⋯⋯ x (1) n x (2) n ⋯x (m) n  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⋅⎡ ⎣ ⎢ ⎢ ⎢ ⎢ β 0 β 1 ⋯β m  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ =⎡ ⎣ ⎢ ⎢ ⎢ ⎢ y 0 y 1 ⋯y n  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥  

即Aβ=Y 
对于最小二乘来说,最终的矩阵表达形式可以表示为:

min||Aβ−Y|| 2  

最后的最优解为:

β=(A T A) −1 A T Y 

6.注意事项

经典的最小二乘法使用起来够简单粗暴,计算过程也不复杂。但是一个致命的问题就是其对噪声的容忍度很低。试想一下,如果前面我们得到的总采样数据为100个,但是里面有几个大胖子,这几个大胖子就相当于不是普通人的身高-体重系数,他们就是噪声了。如果不采取一些手段对这几个噪声样本进行处理,最后计算出来的身高-体重系数肯定会比正常值要偏大。
对于噪声的处理,比如有加权最小二乘等方法,后续有时间跟大家再讲讲。

最小二乘法 来龙去脉相关推荐

  1. 机器学习(11)线性回归(1)理论:损失函数(含最小二乘法)、正规方程、梯度下降、回归性能评估(均方差)

    目录 一.线性回归基础理论 1.定义与公式 2.线性关系(单特征与双特征) 2-1.单特征线性关系 2-2.双特征平面关系 2-3.其他线性模型 二.线性回归的损失和优化原理 1.损失函数 1.定义 ...

  2. 利用最小二乘法求解仿射变换参数

    仿射变换的定义 仿射变换(Affine Transformation或 Affine Map),是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间. 仿射变换可以由以下基本 ...

  3. 在图像变换中用最小二乘法求解仿射变换参数

    设原图像为f(x,y),畸变后的图像为F(X',Y'),要将F(X',Y')恢复为f(x,y),就是要找到(X',Y')坐标与(x,y)坐标的转换关系,这个转换关系称为坐标变换,表示为(x,y)=T( ...

  4. [原创] 如何追踪每一笔记录的来龙去脉:一个完整的Audit Logging解决方案—Part I...

    一.提出问题 在开发一个企业级 应用的时候,尤其在一个涉及到敏感数据的应用,比如财务系统.物流系统,我们往往有这样的需求:对于数据库中每一笔数据的添加.修改和删除,都需要有一个明确的日志,以便我们可以 ...

  5. 最小二乘法的本质是什么?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:深度学习与计算机视觉 作者:梨梨喵 https://ww ...

  6. matlab最小二乘法参数辨识,基于最小二乘法的MATLAB辨识仿真实验

    <工业控制计算机>2013 年第 26 卷第 7 期基于最小二乘法的 MATLAB 辨识仿真实验 崔秀美 刘文杰 陈 澄 (苏州大学机电工程学院,江苏 苏州 215021) Experim ...

  7. 3D曲面重建之移动最小二乘法

    本文我们思考这样一个问题:如何在一组逐点值的给定域上估计该域的一般函数? 这种估计对于给定域上PDE数值的求解,根据扫描数据进行表面重建,或者理解采集到数据的数据结构都有所帮助.下面介绍几种常见的最小 ...

  8. 最小二乘法、迭代优化、坐标轴下降法(Coordinate Descent, CD)、坐标下降和梯度下降对比、梯度下降法/最速下降法

    最小二乘法.迭代优化.坐标轴下降法(Coordinate Descent, CD).坐标下降和梯度下降对比.梯度下降法/最速下降法 目录

  9. 最小二乘法+牛顿法+拟牛顿法+梯度下降法+梯度上升法+共轭梯度法

    最小二乘法+牛顿法+拟牛顿法+梯度下降法+梯度上升法+共轭梯度法 最小二乘法+牛顿法+拟牛顿法+梯度下降法+梯度上升法+共轭梯度法 上述几种方法,除了最小二乘法是直接使用公式取得之外,另外几种方法都是 ...

  10. 最小二乘法MSE 梯度下降法

    为什么要比较这两种方法呢?很多人可能不知道,我先简单的介绍一下 机器学习有两种,一种是监督学习,另一种是非监督学习.监督学习就是我告诉计算机你把班上同学分个类,分类标准是按照性别,男生和女生:非监督分 ...

最新文章

  1. Juniper SRX IPsec *** base route CLI
  2. android usb设备节点_(五)树莓派3开发环境搭建——6.树莓派USB与tty串口号绑定...
  3. 2020-2021年度第二届全国大学生算法设计与编程挑战赛(春季赛)【部分题题解】
  4. tomee_一罐将其全部统治:Apache TomEE + Shrinkwrap == JavaEE引导
  5. string contains不区分大小写_String基础复习
  6. JDK,JRE,JVM三者关系
  7. python项目开发实例-有趣的十个Python实战项目,让你瞬间爱上Python!
  8. bootstrap源码学习:辅助(1)
  9. selenium+python3+excel测试框架
  10. 小D课堂 - 新版本微服务springcloud+Docker教程_5-03 feign结合hystrix断路器开发实战上...
  11. VS2010:外部依赖目录错误,怎么办
  12. VNC方式连接树莓派
  13. java中的测试类_java中测试类的方法
  14. linux svnadmin,linux安装centos7.5基于SVN+Apache+svnadmin实现SVN的web管理
  15. 分布式数据库BLP安全模型介绍
  16. 08cms房产门户系统源码V8.6.1多城市版
  17. 高等数学学习笔记——第六十八讲——隐函数存在定理
  18. 爬虫36计之1.1 爬取高清MM图片壁纸
  19. 【Unity】StreamingAssets和PersistentData文件夹
  20. matlab生成任意区间的随机数

热门文章

  1. 信用卡分销系统如何获客
  2. linux svn cleanup项目,SVN cleanup操作反复失败解决办法
  3. 精益产品开发体系最佳实践及原则
  4. 2019 9月 月末总结
  5. Android动态logo,Android模仿拉勾网logo动画效果
  6. 开发工具 -- gcc编译器使用
  7. window11下VC6复活记
  8. matlab 调整灰度,matlab灰度变换函数
  9. 大数据的处理是怎样的过程
  10. 电脑计算机安全模式在哪,电脑怎么进入安全模式? 进入安全模式详细教程