最小二乘法简介

最小二乘法简介

    • 1、背景描述
    • 2、最小二乘法
      • 2.1、最小二乘准则
      • 2.2、最小二乘法
    • 3、最小二乘法与线性回归
      • 3.1、最小二乘法与线性回归
      • 3.2、最小二乘法与最大似然估计
    • 4、正态分布(高斯分布)



1、背景描述


在工程应用中,我们通常会用一组观测数据去估计模型的参数,模型是我们根据经验知识预先给定的。例如,我们有一组观测数据 ( x i , y i ) (x_i,y_i) (xi,yi),通过简单分析,我们猜测y与x之间存在线性关系,那么我们的模型可以给定为:
y = k x + b y=kx+b y=kx+b

该模型只有两个参数,理论上,我们只需要通过两组观测值建立二元一次方程组即可求解。类似的,如果模型有n个参数,我们只需要n组观测值即可求解。换句话说,这种情况下,模型的参数是唯一确定解

但是,在实际应用中,由于我们的观测会存在误差(偶然误差、系统误差等),所以我们总会做更多观测。例如,在上述例子中,尽管只有两个参数,但是我们可能会观测n组数据: ( x 0 , y 0 ) 、 ( x 1 , y 1 ) 、 . . . 、 ( x n − 1 , y n − 1 ) (x_0,y_0)、(x_1,y_1)、...、(x_{n-1},y_{n-1}) (x0,y0)(x1,y1)...(xn1,yn1),这会导致我们无法找到一条直线经过所有的点,也就是说,方程无确定解
在这里插入图片描述

于是,这就是我们要解决的问题:虽然没有确定解,但是我们能不能求出近似解,使得模型能在各个观测点上达到“最佳“拟合

那么“最佳”的准则是什么?可以是所有观测点到直线的距离和最小,也可以是所有观测点到直线预测点(真实值-理论值)的绝对值和最小,还可以是所有观测点到直线预测点(真实值-理论值)的平方和最小

在这里插入图片描述

2、最小二乘法

2.1、最小二乘准则


19世纪初(1806年),法国科学家勒让德发明了“最小二乘法”。勒让德认为,让误差(真实值-理论值)的平方和最小估计出来的模型是最接近真实情形的。换句话说,勒让德认为最佳的拟合准则是使 y i y_i yi y = f ( x i ) y=f(x_i) y=f(xi)的距离的平方和最小:
L = ∑ i = 1 m ( y i − f ( x i ) ) 2 L=\sum_{i=1}^m(y_i-f(x_i))^2 L=i=1m(yif(xi))2

这个准则也被称为最小二乘准则。这个目标函数取得最小值时的函数参数,就是最小二乘法的思想,所谓“二乘”就是平方的意思

勒让德在原文中提到:使误差平方和达到最小,在各方程的误差之间建立了一种平衡,从而防止了某一极端误差取得支配地位,而这有助于揭示系统的更接近真实的状态

至于为什么最佳准则就是误差平方而不是其它的,勒让德当时并没有给出解释,直到后来高斯建立了正态误差分析理论才成功回答了该问题

在这里插入图片描述

1829年,高斯建立了一套误差分析理论,从而证明了确实是使误差(真实值-理论值)平方和最小的情况下系统是最优的

误差分析理论其实说到底就一个结论:观察值的误差服从标准正态分布,即 ϵ ∈ N ( 0 , 1 ) ϵ∈N(0,1) ϵN(0,1)

关于正态分布的介绍见本文第4节

2.2、最小二乘法


最小二乘法就是一个数学公式,在数学上称为曲线拟合,不仅包括线性回归方程,还包括矩阵的最小二乘法

最小二乘法是解决曲线拟合问题最常用的方法。令

在这里插入图片描述

其中, φ k ( x ) \varphi_k(x) φk(x)是事先选定的一组线性无关的函数, a k a_k ak是待定系数 ( k = 1 , 2 , . . . , m , m < n ) (k=1,2,...,m,m<n) (k=1,2,...,m,m<n),拟合准则是使 y i ( i = 1 , 2 , . . . , n ) y_i(i=1,2,...,n) yi(i=1,2,...,n) f ( x i ) f(x_i) f(xi)的距离 δ i \delta_i δi的平方和最小,称为最小二乘准则

百度百科词条给出的基本原理如下:

在这里插入图片描述

最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和最小

最小二乘法是一种在误差估计、不确定度、系统辨识及预测、预报等数据处理诸多学科领域得到广泛应用的数学工具

3、最小二乘法与线性回归

3.1、最小二乘法与线性回归


对于勒让德给定的最佳拟合准则,我们可以看到,最小二乘法其实就是用来做函数拟合的一种思想。至于如何求解具体的参数那就是另外一个问题了

最小二乘法的本质是一种数学思想,它可以拟合任意函数。而线性回归只是其中一个比较简单且常用的函数,所以讲最小二乘法基本都会以线性回归为例

线性回归因为比较简单,可以直接推导出解析解,而且许多非线性的问题也可以转化为线性问题来解决,所以得到了广泛的应用

线性回归简介见文章:传送门

3.2、最小二乘法与最大似然估计


最大似然估计:最大化给定样本集发生的概率,即就是极大化似然函数(Likelihood Function),而似然函数就是样本的联合概率。由于我们通常都会假设样本是相互独立的,因此联合概率就等于每个样本发生的概率乘积

假设我们有m组观测数据 ( x 1 , y 1 ) , . . . , ( x m , y m ) (x_1,y_1),...,(x_m,y_m) (x1,y1),...,(xm,ym),我们猜测其关系符合:
y = k x + b y=kx+b y=kx+b
假设真实值与预测值之间的误差为:
ε i = y i − y = y i − f ( x i ) \varepsilon_i=y_i-y=y_i-f(x_i) εi=yiy=yif(xi)
根据高斯的误差分析理论,观测值的误差服从标准正态分布(见文末),即给定一个 x i x_i xi,模型输出真实值 y i y_i yi的概率为:
p ( y i ∣ x i ) = 1 2 π e − ε i 2 2 p(y_i|x_i)=\frac{1}{\sqrt{2\pi}}e^{-\frac{\varepsilon_i^2}{2}} p(yixi)=2π 1e2εi2

则根据最大似然估计(似然函数)有:
L ( ω ) = ∏ i = 1 m p ( y i ∣ x i ) = ∏ i = 1 m 1 2 π e − ε i 2 2 L(\omega)=\prod_{i=1}^mp(y_i|x_i)=\prod_{i=1}^m\frac{1}{\sqrt{2\pi}}e^{-\frac{\varepsilon_i^2}{2}} L(ω)=i=1mp(yixi)=i=1m2π 1e2εi2

两边取对数得:
J ( ω ) = l n ( L ( ω ) ) = ∑ i = 1 m l n ( 1 2 π e − ε i 2 2 ) = ∑ i = 1 m l n 1 2 π − 1 2 ∑ i = 1 m ε i 2 J(\omega)=ln(L(\omega)) = \sum_{i=1}^mln(\frac{1}{\sqrt{2\pi}}e^{-\frac{\varepsilon_i^2}{2}}) = \sum_{i=1}^mln\frac{1}{\sqrt{2\pi}}-\frac{1}{2}\sum_{i=1}^m\varepsilon_i^2 J(ω)=ln(L(ω))=i=1mln(2π 1e2εi2)=i=1mln2π 121i=1mεi2

去掉无关常数项得:
J ( ω ) = l n ( L ( ω ) ) = − 1 2 ∑ i = 1 m ε i 2 = − 1 2 ∑ i = 1 m ( y i − f ( x i ) ) 2 J(\omega)=ln(L(\omega))=-\frac{1}{2}\sum_{i=1}^m\varepsilon_i^2=-\frac{1}{2}\sum_{i=1}^m(y_i-f(x_i))^2 J(ω)=ln(L(ω))=21i=1mεi2=21i=1m(yif(xi))2

要使 L ( ω ) L(\omega) L(ω)(概率)最大,即 J ( ω ) J(\omega) J(ω)最大,则使下面多项式结果最小即可:
∑ i = 1 m ( y i − f ( x i ) ) 2 \sum_{i=1}^m(y_i-f(x_i))^2 i=1m(yif(xi))2

上述结果表明:最大似然估计(似然函数)等价于最小二乘法,这也表明了以误差平方和作为最佳拟合准则的合理性

因此我们可以说,最小二乘法其实就是误差满足正态(高斯)分布的极大似然估计,最小化误差平方本质上等同于在误差服从正态(高斯)分布的假设下的最大似然估计

4、正态分布(高斯分布)


正态分布(Normal Distribution),也称高斯分布(Gaussian Distribution),其曲线呈钟型,两头低,中间高,左右对称,因此也被称为钟形曲线

定义:若连续型随机变量x有如下形式的密度函数:

在这里插入图片描述
则称x服从参数为 ( μ , σ 2 ) (\mu,\sigma^2) (μ,σ2)的正态分布(Normal Distribution),记为 X − N ( μ , σ 2 ) X-N(\mu,\sigma^2) XN(μ,σ2)

在这里插入图片描述

性质

  • 关于 x = μ x=μ x=μ 对称,在 x = μ x=μ x=μ 处达到最大值 1 2 π σ \frac{1}{\sqrt{2\pi}\sigma} 2π σ1,越远离 μ μ μ,密度函数值越小
  • 数学期望(均值)为 μ μ μ,标准差为 σ \sigma σ,方差为 σ 2 \sigma^2 σ2

标准正态分布:又称 μ μ μ分布,是以0为均值(数学期望)、以1为标准差的正态分布,记为 X − N ( 0 , 1 ) X-N(0,1) XN(0,1),密度函数:

在这里插入图片描述



参考文章:
https://blog.csdn.net/MoreAction_/article/details/106443383
https://blog.csdn.net/MoreAction_/article/details/121591653
https://blog.csdn.net/qq_46092061/article/details/119136137

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/241076.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于javaWeb的高校后勤报修系统的设计与实现论文

基于JavaWeb的高校后勤报修系统的设计与实现 摘 要 当下&#xff0c;正处于信息化的时代&#xff0c;许多行业顺应时代的变化&#xff0c;结合使用计算机技术向数字化、信息化建设迈进。以前学校对于后勤报修信息的管理和控制&#xff0c;采用人工登记的方式保存相关数据&…

微信小程序实现地图功能(腾讯地图)

微信小程序实现地图功能(腾讯地图) 主要功能 通过微信 API 获取用户当前位置信息 使用腾讯地图 API 将经纬度转换为地址信息 显示当前位置信息以及周围的 POI&#xff08;兴趣点&#xff09; 代码实现 index.wxml <!-- index.wxml --> <view class"container&…

oracle如何自定义自增长序号字段

在Oracle数据库中&#xff0c;你可以使用序列&#xff08;Sequence&#xff09;来实现自增长序号字段。序列是一个数据库对象&#xff0c;它生成一个唯一的数值序列。你可以使用这个序列为表中的某个字段生成自增长的序号。 以下是在Oracle中创建自定义自增长序号字段的步骤&a…

如何查看内存卡使用记录-查看的设备有:U盘、移动硬盘、MP3、SD卡等-供大家学习研究参考

主要功能 USB Viewer&#xff08;USB移动存储设备使用记录查看器&#xff09;可用于查看本机的USB移动存储设备使用记录。可查看的设备有&#xff1a;U盘、移动硬盘、MP3、SD卡……等。   可用于兵器、航空、航天、政府、军队等对保密要求较高的单位&#xff0c;可在计算机保…

Crow:Middlewares 庖丁解牛5 context

Crow:Middlewares 庖丁解牛4 partial_context-CSDN博客 基于partial_context再来解释context namespace detail {template<typename... Middlewares>struct partial_context : public pop_back<Middlewares...>::template rebind<partial_context>, public…

快手ID商品详情API:电商的新机遇

快手ID商品详情API&#xff1a;电商的新机遇 随着互联网的普及和科技的飞速发展&#xff0c;短视频已经成为人们日常生活中不可或缺的一部分。作为国内领先的短视频平台&#xff0c;快手一直致力于为用户提供优质的内容和服务。近年来&#xff0c;快手推出了ID商品详情API&…

Jmeter实现性能测试--高频率(高吞吐量)

高频率场景通常涉及系统需要在极短时间内处理大量请求或事件。这些场景可能要求系统在短时间内执行多次操作&#xff0c;例如高频率的数据更新、传感器数据采集、金融交易、实时监控等。以下是一些高频率场景的示例&#xff1a; 金融交易&#xff1a; 高频交易系统需要在极短时…

银河麒麟v10 二进制安装包 安装mysql 8.35

银河麒麟v10 二进制安装包 安装mysql 8.35 1、卸载mariadb2、下载Mysql安装包3、安装Mysql 8.353.1、安装依赖包3.2、安装Mysql3.3、安装后配置 1、卸载mariadb 由于银河麒麟v10系统默认安装了mariadb 会与Mysql相冲突&#xff0c;因此首先需要卸载系统自带的mariadb 查看系统…

7-3 最长公共子序列

7-3 最长公共子序列 一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说&#xff0c;若给定序列X<x1,x2,…,xm>&#xff0c;则另一序列Z&#xff1d;<z1&#xff0c;z2&#xff0c;…&#xff0c;zk>是X的子序列是指存在一个严格递增的下标序列…

一个简单的获取显示器长宽和显示器分辨的代码

最近在做大屏显示&#xff0c;在现显示的时候有些显示器是不规则的&#xff0c;投到大屏上显示效果不好&#xff0c;可以直接获取显示器的分辨率&#xff0c;本地调整好&#xff0c;再直接部署。 <!DOCTYPE html> <html lang"en"> <head><meta …

Java LocalDateTime转Json报错处理

在项目中LocalDateTime 进行json转换时&#xff0c;抛出序列化异常&#xff0c;查找解决方案&#xff0c;记录下来&#xff0c;方便备查。 报错信息 Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 date/time type java.time.LocalDateT…

HarmonyOS的装饰器之BuilderParam 理解

BuilderParam 装饰器 使用时间&#xff1a;当定义了一个子组件&#xff0c;并且子组件的build()中有一个布局在不同的父组件&#xff0c;实现效果不一样的时候&#xff0c;可以在子组件中用这个BuilderParam装饰器&#xff0c; 在父组件用Builder 装饰器进行实现&#xff0c;然…

IDEA——IDEA中文件内容对比功能的使用,如何快速定位看文件内容是否产生变化!!!

文件内容对比 一、对比磁盘中的某一文件二、直接对比两个文件 总结 本篇文章介绍一下如何在IDEA中对比两个文件的内容是否相同。 一、对比磁盘中的某一文件 选中一个文件&#xff0c;右键->点击Compare With 选择要对比的文件即可 二、直接对比两个文件 同时选中两个文…

一起学ros之发送图片和接收图片

图片发送&#xff1a; mkdir image_sender mkdir image_sender/src cd image_sender/src/ ros2 pkg create image_sender_py --build-type ament_python --dependencies rclpy --node-name image_sender vim image_sender_py/image_sender_py/image_sender.py 代码&#…

智能优化算法应用:基于鹈鹕算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于鹈鹕算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于鹈鹕算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鹈鹕算法4.实验参数设定5.算法结果6.参考文献7.MA…

基于Java (spring-boot)的在线考试管理系统

一、项目介绍 系统功能说明 1、系统共有管理员、老师、学生三个角色&#xff0c;管理员拥有系统最高权限。 2、老师拥有考试管理、题库管理、成绩管理、学生管理四个模块。 3、学生可以参与考试、查看成绩、试题练习、留言等功能 二、作品包含 三、项目技术 后端语言&#xff1…

RabbitMQ不公平分发与预取值

1.分发简介 RabbitMQ不设置的话默认采用轮询方式分发消息,你一个我一个(公平);但实际生活中,由于处理速度不同,若还采用轮询方式分发会导致处理速度快的空等待,因此我们采用不公平分发 2.不公平分发 在消费者这侧设置即可,以之前的Worker3和Worker4为例 2.1.Worker3 packa…

vue常用的指令

1、v-if 它其实取值就是true或者false&#xff0c;它是控制元素是否需要被渲染。 2、v-else-if 因为除了v-if这个条件可能还有别的条件。 3、v-else 它除了不满足v-if和v-else-if之后的东西。 4、v-show 它取值也是true或者false&#xff0c;其实跟样式里面display属性是…

Vue3中使用props和emits详解

前言 在Vue3中&#xff0c;父子组件之间的数据传递是一个常见的需求。本文将介绍如何在Vue3中传递对象&#xff0c;并且在子组件中访问和修改父组件对象中的属性值&#xff0c;以及子组件如何调用父组件中的方法。 在 Vue 3 中&#xff0c;父子组件之间传值有以下作用&#xf…

微信小程序开发学习(上强度):从0开始写项目

前置知识 1、配置插件 微信小程序 基础模板引入sass的两种方法_微信小程序使用sass-CSDN博客 之后在对应页面里新建一个scss文件&#xff0c;写css 2、注册小程序&#xff0c;有个自己的appid&#xff0c;不用测试号了 5.1.注册小程序账号获取appid及个人和企业版差异_哔哩…