首页 > 其他分享 >杂谈篇:深度理解最小二乘

杂谈篇:深度理解最小二乘

时间:2024-12-11 13:30:56浏览次数:5  
标签:杂谈 残差 最小 似然法 拟合 乘法 二乘 式子

  • 前言

        最近笔者在学习过程中经常使用到误差平差原理相关的知识,所以写这篇文章来回忆一下平差的最深层原理,也就是最小二乘法。

二.最小二乘法的一些应用

2.1最小二乘法与线性回归

       之前我有文章写过线性回归的相关内容,而它是基于最小二乘法原理进行的。

       首先,我们要定义一个量,残差。它是目前的数值y与要拟合的数值y帽的差值,用数学公式表达即:

其中,我们要拟合的是一条直线,所以式子可以变为下面形式:

如果拟合出的参数W越好,那拟合值和真实值差距(也就是残差)就越小。这里就引出了最小二乘法的损伤函数:

       这里也可以看成是残差的平方,平方是因为残差有正有负,为了消除符号的影响引入的。当L最小时,W也就最优。

       L对W求偏导,然后计算L对应的最小的W如下所示:

2.2最小二乘法和测量平差(没兴趣读者可以跳过)

       测量平差理论中,把残差叫做改正数v,并且给出下列公式:

       它的意思是,真实值等于测量值加改正数。其实真实值我们永远也无法得到,所以这里的真实值,我们可以大致理解成最后拟合出来的,质量比较好的值。

       之后,我们假设L帽是有一个线性关系:

       再引入下面两个式子:

       整理式子得到最终要优化的式子:

       这个时候,就对应线性拟合中的残差方程。代入最小二乘法的解析式子得到:

三.最小二乘法与最大似然法

3.1最大似然法

       最大似然法是已经知道当前数据下的大分布(最小二乘法假设残差的分布是正态分布,所以我们这里就统一分布为正态分布),并且已经得到各个数据的值,随后用这些值估计这个概率分布的最优参数的方法。

       如,假设我们有n个数据:

       由于它们直接的分布是独立的,所以可以得到:

       之后用特点的方法就可以得到最优的参数θ。

3.2最小二乘法公式推导

       我们假设,线性的式子如下:

       由于总有误差,所以假设真实的方程为:

       其中e服从正态分布,即:

       所以,关于e的方程为:

       根据最大似然法,我们得到下面式子:

       通过取对数等操作,得到式子如下:

       由于σ并不依赖于x,所以最终式子为:

       这就是最小二乘法。或者是,最小二乘法是分布为正态分布的最大似然法。

四.结语

       最小二乘法估计在我们的生活中无处不在,特别是工程中,它可以说是最基础的方法之一。

       另外最小二乘法与投影有一定的关系,但是与笔者的专业没有太大重叠空间,所以这里不细讲。

标签:杂谈,残差,最小,似然法,拟合,乘法,二乘,式子
From: https://blog.csdn.net/flyless_sparrow/article/details/144398276

相关文章

  • 代码随想录day14 | leetcode 226.翻转二叉树 101. 对称二叉树 104.二叉树的最大深度 1
    226.翻转二叉树前序和后序写法都可以我用的是前序错误写法classSolution{publicTreeNodeinvertTree(TreeNoderoot){if(root==null)returnnull;swap(root.left,root.right);invertTree(root.left);invertTree(root.r......
  • hal库点亮stm32f103c8t6最小板自带小灯
    hal库点亮stm32f103c8t6最小板自带小灯1.打开STM32CubeMX2.点击创建最小工程3.输入STM32F103C8T6,选中此芯片4.搜索框里面搜索PC13,这个是最小板上面自带的5.设置引脚模式6.创建命名工程,然后选择纯英文路径7.选择版本8.基本小配置9.生成工程代码,并打开......
  • 最小生成树算法(Prim算法 + Kruskal算法)
    最小生成树(MST)算法完整版万字原文见史上最全详解图数据结构加权无向图中,最小生成树是一个包含图中所有节点的子图树———>包含图中所有节点最小———>树中的边权之和最小1.Prim算法(最小生成树)算法原理:1.贪心算法2.从一个起始点开始,逐步选择与当前......
  • 图常见算法大全( 三种遍历算法 + 三种最短路径算法 + 两种最小生成树)
    图的经典算法完整版万字原文见史上最全详解图数据结构一、图的遍历算法1.voidDFS(intstartVertex);2.voidBFS(intstartVertex);3.voidTopologicalSort();(两种实现方式)1.DFS(深度优先搜索)算法原理是一种用于遍历或搜索图(包括树)中节点的算法。其基本思想......
  • 「Mac玩转仓颉内测版48」小学奥数篇11 - 最大公约数与最小公倍数
    本篇将通过Python和Cangjie双语实现最大公约数(GCD)和最小公倍数(LCM)的计算。这个题目帮助学生理解如何运用数学算法,并将其与编程实现结合。关键词小学奥数Python+Cangjie最大公约数(GCD)最小公倍数(LCM)一、题目描述编写一个程序,接收两个正整数,计算并输出它们的最大公......
  • 力扣746 使用最小花费爬楼梯
    问题描述:给你一个整数数组cost,其中cost[i]是从楼梯第i个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为0或下标为1的台阶开始爬楼梯。请你计算并返回达到楼梯顶部的最低花费。示例一:输入:cost=[10,15,20]输出:15......
  • 最小栈算法
    介绍        最小栈,即具有栈的基本功能,同时可以用O(1)的时间复杂度取出栈中最小值题目链接:155.最小栈-力扣(LeetCode)设计一个支持push,pop,top操作,并能在O(1)时间内检索到最小元素的栈。实现MinStack类:MinStack()初始化堆栈对象。voidpush(intval)......
  • 最大值,最小值,平均值(C语言)
    今天来做一道比较经典的题目求最大值,最小值和平均值,常用于信息统计;以成绩为例:输入n科成绩(浮点数表示),统计其中的最高分,最低分以及平均分。数据范围:1≤n≤100 1≤n≤100  ,成绩使用百分制且不可能出现负数一般要用到数组,选择和循环语句原理:数组存储数据通过循环遍历数......
  • 职场杂谈之认清职场“草台班子”的真相后,我们该怎么办?
    工作一段时间后,你可能会发现职场中一下现象频繁。比如:有的同事,偷奸耍滑,浑水摸鱼,但是他能轻易的得到领导的青睐,升职加薪,如鱼得水。而有的同事踏实肯干,诚实守信,往往拿最低的工资,干最累的活儿,劳而无功、徒增辛苦。有的领导,能力平平,溜须拍马,但他三言两语就取得了老板的信任,平步青......
  • 746. 使用最小花费爬楼梯
    题目如下:https://leetcode.cn/problems/min-cost-climbing-stairs/?envType=study-plan-v2&envId=dynamic-programming思路:动态规划Java代码如下:`importjava.util.Scanner;classSolution{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(Syst......