最小二乘法原理和推导过程「建议收藏」

最小二乘法原理和推导过程「建议收藏」对于有误差的统计值,我们一般都是采用均值作为使用值。但是这种使用均值代替的方式是不是合理?为什么不用中位数、几何平均数什么的?这需要一个解释。1.什么是二乘?对于一列数字,比如10.1、…

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

对于有误差的统计值,我们一般都是采用均值作为使用值。但是这种使用均值代替的方式是不是合理?为什么不用中位数、几何平均数什么的?这需要一个解释。

1.什么是二乘?

对于一列数字,比如10.1、10.3、9.7、9.9、10.5来说,我们要采用一个数字Y来替代他们。要求是这些数与Y的差异要达到最小。在数学上就是:

最小二乘法原理和推导过程「建议收藏」

但是数学上对于求绝对值比较排斥,一般直接采用求平方代替。也就是二乘的来源

最小二乘法原理和推导过程「建议收藏」

        那么我们要计划使用的值Y就是关于e的一元函数,也就是说不同的Y,对我们的e都有影响,而我们要想e最小,就让Y的偏导数为0,也就是:

最小二乘法原理和推导过程「建议收藏」

    得到Y为:

最小二乘法原理和推导过程「建议收藏」

这样是说最小二乘法得到Y值就是平均数;

2.最小二乘的推广

通过上边的分析,我们可以得出最小二乘法的数学表达式的推广模式:

最小二乘法原理和推导过程「建议收藏」

其中fx是待探索的期望函数,yi表示真实数据。要是函数e最小,则让e对fx的偏导数等于0,如果fx为一个多元函数,那么将其带入。然后分步求导,并让其在各个变量上的偏导数为0,然后得出fx的真实表达式。

3.对于一般线性方程的二乘法学习

我们假设要探索的函数方程为:

最小二乘法原理和推导过程「建议收藏」

那么:

最小二乘法原理和推导过程「建议收藏」

要使得e的值达到最小,已知x和yi,对于k和b来说采用不同的值,e的值会有不同的变化,那么我们使用e对k和b分别求偏导数。

最小二乘法原理和推导过程「建议收藏」

最小二乘法原理和推导过程「建议收藏」

然后计算一下(痛苦的过程,别问我怎么知道使用求和性质的,我是百度的,我也不知道这个东西);

最小二乘法原理和推导过程「建议收藏」

从另外一个角度思考,对于很多数据来说他们肯定落在一个区域内。通过上述分析,最小二乘法能够得出这些点的误差最小点。那么这些点与这个标志点的距离就可以形成一种分布概率密度函数(曲面),那么曲面的顶点对应的映射点按理就是这个标志点。也就是说概率密度函数在该点的偏导数为0,伟大的数学家高斯通过计算证明了这一点,从而奠定了最小二乘法的权威地位。

最小二乘法原理和推导过程「建议收藏」

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java葵花宝典(一)

    Java葵花宝典(一)1.面向对象和面向过程的区别面向过程:是以事件为中心,按照我们编写的代码,根据完成步骤的过程来执行的优点:面向过程性能比面向对象高。因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要考量的因素的时候,比如单片机开发,嵌入式开发,Linux一般采用面向过程开发缺点:没有面向对象易维护、易复用、易扩展面向对象:将事物高度抽象化,我们把要完成的功能高度抽象成一个个对象,调用对象的方法或者属性来完成所需功能优点:易维护、易复用、易扩展。因为面向对象有封装、继承、多态的特性,所以可以设计

    2022年7月8日
    38
  • python 入门学习—模块导入三种方式及中文凝视

    python 入门学习—模块导入三种方式及中文凝视

    2022年1月20日
    58
  • Linux下对MySql数据库备份与恢复

    Linux下对MySql数据库备份与恢复MySQL命令行导入数据库:1,将要导入的.sql文件移至bin文件下,这样的路径比较方便2,同上面导出的第1步3,进入MySQL:mysql-u用户名-p如我输入的命令行:mysql-uroot-p (输入同样后会让你输入MySQL的密码)4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库5,输入:mysq

    2022年5月5日
    115
  • pycharm远程部署_pycharm 远程调试

    pycharm远程部署_pycharm 远程调试在这之前你要确保服务器上已经创建好虚拟环境你本地已经安装好pycharm1创建本地文件远程服务器上已经有一个文件了。现在你在本地创建一个同名文件。服务器上的虚拟环境为DrQA,所以我在本地新建一个DrQA空文件夹。2用pycharm打开空项目3配置服务器的解释器左上角File→Setting→projectxxx→pythoninterpreter点右上角的小齿轮,然后点add选择SSHInterpreter,然后在上边填上服务器的地址、usernam

    2025年6月29日
    5
  • javabean总结

    javabean总结

    2021年11月30日
    40
  • currentstyle 织梦_织梦arclist标签支持高亮currentstyle属性方法

    currentstyle 织梦_织梦arclist标签支持高亮currentstyle属性方法找到include/taglib/arclist.lib.php第一步:查找:$channelid=$ctag->GetAtt(‘channelid’);替换:$channelid=$ctag->GetAtt(‘channelid’);$currentstyle=$ctag->GetAtt(‘currentstyle’);第二步:查找:$ct…

    2022年7月14日
    15

发表回复

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

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