最小二乘法

1、概述

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

  • 最小二乘法还可用于曲线拟合。对于平面中的这n个点,可以使用无数条曲线来拟合。要求样本回归函数尽可能好地拟合这组值。综合起来看,这条直线处于样本数据的中心位置最合理。
    选择最佳拟合曲线的标准可以确定为:使总的拟合误差(即总残差)达到最小
  • 最小二乘法也是一种优化方法,求得目标函数的最优值。并且也可以用于曲线拟合,来解决回归问题。回归学习最常用的损失函数是平方损失函数,在此情况下,回归问题可以著名的最小二乘法来解决。

简而言之,最小二乘法同梯度下降类似,都是一种求解无约束最优化问题的常用方法,并且也可以用于曲线拟合,来解决回归问题。

监督学习中,如果预测的变量是离散的,我们称其为分类(如决策树,支持向量机等),如果预测的变量是连续的,我们称其为回归。

最小二乘法处理的一般模型表达式如下:
在这里插入图片描述
视问题复杂度而定x取几次方。这里可能有人有疑问,最小二乘不是处理线性问题吗?怎么 x^n都出来了?

注意,我们的目的是求取一个非线性方程,但当我们用最小二乘求解时,我们针对的是θ变量,而不是x ,也就是说,机器学习中,这里的x 是输入,是已知量,y 是输出,是预测量, θ 才是我们要学习的变量,所以这还是一个线性问题

2、定义误差

当然是真实值与拟合值的差
在这里插入图片描述
但为啥要平方(2范数)呢?绝对值(1范数)不可以吗?

因为误差是长度,还要取绝对值,计算起来麻烦,就干脆用平方来代表误差。而且平方要比绝对值更能得到最短距离,即使得误差最小化,也就是更能使得拟合函数逼近真实函数。

2.1怎样最小化误差

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 什么情况下能用这矩阵形式求解

从上面的最后一个式子可以看出,只有当矩阵 X T X X^T X XTX可逆时,该式才成立,最小二乘法则可用,也就是说无法用直接求一阶导数方式,计算出最优解,这时就需要用梯度下降法来迭代逼近最优解。

2.3直线拟合最小二乘法

在这里插入图片描述
在这里,最小二乘法就是求解Q 的最小值,因为误差Q 最小,对应θ 值最优;所有我们将上式看成一个Q 关于θ 变量的函数,问题转成一个求极小值问题:
在这里插入图片描述
在这里插入图片描述

3、和梯度下降法比较

最小二乘法跟梯度下降法都是通过求导来求损失函数的最小值, 首先它们都是机器学习中,计算问题最优解的优化方法,但它们采用的方式不同,前者采用暴力的解方程组方式,直接,简单,粗暴,在条件允许下,求得最优解;而后者采用步进迭代的方式,一步一步的逼近最优解。实际应用中,大多问题是不能直接解方程求得最优解的,所以梯度下降法应用广泛。

最小二乘法和梯度下降法在线性回归问题中的目标函数是一样的(或者说本质相同),都是通过最小化均方误差来构建拟合曲线。

二者的不同点可见下图(正规方程就是最小二乘法):
在这里插入图片描述
需要注意的一点是最小二乘法只适用于线性模型(这里一般指线性回归);而梯度下降适用性极强,一般而言,只要是凸函数,都可以通过梯度下降法得到全局最优值(对于非凸函数,能够得到局部最优解)。

梯度下降法只要保证目标函数存在一阶连续偏导,就可以使用。

4、最小二乘法与正态分布

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

最小二乘法多项式曲线拟合原理与实现

概念 最小二乘法多项式曲线拟合,根据给定的m个点,并不要求这条曲线精确地经过这些点,而是曲线yf(x)的近似曲线y φ(x)。 原理 [原理部分由个人根据互联网上的资料进行总结,希望对大家能有用] 给定数据点pi(xi,yi),其中i1,2,…,m…

最小二乘法曲线拟合以及Matlab实现

最小二乘法曲线拟合以及Matlab实现 在实际工程中,我们常会遇到这种问题:已知一组点的横纵坐标,需要绘制出一条尽可能逼近这些点的曲线(或直线),以进行进一步进行加工或者分析两个变量之间的相互关系。而获…

最小二乘法(least squares)的曲线拟合(curve fitting)

第三十八篇 最小二乘法的曲线拟合 如果我们想得到一个通过大量由实验或者计算机程序获得的数据点的函数,它实际是在寻找一个“最适合”数据的函数,而不是一个完全经过所有点。可以采用各种策略来最小化各个数据点之间的误差和逼近函数。其中最著名的是最小二乘法,它…

曲线拟合——最小二乘法( Ordinary Least Square,OLS)

文章目录 前言一、曲线拟合是什么?二、最小二乘法是什么?三、求解最小二乘法(包含数学推导过程)四、使用步骤1.引入库2.读入数据 总结 前言 随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都…

最小二乘法进行曲线拟合

工作需求,这里记录一下数值插值和数值分析方面的算法,希望和大家一起进步。 曲线拟合的最小二乘定义 求一条曲线,使数据点均在离此曲线的上方或下方不远处,所求的曲线称为拟合曲线, 它既能反映数据的总体分布,又不至于出现局部较大的波动,更能反映被逼…

最小二乘法的曲线拟合

最小二乘法解决的问题:AxC 无解下的最优解 例子1: 一条过原点的直线OA,C是直线外一点,求C在OA上的投影点P 例子1 例子2: 已知三个不在一条直线上的点A,B,C,求一条直线,使A,B,C到直线的距离和最小…

最小二乘法曲线拟合

最小二乘法曲线拟合以及Matlab实现 在实际工程中,我们常会遇到这种问题:已知一组点的横纵坐标,需要绘制出一条尽可能逼近这些点的曲线(或直线),以进行进一步进行加工或者分析两个变量之间的相互关系。而获…

chatgpt赋能python:Python中输出的完整指南

Python中输出的完整指南 在Python中进行编程,输出是至关重要的一部分。它可用于在命令行界面或Web应用程序中显示结果、数据操作等。Python具有各种输出方法,包括print语句,文件和日志记录。在本文中,我们将深入研究Python中输出…

机器视觉康耐视智能相机Insight-手眼标定详细步骤

(Q有答疑)康耐视VisionPro工具与脚本入门级系列教程2023 In-Sight 智能相机包含标定手眼的工具 CalibrateGrid,用手动的标定方式,即将康耐视标定片固定在运动平台上,然后手动输入电机位置坐标,要保证电机在 X 方向移动一次,Y 方向移动一次,旋转两次角度,切旋转角度差不能…

ChatGPT的4个不为人知却非常实用的小功能

今天重点介绍四个ChatGPT很实用的小功能。 一、停止生成 如果在ChatGPT输出内容的过程中,我们发现结果不是自己想要的,可以直接点击“Stop generating”按钮,这样它就会立即停止输出。 二、复制功能 在ChatGPT返回对话的右侧,有三…

SQL 插入带引号的字段

今天突然想了下给字段插入引号的SQL该怎样写,然后就百度了一下,结果看各位的结果真是云里雾里啊 ╮(╯▽╰)╭ 然后就自己本机测试了一下 O(∩_∩)O,三种数据库都可以 不知道我这样写有没有问题呢 ... 稍微介绍一下吧: 如果要向…

什么是IPSec?6000字带你详细剖析,很赞!

关注、星标公众号,精彩内容每日送达 来源:网络素材 1.IPSEC协议簇安全框架 a.IPSec简介 IPSec(Internet Protocol Security):是一组基于网络层的,应用密码学的安全通信协议族。IPSec不是具体指哪个协议&…

C++ set类成员函数介绍 (set和multiset)

目录 🤔set模板介绍: 🤔特点: 🤔set的成员函数: 😊set构造函数: 🔍代码实例: 🔍运行结果: 😊 set赋值函数&#xf…

MySQL之数据库基本查询语句

——————今天距2020年43天—————— 这是ITester软件测试小栈第80次推文 SELECT 基本查询语句 查询单个列 #查询Author表name列的值 select name from Author;查询多个列 #查询Author表id,name两列的值 select id,name from Author;查询所有列 #查询Author表所有列的信息…

泔水()

欢迎大家观看本人第一张博客 16340218 数据科学与计算机学院 目录 数学干货之不等式 均值不等式幂平均不等式柯西不等式琴生不等式证明不等式的小策略 函数法“暴力”积分法数学归纳法水货-大学感想 一、各类不等式 1.均值不等式 平方平均数 ≥ 算术平均数 ≥ 几何平均数…

【Mysql】mysql数据库的查询语句

单表查询 1、普通查询 &#xff08;1&#xff09;命令&#xff1a;select * from <表名>;//通匹 &#xff08;2&#xff09;命令&#xff1a;select <要查询的字段> from <表名>&#xff1b; 2、去重查询&#xff08;distinct&#xff09; 命令&#xff1a;…

Metasploit超详细安装及使用教程(图文版)

通过本篇文章&#xff0c;我们将会学习以下内容&#xff1a; 1、在Windows上安装Metasploit 2、在Linux和MacOS上安装Metasploit 3、在Kali Linux中使用 Metasploit 4、升级Kali Linux 5、使用虚拟化软件构建渗透测试实验环境 6、配置SSH连接 7、使用SSH连接Kali 8、配…

基于深度学习的高精度汽车自行车检测识别系统(PyTorch+Pyside6+模型)

摘要&#xff1a;基于深度学习的高精度汽车自行车检测识别系统可用于日常生活中检测与定位汽车自行车目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的汽车自行车目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目…

Kotlin笔记(零)简介

百度百科简介 2017年&#xff0c;google公司在官网上宣布Kotlin成为Android的开发语言&#xff0c;使编码效率大增。Kotlin 语言由 JetBrains 公司推出&#xff0c;这是一个面向JVM的新语言 参考资料 官网&#xff1a;https://kotlinlang.org/中文官网&#xff1a;https://w…

【测试基础02】

测试基础02 一、HTML基础二、Python导入三方模块三、安装webgrock驱动四、元素定位(1)、元素定位工具(2)、元素定位方式(3)、XPATH路径(3)、CSS选择器 五、Selenium WebDriver初步应用(1)、基本方法(2)、测试案例1(3)、测试案例2(3)、测试案例3 六、获取元素信息的方法七、fram…