最小二乘法 来龙去脉
版权声明:本文为博主原创文章,未经博主允许不得转载。
目录(?)[+]
- 最小二乘的背景
- 举个最简单的例子理解最小二乘
- 最小二乘的cost function
- 最小二乘法的求解
- 矩阵表达形式
- 注意事项
最小二乘是每个上过大学的同学都接触过的概念与知识点(当然可能纯文科的同学没接触过,但是一般纯文科的同学也不会看这篇文章好像)。最小二乘理论其实很简单,用途也很广泛。但是每次说到最小二乘,总感觉差了点什么似的,好像对于最小二乘的前世今生没有一个特别详细与系统的了解。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 应该使计算出来的函数曲线与观察值的差的平方和最小。用数学公式描述就是:
其中,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了。
样本的回归模型很容易得出:
现在需要确定β 0 、β 1 ,使cost function最小。学过高数的同志们都清楚,求导就OK。对于这种形式的函数求导,so easy,so happy…
将这两个方程稍微整理一下,使用克莱姆法则,很容易求解得出:
因为求和符号比较多,省略了上标与下标。
根据这个公式,就可以求解出相应的参数。
对应上面的身高体重关系的例子,我们只需要将采样得到的数据,一一代入即可求解。
5.矩阵表达形式
如果我们推广到更一般的情况,假如有更多的模型变量x 1 ,x 2 ,⋯,x m (注意:x 1 是指 一个样本,x 1 是指样本里的一个模型相关的变量),可以用线性函数表示如下:
对于n个样本来说,可以用如下线性方程组表示:
如果将样本矩阵x h i 记为矩阵A,将参数矩阵记为向量β ,真实值记为向量Y,上述线性方程组可以表示为:
即Aβ=Y
对于最小二乘来说,最终的矩阵表达形式可以表示为:
最后的最优解为:
6.注意事项
经典的最小二乘法使用起来够简单粗暴,计算过程也不复杂。但是一个致命的问题就是其对噪声的容忍度很低。试想一下,如果前面我们得到的总采样数据为100个,但是里面有几个大胖子,这几个大胖子就相当于不是普通人的身高-体重系数,他们就是噪声了。如果不采取一些手段对这几个噪声样本进行处理,最后计算出来的身高-体重系数肯定会比正常值要偏大。
对于噪声的处理,比如有加权最小二乘等方法,后续有时间跟大家再讲讲。
最小二乘法 来龙去脉相关推荐
- 机器学习(11)线性回归(1)理论:损失函数(含最小二乘法)、正规方程、梯度下降、回归性能评估(均方差)
目录 一.线性回归基础理论 1.定义与公式 2.线性关系(单特征与双特征) 2-1.单特征线性关系 2-2.双特征平面关系 2-3.其他线性模型 二.线性回归的损失和优化原理 1.损失函数 1.定义 ...
- 利用最小二乘法求解仿射变换参数
仿射变换的定义 仿射变换(Affine Transformation或 Affine Map),是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间. 仿射变换可以由以下基本 ...
- 在图像变换中用最小二乘法求解仿射变换参数
设原图像为f(x,y),畸变后的图像为F(X',Y'),要将F(X',Y')恢复为f(x,y),就是要找到(X',Y')坐标与(x,y)坐标的转换关系,这个转换关系称为坐标变换,表示为(x,y)=T( ...
- [原创] 如何追踪每一笔记录的来龙去脉:一个完整的Audit Logging解决方案—Part I...
一.提出问题 在开发一个企业级 应用的时候,尤其在一个涉及到敏感数据的应用,比如财务系统.物流系统,我们往往有这样的需求:对于数据库中每一笔数据的添加.修改和删除,都需要有一个明确的日志,以便我们可以 ...
- 最小二乘法的本质是什么?
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:深度学习与计算机视觉 作者:梨梨喵 https://ww ...
- matlab最小二乘法参数辨识,基于最小二乘法的MATLAB辨识仿真实验
<工业控制计算机>2013 年第 26 卷第 7 期基于最小二乘法的 MATLAB 辨识仿真实验 崔秀美 刘文杰 陈 澄 (苏州大学机电工程学院,江苏 苏州 215021) Experim ...
- 3D曲面重建之移动最小二乘法
本文我们思考这样一个问题:如何在一组逐点值的给定域上估计该域的一般函数? 这种估计对于给定域上PDE数值的求解,根据扫描数据进行表面重建,或者理解采集到数据的数据结构都有所帮助.下面介绍几种常见的最小 ...
- 最小二乘法、迭代优化、坐标轴下降法(Coordinate Descent, CD)、坐标下降和梯度下降对比、梯度下降法/最速下降法
最小二乘法.迭代优化.坐标轴下降法(Coordinate Descent, CD).坐标下降和梯度下降对比.梯度下降法/最速下降法 目录
- 最小二乘法+牛顿法+拟牛顿法+梯度下降法+梯度上升法+共轭梯度法
最小二乘法+牛顿法+拟牛顿法+梯度下降法+梯度上升法+共轭梯度法 最小二乘法+牛顿法+拟牛顿法+梯度下降法+梯度上升法+共轭梯度法 上述几种方法,除了最小二乘法是直接使用公式取得之外,另外几种方法都是 ...
- 最小二乘法MSE 梯度下降法
为什么要比较这两种方法呢?很多人可能不知道,我先简单的介绍一下 机器学习有两种,一种是监督学习,另一种是非监督学习.监督学习就是我告诉计算机你把班上同学分个类,分类标准是按照性别,男生和女生:非监督分 ...
最新文章
- Juniper SRX IPsec *** base route CLI
- android usb设备节点_(五)树莓派3开发环境搭建——6.树莓派USB与tty串口号绑定...
- 2020-2021年度第二届全国大学生算法设计与编程挑战赛(春季赛)【部分题题解】
- tomee_一罐将其全部统治:Apache TomEE + Shrinkwrap == JavaEE引导
- string contains不区分大小写_String基础复习
- JDK,JRE,JVM三者关系
- python项目开发实例-有趣的十个Python实战项目,让你瞬间爱上Python!
- bootstrap源码学习:辅助(1)
- selenium+python3+excel测试框架
- 小D课堂 - 新版本微服务springcloud+Docker教程_5-03 feign结合hystrix断路器开发实战上...
- VS2010:外部依赖目录错误,怎么办
- VNC方式连接树莓派
- java中的测试类_java中测试类的方法
- linux svnadmin,linux安装centos7.5基于SVN+Apache+svnadmin实现SVN的web管理
- 分布式数据库BLP安全模型介绍
- 08cms房产门户系统源码V8.6.1多城市版
- 高等数学学习笔记——第六十八讲——隐函数存在定理
- 爬虫36计之1.1 爬取高清MM图片壁纸
- 【Unity】StreamingAssets和PersistentData文件夹
- matlab生成任意区间的随机数