应用数学与机器学习基础 - 数值计算之线性最小二乘实例篇

序言

线性最小二乘法,作为统计学与数据科学中的基石之一,自其诞生以来便在科学研究、工程技术、经济预测等众多领域展现出了强大的应用价值。这一方法的核心思想在于,通过最小化误差的平方和来寻找数据的最佳函数匹配,即找到一个线性模型,使得该模型预测值与观测值之间的差的平方和最小。
简而言之,它提供了一种量化并优化模型预测准确性的有效手段,使得我们能够基于有限的数据点,构建出最能反映数据内在规律的线性关系。

线性最小二乘实例(Linear Least Squares)

  • 要解决问题
    • 假设,我们希望找到最小化公式1 x \boldsymbol{x} x值: f ( x ) = 1 2 ∥ A x − b ∥ 2 2 —公式1 f(\boldsymbol{x})=\frac{1}{2}\left\|\boldsymbol{A} \boldsymbol{x}-\boldsymbol{b}\right\|_2^{2}\quad\textbf{\footnotesize{---公式1}} f(x)=21Axb22公式1
    • 专门线性代数算法能够高效地解决这个问题;但是,我们也可以探索如何使用基于梯度的优化算法来解决这个问题,这可以作为这些技术是如何工作的一个简单的例子。
  • 基于梯度的优化算法
    • 首先,我们计算梯度: ∇ x f ( x ) = A T ( A x − b ) = A T A x − A T b —公式2 \nabla_xf(\boldsymbol{x})=\boldsymbol{A}^T(\boldsymbol{A} \boldsymbol{x}-\boldsymbol{b})=\boldsymbol{A}^T \boldsymbol{A} \boldsymbol{x}-\boldsymbol{A}^T \boldsymbol{b}\quad\textbf{\footnotesize{---公式2}} xf(x)=AT(Axb)=ATAxATb公式2
    • 然后,我们可以采用小的步长,按照这个梯度下降。见算法1中的详细信息。
  • 牛顿法二次近似算法
    • 我们也可以使用牛顿法解决这个问题。因为在这个情况下真正的函数是二次的,牛顿法所用的二次近似是精确的,该算法会在一步后收敛到全局最小点。
    • 现在假设我们希望最小化同样的函数,但受 x ⊤ x ≤ 1 \boldsymbol{x}^\top\boldsymbol{x}\leq 1 xx1的约束。
    • 要做到这一点,我们引入 Lagrange \text{Lagrange} Lagrange L ( x , λ ) = f ( x ) + λ ( x ⊤ x − 1 ) —公式3 L(\boldsymbol{x},\lambda)=f(\boldsymbol{x})+\lambda(\boldsymbol{x}^\top\boldsymbol{x}-1)\quad\textbf{\footnotesize{---公式3}} L(x,λ)=f(x)+λ(xx1)公式3
    • 现在,我们解决以下问题: min ⁡ x max ⁡ λ , λ ≥ 0 L ( x , λ ) —公式4 \min\limits_x\max\limits_{\lambda,\lambda\ge0}L(\boldsymbol{x},\lambda)\quad\textbf{\footnotesize{---公式4}} xminλ,λ0maxL(x,λ)公式4
    • 可以用 Moore-Penrose \text{Moore-Penrose} Moore-Penrose伪逆: x = A + b \boldsymbol{x}=\boldsymbol{A}^+\boldsymbol{b} x=A+b找到无约束最小二乘问题的最小范数解。
    • 如果这一点是可行的,那么这也是约束问题的解。否则,我们必须找到约束是活跃的解。
    • 关于 x \boldsymbol{x} x Lagrangian \text{Lagrangian} Lagrangian微分,我们得到方程: A ⊤ A x − A ⊤ b + 2 λ x = 0 —公式5 \boldsymbol{A}^\top\boldsymbol{Ax}-\boldsymbol{A}^\top\boldsymbol{b}+2\lambda\boldsymbol{x}=0\quad\textbf{\footnotesize{---公式5}} AAxAb+2λx=0公式5
    • 这就告诉我们,该解的形式将会是: x = ( A ⊤ A + 2 λ I ) − 1 A ⊤ b —公式6 \boldsymbol{x}=(\boldsymbol{A}^\top\boldsymbol{A}+2\lambda\boldsymbol{I})^{-1}\boldsymbol{A}^\top\boldsymbol{b}\quad\textbf{\footnotesize{---公式6}} x=(AA+2λI)1Ab公式6
      • λ \lambda λ的选择必须使结果服从约束。我们可以关于 λ \lambda λ进行梯度上升找到这个值。
      • 为了做到这一点,观察: ∂ ∂ λ L ( x , λ ) = x ⊤ x − 1 —公式7 \frac{\partial}{\partial\lambda}L(\boldsymbol{x},\lambda)=\boldsymbol{x}^\top\boldsymbol{x}-1\quad\textbf{\footnotesize{---公式7}} λL(x,λ)=xx1公式7
      • x \boldsymbol{x} x的范数超过 1 1 1时,该导数是正的,所以为了跟随导数上坡并相对 λ \lambda λ增加 Lagrangian \text{Lagrangian} Lagrangian,我们需要增加 λ \lambda λ
      • 因为 x ⊤ x \boldsymbol{x}^\top\boldsymbol{x} xx的惩罚系数增加了,求解关于 x \boldsymbol{x} x的线性方程现在将得到具有较小范数的解。
      • 求解线性方程和调整 λ \lambda λ的过程一直持续到 x \boldsymbol{x} x具有正确的范数并且关于 λ \lambda λ的导数是 0 0 0

算法1


从任意点 x \boldsymbol{x} x开始,使用梯度下降关于 x \boldsymbol{x} x最小化 f ( x ) = 1 2 ∥ A x − b ∥ 2 2 f(\boldsymbol{x})=\frac{1}{2}\left\|\boldsymbol{A} \boldsymbol{x}-\boldsymbol{b}\right\|_2^{2} f(x)=21Axb22的算法


伪代码
步长 ϵ \epsilon ϵ)和容差 δ \delta δ)设为小的正数。
w h i l e \bold{while} while ∥ A ⊤ A x − A ⊤ b ∥ 2 > δ \Vert\boldsymbol{A}^\top\boldsymbol{Ax}-\boldsymbol{A}^\top\boldsymbol{b}\Vert_2>\delta AAxAb2>δ d o \bold{do} do
x ← x − ϵ ( A ⊤ A x − A ⊤ b ) \quad\boldsymbol{x} \leftarrow \boldsymbol{x}-\epsilon(\boldsymbol{A}^\top\boldsymbol{Ax}-\boldsymbol{A}^\top\boldsymbol{b}) xxϵ(AAxAb)
e n d \bold{end} end w h i l e \bold{while} while


总结

  • 线性最小二乘法不仅因其数学上的简洁性而广受欢迎,更因其实用性和鲁棒性成为了数据分析和模型拟合的首选工具之一。
  • 在面对复杂多变的现实问题时,该方法通过最小化误差平方和的方式,有效平衡了模型复杂度与拟合精度之间的关系,从而帮助我们从海量数据中提取出有价值的信息和规律。无论是线性回归模型的构建,还是参数估计的精确求解,线性最小二乘法都展现出了其不可替代的重要作用。
  • 随着大数据时代的到来,线性最小二乘法的应用将更加广泛而深入,为科学研究和社会进步提供更加坚实的数据支撑。

往期重要内容回顾

应用数学与机器学习基础 - 数值计算篇

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

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

相关文章

方圆资源网,方圆资源官网

在当今这个信息化高速发展的时代,方圆资源网络已成为推动社会进步、促进经济发展的重要力量。方圆资源网不仅汇聚了海量的信息资源,更为我们提供了一个高效、便捷的信息交流平台。本文旨在详细介绍资源网的概念、特点、功能以及其在现代社会中的重要意义…

移动端Vant-list的二次封装,查询参数重置

Vant-list的二次封装 场景&#xff1a;在写项目需求的时候&#xff0c;移动端有用到vant-list组件。后续需求更新说要对列表数据页加搜索和筛选的功能。发现每次筛选完得在页面内手动重置一次查询参数。不方便&#xff0c;所以封了一层。 二次封装代码 <template><…

DeepMind的JEST技术:AI训练速度提升13倍,能效增强10倍,引领绿色AI革命

谷歌旗下的人工智能研究实验室DeepMind发布了一项关于人工智能模型训练的新研究成果&#xff0c;声称其新提出的“联合示例选择”&#xff08;Joint Example Selection&#xff0c;简称JEST&#xff09;技术能够极大地提高训练速度和能源效率&#xff0c;相比其他方法&#xff…

华为乾崑智驾加持:深蓝S07首次亮相

最近&#xff0c;特斯拉FSD即将入华的消息&#xff0c;让智能驾驶成为了汽车行业热议的焦点&#xff0c;而当新能源汽车的代表企业深蓝汽车&#xff0c;与全球领先的华为乾崑智驾强强联手&#xff0c;一场颠覆性的智能出行变革也已蓄势待发。 7月8日&#xff0c;深蓝汽车携其最…

vue process.env.VUE_APP_BASE_API的相关配置及axios简单封装

1、根目录底下新建.env.dev和env.prod,内容如下&#xff1a; VUE_APP_BASE_API http://192.168.1.xx:xxx2、vue.config相关内容&#xff1a; devServer: {hot: true, //热加载host: 0.0.0.0,port: 8080, //端口// https: false, //false关闭https&#xff0c;true为开启// op…

[数仓]四、离线数仓(Hive数仓系统-续)

第8章 数仓搭建-DWT层 8.1 访客主题 1)建表语句 DROP TABLE IF EXISTS dwt_visitor_topic; CREATE EXTERNAL TABLE dwt_visitor_topic (`mid_id` STRING COMMENT 设备id,`brand` STRING COMMENT 手机品牌,`model` STRING COMMENT 手机型号,`channel` ARRAY<STRING> C…

MinIO - 服务端签名直传(前端 + 后端 + 效果演示)

目录 开始 服务端签名直传概述 代码实现 后端实现 前端实现 效果演示 开始 服务端签名直传概述 传统的&#xff0c;我们有两种方式将图片上传到 OSS&#xff1a; a&#xff09;前端请求 -> 后端服务器 -> OSS 好处&#xff1a;在服务端上传&#xff0c;更加安全…

Android - 云游戏本地悬浮输入框实现

一、简述 云游戏输入法分两种情况,以云化原神为例,分为 云端输入法 和 本地输入法,运行效果如下: 云端输入法本地输入法云端输入法 就是运行在云端设备上的输入法,对于不同客户端来说(Android、iPhone),运行效果一致。 本地输入法 则是运行在用户侧设备上的输入法,对…

Fastapi在docekr中进行部署之后,uvicorn占用的CPU非常高

前一段接点小活&#xff0c;做点开发&#xff0c;顺便学了学FASTAPI框架&#xff0c;对比flask据说能好那么一些&#xff0c;至少并发什么的不用研究其他的asgi什么的&#xff0c;毕竟不是专业开发&#xff0c;能少研究一个东西就省了很多的事。 但是部署的过程中突然之间在do…

Centos二进制方式搭建Mysql8,并升级mysql8.0.33到mysql8.3.0

准备安装包 # 切换目录 cd /usr/local/src/ # 下载libaio包 wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm # 下载MySQL8.0.33安装包 wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.33-linux-glibc2.17-x86_64-min…

ANR日志输出

appNotResponding //com.android.server.am.AppErrors.java/* app: 当前发生ANR的进程* activity: 发生ANR的界面* parent: 发生ANR的界面的上一级界面* aboveSystem: * annotation: 发生ANR的原因*/ final void appNotResponding(ProcessRecord app, ActivityRecord activity…

Zabbix分布式监控

目录 分布式监控架构 实现分布式监控的步骤 优点和应用场景 安装Zabbix_Proxy Server端Web页面配置 测试 Zabbix 的分布式监控架构允许在大规模和地理上分散的环境中进行高效的监控。通过分布式监控&#xff0c;Zabbix 可以扩展其监控能力&#xff0c;支持大量主机和设备…

企业网站用免费wordpress主题的风险和弊端

免费WordPress主题除了不用花钱之外&#xff0c;几乎没有什么好处。个人网站如果用用还可以&#xff0c;如果是企业用的商业网站&#xff0c;最好不要用免费的WordPress主题模板&#xff0c;一但发生问题&#xff0c;你将付出的代价&#xff0c;比两三百元买个付费的WordPress主…

基于全志Orangepi Zero 2 的语音刷抖音项目

目录 一、硬件连接 二、项目实现功能 三、SU-03T语音模块的配置和烧录 3.1 创建产品&#xff1a; 3.2 设置PIN引脚为串口模式&#xff1a; 3.3 设置唤醒词&#xff1a; 3.4 设置指令语句&#xff1a; 3.5 设置控制详情&#xff1a; 3.6 发音人配置&#xff1a; 3.7 其…

atcoder 357 F Two Sequence Queries (线段树板子)

题目&#xff1a; 分析&#xff1a; 线段树 代码&#xff1a; // Problem: F - Two Sequence Queries // Contest: AtCoder - SuntoryProgrammingContest2024&#xff08;AtCoder Beginner Contest 357&#xff09; // URL: https://atcoder.jp/contests/abc357/tasks/abc357_…

华为HCIP Datacom H12-821 卷29

1.多选题 下面关于LSA age字段&#xff0c;描述正确的是∶ A、LSA age的单位为秒&#xff0c;在LSDB中的LSA的LS age随时间增长而增长 B、LSA age的单位为秒&#xff0c;在LSDB中的LSA的LS age随时间增长而减少 C、如果一条LSA的LS age达到了LS RefreshTime&#xff08…

[spring] Spring MVC - security(下)

[spring] Spring MVC - security&#xff08;下&#xff09; callback 一下&#xff0c;当前项目结构如下&#xff1a; 这里实现的功能是连接数据库&#xff0c;大范围和 [spring] rest api security 重合 数据库连接 - 明文密码 第一部分使用明文密码 设置数据库 主要就是…

内存与硬盘(笔记)

文章目录 1. 内存① 笔记② 相关软件 2. 硬盘① 笔记② 相关软件 3. 区别&#xff1a;4. 推荐 1. 内存 ① 笔记 ① 笔记本的内存条和台式机的内存条是不互通的 ② 我们常说的内存其实指的是运行内存(前台后台同时能运行多少APP) ③ 下图来自京东&#xff1a; 解析&#xff1…

应用程序提权

MYSQL提权 Mysql提权利用场景 1.拥有数据库账号密码 2.Webshell可以连接数据库&#xff0c;能够写文件 3.可操作数据库 如何获取数据库账号密码? 1.找数据库配置文件 2.通过webshell对数据库进行本地爆破 3.Hash获取mysql密码 UDF提权 udf提权指的是利用注…

ubuntu 分区情况

ubuntu系统安装与分区指南 - Philbert - 博客园 (cnblogs.com)https://www.cnblogs.com/liangxuran/p/14872811.html 详解安装Ubuntu Linux系统时硬盘分区最合理的方法-腾讯云开发者社区-腾讯云 (tencent.com)https://cloud.tencent.com/developer/article/1711884