普通最小二乘法的推导证明

普通最小二乘法的推导证明最小二乘法1、什么是最小二乘思想?​简单地说,最小二乘的思想就是要使得观测点和估计点的距离的平方和达到最小.这里的“二乘”指的是用平方来度量观测点与估计点的远近(在古汉语中“平方”称为“二乘”),“最小”指的是参数的估计值要保证各个观测点与估计点的距离的平方和达到最小。从这个上也可以看出,最小二乘也可用于拟合数据模型。2.最小二乘法推导​我们以最简单的一元线性

大家好,又见面了,我是你们的朋友全栈君。

最小二乘法

1、什么是最小二乘思想?

​ 简单地说,最小二乘的思想就是要使得观测点和估计点的距离的平方和达到最小.这里的“二乘”指的是用平方来度量观测点与估计点的远近(在古汉语中“平方”称为“二乘”),“最小”指的是参数的估计值要保证各个观测点与估计点的距离的平方和达到最小。从这个上也可以看出,最小二乘也可用于拟合数据模型。

2. 最小二乘法推导

​ 我们以最简单的一元线性模型来解释最小二乘法。什么是一元线性模型呢? 监督学习中,如果预测的变量是离散的,我们称其为分类(如决策树,支持向量机等),如果预测的变量是连续的,我们称其为回归。回归分析中,如果只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。对于二维空间线性是一条直线;对于三维空间线性是一个平面,对于多维空间线性是一个超平面…

​ 对于一元线性回归模型, 假设从总体中获取了 n n 组观察值
X1Y1

X 1 Y 1
X2Y2 ( X 2 , Y 2 )
…, XnYn ( X n , Y n ) 。对于平面中的这 n n 个点,可以使用无数条曲线来拟合。要求样本回归函数尽可能好地拟合这组值。综合起来看,这条直线处于样本数据的中心位置最合理。
​ 选择最佳拟合曲线的标准可以确定为:使总的拟合误差(即总残差)达到最小。有以下三个标准可以选择:

​ (1)用“残差和最小”确定直线位置是一个途径。但很快发现计算“残差和”存在相互抵消的问题。

​ (2)用“残差绝对值和最小”确定直线位置也是一个途径。但绝对值的计算比较麻烦。

​ (3)最小二乘法的原则是以“残差平方和最小”确定直线位置。用最小二乘法除了计算比较方便外,得到的估计量还具有优良特性。这种方法对异常值非常敏感。

​ 最常用的是普通最小二乘法( Ordinary Least Square,OLS):所选择的回归模型应该使所有观察值的残差平方和达到最小。

公式推导

​ 1 拟合直线:
y=a+bx

y = a + b x

​ 2 有任意观察点 (xi,yi) ( x i , y i )

​ 3 误差为 di=yi(a+bxi) d i = y i − ( a + b x i )

​ 4 当 D=ni=1d2i=0 D = ∑ i = 1 n d i 2 = 0 取值最小时,直线拟合度最高。

​ 5 D=ni=1d2i=ni=1(yiabxi)2 D = ∑ i = 1 n d i 2 = ∑ i = 1 n ( y i − a − b x i ) 2 , 对 a,b a , b 分别求一阶偏导:

Da=i=1n2(yiabxi)(1) ∂ D ∂ a = ∑ i = 1 n 2 ( y i − a − b x i ) ∗ ( − 1 )

Db=2i=1n(yiabxi)(xi)=2(i=1nxiyiai=1nxibi=1nx2i) ∂ D ∂ b = 2 ∑ i = 1 n ( y i − a − b x i ) ( − x i ) = − 2 ( ∑ i = 1 n x i y i − a ∑ i = 1 n x i − b ∑ i = 1 n x i 2 )

这里写图片描述

求和性质

求和性质,具体可以参考Introductory Econometrics A Modern Approach (Fourth Edition) 一书(计量经济学导论,第4版,杰弗里·M·伍德里奇 著)的附录A

这里写图片描述

这里写图片描述

一般形式

有了上述推导证明,普通最小二乘法一般形式可以写成(字母盖小帽表示估计值,具体参考应用概率统计):

y=β1x+β0 y = β 1 x + β 0 的普通最小二乘解为:

这里写图片描述

多元线性回归

这里写图片描述

最小二乘法和梯度下降法有哪些区别?

最小二乘法的目标:求误差的最小平方和,对应有两种:线性和非线性。线性最小二乘的解是closed-form即 x=(ATA)1ATb x = ( A T A ) − 1 A T b ,而非线性最小二乘没有closed-form(即 (ATA) ( A T A ) 没有可逆矩阵),通常用迭代法求解。

迭代法,即在每一步update未知量逐渐逼近解,可以用于各种各样的问题(包括最小二乘),比如求的不是误差的最小平方和而是最小立方和。

梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。高斯-牛顿法是另一种经常用于求解非线性最小二乘的迭代法(一定程度上可视为标准非线性最小二乘求解方法)。

还有一种叫做Levenberg-Marquardt的迭代法用于求解非线性最小二乘问题,就结合了梯度下降和高斯-牛顿法。

所以如果把最小二乘看做是优化问题的话,那么梯度下降是求解方法的一种, x=(ATA)1ATb x = ( A T A ) − 1 A T b 是求解线性最小二乘的一种,高斯-牛顿法和Levenberg-Marquardt则能用于求解非线性最小二乘。

莱文贝格-马夸特方法(Levenberg–Marquardt algorithm)能提供数非线性最小化(局部最小)的数值解。此算法能借由执行时修改参数达到结合高斯-牛顿算法以及梯度下降法的优点,并对两者之不足作改善(比如高斯-牛顿算法之反矩阵不存在或是初始值离局部极小值太远)

然后Levenberg-Marquardt方法的好处就是在于可以调节:

如果下降太快,使用较小的λ,使之更接近高斯牛顿法

如果下降太慢,使用较大的λ,使之更接近梯度下降法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145280.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月17日 下午7:00
下一篇 2022年5月17日 下午7:00


相关推荐

  • vue源码解读1

    vue源码解读1

    2021年6月5日
    87
  • Fedora 12 yum源 (很快)[通俗易懂]

    Fedora 12 yum源 (很快)[通俗易懂]新建一个文件,命名为sjtu.repo输入如下代码:[Fedora-ftp.sjtu.edu.cn]name=Fedora10-i386baseurl=http://ftp.sjtu.edu.cn/fedora/linux/releases/10/Fedora/i386/os/enabled=1gpgcheck=0gpgkey=file:///etc/pki/

    2025年11月21日
    9
  • Java面试题总结(附答案)「建议收藏」

    Java面试题总结(附答案)「建议收藏」2012年毕业,2016年转行,没有一个体面的工作,机缘巧合之下,来到了大连,Java培训,一个全新的领域,迷茫、困惑、漫无目的的努力,转行真的被歧视,真的不行吗?我命由我不由天,我觉得我行!相信我,只要你足够努力,总有成为架构师,独挡一面的一天。最近参加了一些面试,效果不是很理想,项目介绍只有大框,没有突出重点,没有项目中的具体细节,因为都是看的B站视频,实际工作中都是在做重复的CRUD工作,愁人啊。618买的新书塑料还没拆!视频计划已经执行到第二篇了!熬夜学习,是刻苦奋斗还是自欺欺人?面试

    2022年7月18日
    21
  • cdn加速 免备案_免备案cdn国内节点

    cdn加速 免备案_免备案cdn国内节点不备案可以进行CDN加速吗?既然探讨这个问题,我们就得先谈一下什么是CDN加速。内容传递网路(英语:ContentDeliveryNetwork或ContentDistributionNetwork,缩写:CDN)是指一种透过互联网互相连接的电脑网路系统,利用最靠近每位使用者的伺服器,更快、更可靠地将音乐、图片、影片、应用程式及其他档案传送给使用者,来提供高效能、可扩展性及低成本的网路内容传递给使用者。目的:解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、..

    2025年10月24日
    5
  • CSS自定义鼠标指针样式「建议收藏」

    CSS自定义鼠标指针样式「建议收藏」还记得Web1.0时代的那些苦逼岁月吗?你想尽一切办法来优化你的网站.还要饱受IE6惨无人道的虐待,举个栗子,IE中那些害死人不偿命的滚动条,我一直记得第三方类库CometCursor.CometCursor非常强悍,主要用来创建和加载自定义鼠标光标样式。现在可能你会觉得当初的那些实现手段特别老土,但有时又确实需要定制一下光标图案,那么一起来看看CSS怎么实现吧,It’sSoEasy,哪里不会点哪里!

    2022年5月20日
    33
  • 用Java实现MD5加盐

    用Java实现MD5加盐1 盐是什么一串随机数 2 为什么要加盐只要明文相同 那么 MD5 加密后的密文就相同 于是攻击者就可以通过撞库的方式来激活成功教程出明文 加盐就是向明文中加入随机数 然后在生成 MD5 这样一来即使明文相同 每次生成的 MD5 码也不同 如此就加大了暴力激活成功教程的难度 3 java 实现 packagemd5 importjava security MessageDiges importjava s

    2026年3月20日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号