怎样理解最小二乘法原理及其用途
最小二乘法的本质原理
http://blog.sina.com.cn/s/blog_5e6614220101ks63.html
本文主要以最简单的二元线性函数为基础,阐述最小二乘法的原理,事实上,最小二乘法可以更广泛地应用于非线性方程中,但本文以介绍为主,希望能以最简单的形式,使读者能够掌握最小二乘法的意义。
在物理实验数据统计时,我们会记录一些数据,记做数据x和数据y。但是,在记录数据后,我们依然不知道x和y 的具体关系。例如,测算男人手掌面积和身高的关系,我们会得到两组数据,如图,
图1数据点分布
这并不是一条严格意义上的直线,但这些数据对于实验研究员来说,可以作为某种依据,从而判断出两种数据之间的关系。根据两个量的许多组观测数据来确定它们的函数曲线,这就是实验数据处理中的曲线拟合问题。
事实上,我们更关注的是如何才能找到这么一条漂亮的曲线。那么,找到这条曲线的方法称作“最小二乘法”。
曲线拟合中最基本和最常用的是直线拟合。设x和y之间的函数关系由直线方程
y=ax+b给出。
式中有两个待定参数,b代表截距,a代表斜率。下面的问题在于,如何找到“最合适”的a和b使得尽可能多的数据落在或者更加靠近这条拟合出来的直线上。即数据对这条直线的逼近程度最佳。当然,当我们将直线拟合出来之后,就可以反过来进行预测了。所以说最小二乘法是很有用的一种测算方法。
实际上,我们并不关心x和y到底是多少,因为x和y是给定的,当然x和y与其本质的内在关系之间肯定存在误差。我们关心的是方程中的a和b,也就是说,在这个待定的方程中,a和b才是所求的变量,它们可以描述出x和y的关系。 所以我们接下来的任务就是找到一组最好的a和b。
我们对a和b的要求就是,使得所有x和y相对拟合直线的误差总和最小。也就是说,我们要考虑的是,要使这些数据点距离拟合直线的和最小,距离最短,这样就可以使得尽可能多的数据成为有效点。
接下来我们的工作就是,最小化误差了。
最小二成法就此登场。
最小二乘法名字的缘由有两个,一是我们要将误差最小化,二是我们将误差最小化的方法是使误差的平方和最小化。误差最小化的原因前已述及,用误差平方和最小化来约束误差的原因是要规避负数对计算的影响。
接下来我们要做的就是使误差的平方和最小了。
对试验数据,使得最小,根据二元函数取极值,可知,
须
成立,则
联立得
接下来求解a和b,就可以了。
问题又来了,以上求极值的方法只能保证所求的点是驻点(临界点),我们知道,多元函数的驻点可以分为三类,即极小点、极大点和鞍点。
图2鞍点
图3极小点
我们至此还不能说明这就是我们要找的最优解,因为驻点有可能是极小点也有可能是鞍点或者是极大点。所以我们接下来要证明所求是满足要求的极小点。
极值点的判定
设函数,假设a不为零,则
这样,我们就把原式改写成了平方和/差的形式了。但我们还不知道到底是平方和还是平方差,这取决于平方项的系数。
下面分三种情况讨论:
若4ac-b^2<0,则二次项系数一正一负,临界点是鞍点。
若4ac-b^2=0,则只有一个平方项,这就意味着函数临界点只受到一个方向的约束,另一个方向发生了退化,不起作用了,如图,
图4 退化后的极值点
若4ac-b^2>0,这时会有两个平方项的系数都是正,此时w必能取到极值。当a>0时取极大值;当a<0时取取极小值。
由于通常情况下,我们求解释不可能有如此规范的方程形式,所以我们要引入二阶导数,再用以上方法判断临界点的类型。
(1) 二元函数的极值一定在临界点和不可导取得。对于不可导点,难以判断是否是极值点;对于驻点可用极值的充分条件判定。
(2)二元函数取得极值的必要条件: 设在点处可微分且在点处有极值,则,,即是驻点。
(3) 二元函数取得极值的充分条件:设在的某个领域内有连续上二阶偏导数,且,令,,,则
当且 A<0时,f为极大值;
当且A>0,f为极小值;
时,是鞍点;
当B2-AC = 0时,函数z = f (x, y)在点可能有极值,也可能没有极值,这里不做讨论了。
最后,我们将原始方法和二阶导方法做一个联系,事实上,二阶导的方法是原始方法的进化版本。
对求导,得
将求二阶导方法中的A、B、C与原始方法中的a、b、c建立联系,得
A=2a
B=b
C=2c
从而得到AC=4ac-b^2,可见两种方法等效。
图1数据点分布
这并不是一条严格意义上的直线,但这些数据对于实验研究员来说,可以作为某种依据,从而判断出两种数据之间的关系。根据两个量的许多组观测数据来确定它们的函数曲线,这就是实验数据处理中的曲线拟合问题。
事实上,我们更关注的是如何才能找到这么一条漂亮的曲线。那么,找到这条曲线的方法称作“最小二乘法”。
图2鞍点
图3极小点
我们至此还不能说明这就是我们要找的最优解,因为驻点有可能是极小点也有可能是鞍点或者是极大点。所以我们接下来要证明所求是满足要求的极小点。
怎样理解最小二乘法原理及其用途相关推荐
- 拉格朗日插值最小二乘法原理简述
最小二乘法简述及推导,转自:点击打开链接 经常做物理实验的同学应该会有这样的体会,我们经常需要将实验收集得来的数据标注在一个坐标平面之上,形成一系列离散的点,然后用一条平滑的曲线近似地将这些点连在一起 ...
- 深入理解浏览器原理和架构|硬核
本文用47张图带你了解「浏览器的发展史」.「浏览器的架构」.「浏览器的基本原理」以及 「浏览器的其它小知识」 ???? 正文开始 浏览器的主要功能就是向服务器发出请求,在浏览器窗口中展示HTML文档. ...
- 最小二乘法原理、推导和运用
原理部分: 如何理解最小二乘法? 原文查看:https://www.matongxue.com/madocs/818.html 下文是推到部分: 原文:https://blog.csdn.net/ ...
- 深入理解PHP原理之变量分离/引用(Variables Separation)
引自: http://www.laruence.com/ [风雪之隅 ] 在前面的文章中我已经介绍了PHP的变量的内部表示(深入理解PHP原理之变量(Variables inside PHP)),以及 ...
- 深入理解PHP原理之变量作用域
作者:laruence(http://www.laruence.com/) 地址: http://www.laruence.com/2008/08/26/463.html ...
- 深入理解PHP原理之变量(Variables inside PHP)
或许你知道,或许你不知道,PHP是一个弱类型,动态的脚本语言.所谓弱类型,就是说PHP并不严格验证变量类型(严格来讲,PHP是一个中强类型语言,这部分内容会在以后的文章中叙述),在申明一个变量的时候, ...
- 深入理解 ProtoBuf 原理与工程实践(概述)
ProtoBuf 作为一种跨平台.语言无关.可扩展的序列化结构数据的方法,已广泛应用于网络数据交换及存储.随着互联网的发展,系统的异构性会愈发突出,跨语言的需求会愈加明显,同时 gRPC 也大有取代R ...
- 彻底理解Toast原理和解决小米MIUI系统上没法弹Toast的问题
彻底理解Toast原理和解决小米MIUI系统上没法弹Toast的问题 参考文章: (1)彻底理解Toast原理和解决小米MIUI系统上没法弹Toast的问题 (2)https://www.cnblog ...
- 《深入理解mybatis原理》 MyBatis缓存机制的设计与实现
本文主要讲解MyBatis非常棒的缓存机制的设计原理,给读者们介绍一下MyBatis的缓存机制的轮廓,然后会分别针对缓存机制中的方方面面展开讨论. MyBatis将数据缓存设计成两级结构,分为一级缓存 ...
最新文章
- 最新17个紫色风格网页设计作品欣赏
- MySQL 正则表达式查询
- android版本怎么设置,安卓系统手机怎么用
- python扩展库不是用于科学计算的有_有没有可以并行计算的 Python 科学计算库?...
- linux informix数据库下载,informix数据库基础下载_informix数据库基础官方下载-太平洋下载中心...
- 迅雷7核心技术Bolt界面引擎正式开放
- Jrebel 最新激活方式(2018.07.26)
- MAML论文阅读笔记--回归实验
- python中pop什么意思_python里pop是什么意思
- 程序员集体意识大爆发:996背后的深问题
- 机器学习相关职位走向
- matlab中关于变量名的规定,在MATLAB中,以下变量名命名正确的是()A:052DB:H123C:_12D:1_D...
- Neural Transducer, MoCha模型总结
- Hadoop-统计红楼梦里出现名字的次数(MapReduce学习)
- Vue 2.0的建议学习顺序(尤雨溪)
- 55、nginx rewrite
- iOS中Instrument的使用
- 基于SLAM的机器人导航避障方案
- 效应论——破窗效应(zt)
- 计算机视觉在AI中的7种应用