当前位置: 首页 > news >正文

人工智能之数学基础【最小二乘法】

原理

最小二乘法由勒让德(A.M.Legendre)于1805年在其著作《计算彗星轨道的新方法》中提出,主要思想是最小化误差二次方和寻找数据的最佳匹配函数,利用最小二乘法求解未知参数,使得理论值与观测值之差(即误差,或称为残差)的二次方和达到最小,即:
E = ∑ i = 1 n ϵ i 2 = ∑ i = 1 n ( y i − y ^ ) 2 E=\sum_{i=1}^{n}\epsilon_i^2=\sum_{i=1}^{n}(y_i-\hat{y})^2 E=i=1nϵi2=i=1n(yiy^)2
其中, y ^ \hat{y} y^是样本数据; y i y_i yi是假设拟合函数。

示例

下面是一个简单的例子:

假设通过观测或实验得到一组 ( x , y ) (x,y) (x,y)数据: ( 1 , 6 ) , ( 3 , 5 ) , ( 5 , 7 ) , ( 6 , 12 ) (1,6),(3,5),(5,7),(6,12) (1,6),(3,5),(5,7),(6,12)。目标是用一条与这几个点最匹配的直线来表示出这些数据之间的关系。

通过分析数据可知,这些点差不多分布在一条直线上,因此可以利用线性式子: y = a x + b y=ax+b y=ax+b表示它们之间的关系,设方程组如下:
{ 6 = a + b 5 = 3 a + b 7 = 5 a + b 12 = 6 a + b \begin {cases} 6=a+b\\5=3a+b\\7=5a+b\\12=6a+b \end {cases} 6=a+b5=3a+b7=5a+b12=6a+b
这样就需确定参数 a 和 b a和b ab的值,通常这样的 a 和 b a和b ab是不存在的,也就是找不到一条直线穿过所有的点。我们希望能找到一条线与这些点距离最近的线。
假设有某个方法可以确定 a 和 b a和b ab,则按 y = a x + b y=ax+b y=ax+b,给出一个x便可以计算出一个 y y y,记作 y i = a x i + b y_i=ax_i+b yi=axi+b y i y_i yi称为 y y y的估计值,它们之间的差(通常称为残差) ϵ k = y i − y \epsilon_k=y_i-y ϵk=yiy无疑是衡量被确定的参数 a 和 b a和b ab(也就是近似多项式 y = a x + b y=ax+b y=ax+b)好坏的重要标志。
可以规定许多原则来确定参数 a a a b b b,例如:

  1. 使残差绝对值中最大的一个达到最小,即 T = m a x ( ∣ ϵ k ∣ ) T=max(|\epsilon_k|) T=max(ϵk)
  2. 使残差绝对值之和达到最小,即 ∑ i = 1 k ∣ ϵ k ∣ \sum_{i=1}^{k}|\epsilon_k| i=1kϵk为最小。
  3. 使残差的二次方和达到最小,即 ∑ i = 1 k ϵ k 2 \sum_{i=1}^{k}\epsilon_k^2
http://www.lryc.cn/news/298401.html

相关文章:

  • 【Java安全】ysoserial-URLDNS链分析
  • Nginx报错合集(502 Bad Gateway,504 Gateway nginx/1.18.0 (Ubuntu) 等等报错)
  • Rust开发WASM,WASM Runtime运行
  • 快速重启网络服务 IP Helper
  • 【MySQL】MySQL函数学习和总结
  • MySQL进阶查询篇(7)-触发器的创建和使用
  • 前端面试题——JS实现反转链式表
  • 小周带你正确理解Prompt-engineering,RAG,fine-tuning工程化的地位和意义
  • 【精选】java多态进阶——多态练习测试
  • Git详细讲解
  • k8s弃用docker后使用ctr导入镜像
  • mxxWechatBot开发中..
  • C#系列-C#log4net日志保存到文件(15)
  • linux 08 文件查找
  • 【Java面试】数据类型常见面试题
  • unity学习案例总结
  • Halcon 频域缺陷检测
  • 架构整洁之道-软件架构-测试边界、整洁的嵌入式架构、实现细节
  • nodejs学习计划--(十)会话控制及https补充
  • fast.ai 机器学习笔记(四)
  • LLM大模型常见问题解答(2)
  • 这种学习单片机的顺序是否合理?
  • 13 年后,我如何用 Go 编写 HTTP 服务(译)
  • flask+python高校学生综合测评管理系统 phl8b
  • 【GameFramework框架内置模块】1、全局配置(Config)
  • PySpark(四)PySpark SQL、Catalyst优化器、Spark SQL的执行流程、Spark新特性
  • 2024第六届中国济南国际福祉及残疾人用品展览会/失能护理展
  • SegmentAnything官网demo使用vue+python实现
  • Java:字符集、IO流 --黑马笔记
  • RabbitMQ之五种消息模型