线性代数2:梯队矩阵形式

图片来自 Europeana on Unsplash

一、前言

        欢迎阅读的系列文章的第二篇文章,内容是线性代数的基础知识,线性代数是机器学习背后的基础数学。在我之前的文章中,我介绍了线性方程和系统、矩阵符号和行缩减运算。本文将介绍梯队矩阵形式:行梯队形式和行缩减梯队形式,以及如何使用两者来解决线性系统。本文最好与David C. Lay,Steven R. Lay和Judi J. McDonald的线性代数及其应用一起阅读。将此系列视为外部配套资源。

 

二、行梯队形式

        高斯消除法是一种使用行运算将矩阵转换为一种形式的过程,在这种形式中,解决方案可以在一些反向替换后被检索。

        回顾一下,行缩减操作是:

  1. 替换:“将一行替换为其自身和另一行的总和。*
  2. 交换:“交换两排。”*
  3. 缩放:“将一行中的所有条目乘以非零常量。*

        上述操作可以应用于矩阵,以将该矩阵转换为其行梯队形式。给定的 m x n 矩阵,其中 m 是行数,是列数,在以下情况下称为行梯队形式:

  1. 所有条目均为零的任何行都位于至少一个条目为非零的行下方。
  2. 行的所有前导条目(左起第一个非零条目)都位于其上方行右侧的列中。
  3. 前导条目下方列中的所有条目均为零。

        以下是行梯队形式 (REF) 中的矩阵示例。

        花点时间了解一下,虽然矩阵的大小和条目存在差异,但根据上述标准,所有矩阵都被视为行梯队形式。注意到突出显示的引导条目下方的类似楼梯的图案了吗?这就是执行高斯消除将矩阵转换为行梯队形式自然而然的结果。这种形式的名字很贴切:梯队这个词来源于法语eschelon,意思是梯子的梯级,后来的意思是“台阶”。

        将矩阵转换为行缩减形式的高斯消除背后的基本思想是选择一个枢轴(枢轴一词用于指代前导条目:该条目将是其行中的第一个非零条目),然后消除下面的所有条目,将枢轴下方列中的所有内容清零。要了解为什么此步骤在将矩阵转换为精简梯队形式方面取得进展,请重新访问缩减梯队形式的定义:在行梯队形式中,前导条目下方列中的所有条目均为零。然后针对每一行再次迭代此步骤,但要谨慎!我们必须确保每次枢轴选择时,我们都不会违反行梯队形式的核心特征之一;行的所有前导条目都位于其上方行右侧的列中。 考虑到此规则,通常最好从第一行中的第一个条目开始旋转,然后从右到左沿着行向下移动。

        让我们再次考虑前面提到的行梯队形式的目的:将表示线性系统的给定矩阵转换为解决方案可以轻松读取的形式。为了更好地理解行梯队形式的基本效用,请考虑示例 1。

        当我们执行高斯消除时,我们正在操纵矩阵以呈现对称但更易于破译的形式。使用从示例 1 获得的行梯队形式,我们现在可以使用反向替换来逐步获得每个解决方案。

        从上面可以看到,这并不理想。这需要额外的不整洁的工作。减少行梯队也需要额外的工作,但符号更简洁,出错的余地更小。一旦我们将矩阵简化为减少的行梯队形式,我们就可以轻松地读取我们的解决方案,我们将解析线性系统。

三、减少行梯队形式

        当将矩阵简化为缩减的行梯队形式时,使用高斯-乔丹消除。该算法将表示线性系统的给定矩阵转换为简化梯队形式,其中解决方案可以通过应用一系列行缩减操作变得易于阅读。无需额外的反向替换。

        如果给定的 m x n 矩阵满足行梯队形式的先决条件,则称其为缩减行梯队形式,此外,还满足以下标准:

  1. 每行中的前导条目为 1。
  2. 前导条目下方和上方列中的所有条目均为零。(前导条目是列中唯一的非零条目)

        让我们通过一个将矩阵缩减为缩减行梯队形式的示例。

阅读我们的简化行梯队形式矩阵,现在很明显我们的解决方案是 x₁ = -3, x₂ = -12, x₃ = -3。

四、梯队形式的独特性

        到目前为止,我们已经为行梯队形式和缩减行梯队形式各计算了一个示例。您可能想尝试单独减少行梯队形式的行作为练习,结果却得到不同的行梯队形式矩阵。不用担心,这是很有可能的,只要正确执行计算并涵盖所有三个规则,两个版本都是同样正确的。这是一个奇妙的情况!它引导我们走向一个重要的定理:

        定理 (1)

矩阵可以有多个行梯队形式;行梯队形式不是唯一的。可以通过应用行操作顺序的变化来获得不同但同样有效的梯队形式。

        减少的行梯队形式不是这种情况,而是减少的行梯队形式的情况相反。

        定理 (2)

矩阵只能有一个缩减的行梯队形式;减少的行梯队形式是唯一的。

        为什么我们看到两种形式之间唯一性的差异的根源是由于我们对缩减的行梯队形式施加的额外限制。也就是说,围绕前导条目的要求等于 1。一旦我们将矩阵简化为行梯队形式,我们就可以将每行乘以任何非零常量,它仍然是行梯队形式,因为缩放矩阵不会破坏行梯队形式的任何规则。减少梯队的形式是不可能的,因为主要条目必须是一个。下面我用一个具体的例子进一步说明这一点。

五、解决方案数量

        求解线性系统自然产生的一个基本问题是存在多少个解?对于任何线性系统,分辨率始终是三种情况之一。线性系统要么有一个唯一的解,要么有无限解,要么没有解。如果你有兴趣考虑为什么它必须是这三个之一,(重新)访问我之前的文章。

        让我们更详细地仔细看看每个案例,看看我们如何识别给定矩阵的解案例,并轻轻地探索和探索每个案例场景表现自己的确切原因和方式背后的直觉。

        唯一解决方案:当线性系统的矩阵的缩减行梯队形式对每一列都有一个透视时,线性系统具有唯一的解决方案。

        当我们把矩阵形式重写为一系列线性方程时,为什么会这样就变得更加明显了。我们看到,因为每列都有一个透视(上面或下面没有条目),所以每个变量都有一个明确的解决方案,你可以逐个方程地读出。

        无解:当矩阵的约化行梯队形式具有代数不一致时,线性系统没有解。

        如上所示,没有 x₁、x₂、x 和 x₄ 的值允许方程四为真。左侧将始终为 0,不等于 0,因此该系统不存在解决方案。通常,任何带有行 [0, 0, ...0 |b] 其中 b 不为零将没有解,因为 <> ≠ b

        无限解:线性系统在至少有一个自由变量时具有无限解。当相应的列没有透视时,会出现自由变量。另一方面,基本变量是相应列具有透视的变量。让我们研究一下为什么自由变量的存在暗示了无限解。

        顾名思义,自由变量意味着您可以自由地为它们分配任何值。所有基本变量都是相对于自由变量定义的,因此基本变量的值将取决于为自由变量分配的值。这是无限解决方案存在的本质;只要基本变量与为自由变量选择的值一致,无限多个解决方案都是有效的。

        将矩阵转换为缩减的行梯队形式后,系统是否有一个、无或无限多个解决方案将立即变得显而易见。

六、总结

        在本章中,我们学习了:

  • 高斯消除法,用于将矩阵简化为行梯队形式以求解线性系统。
  • 高斯-乔丹消除方法,用于将矩阵约简为约化行梯队形式以求解线性系统。
  • 梯队形式的独特性:排梯队形式不唯一,而缩小的排梯队形式是唯一的。
  • 线性系统可能具有的解的数量:唯一、无限或无,以及它们何时发生以及为什么发生。

参考资料:
数学
数学
机器学习
线性代数

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

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

相关文章

Android 如何在Service中使用ViewModel

需求&#xff1a;最近有反馈说&#xff0c;需要在service中使用网络请求&#xff0c;而我网络请求就是封装的ViewModel。然后我就发现&#xff0c;原来service不支持&#xff0c;懵了呀&#xff01;哈哈 还是去看看ViewModel的源码了解下吧。下面有几个介绍的。就不多做赘述了。…

微信小程序开发之后台数据交互及wxs应用

目录 一、后端准备 1. 应用配置 2. 数据源配置 二、数据库 1. 创建 2. 数据表 3. 数据测试 三、前端 1. 请求方法整合 2. 数据请求 3. WXS的使用 4. 样式美化 5. 页面 一、后端准备 通过SpringMVC及mybatis的技术学习&#xff0c;还有前后端分离的技术应用&…

Mycat2 分布式数据库中间件

一.安装部署 Mycat2目前还不支持直接获取Docker镜像&#xff0c;需要自己通过Dockerfile打包镜像&#xff0c;其实这也是为了开发者考虑&#xff0c;比如一些个性化功能&#xff0c;如自定义分片等 Dockerfile FROM docker.io/adoptopenjdk/openjdk8:latestENV AUTO_RUN_DIR…

RemObjects Elements 12.0 Crack

Elements 是一个现代多功能软件开发工具链。 它支持六种流行的编程语言&#xff1a;Oxygene (Object Pascal)、C#、Java、Mercury (Visual Basic.NET™)、Go 和 Swift&#xff0c;适用于所有现代平台。 使用 Elements&#xff0c;您可以为您喜欢的任何平台进行编程- 无论是单…

想要精通算法和SQL的成长之路 - 找到最终的安全状态

想要精通算法和SQL的成长之路 - 找到最终的安全状态 前言一. 找到最终的安全状态1.1 初始化邻接图1.2 构建反向邻接图1.3 BFS遍历1.4 完整代码 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 找到最终的安全状态 原题链接 我们从题目中可以看出来&#xff1a; 出度为0的…

面试官:如何理解CDN?说说实现原理?

一、是什么 CDN (全称 Content Delivery Network)&#xff0c;即内容分发网络 构建在现有网络基础之上的智能虚拟网络&#xff0c;依靠部署在各地的边缘服务器&#xff0c;通过中心平台的负载均衡、内容分发、调度等功能模块&#xff0c;使用户就近获取所需内容&#xff0c;降…

大模型技术实践(五)|支持千亿参数模型训练的分布式并行框架

在上一期的大模型技术实践中&#xff0c;我们介绍了增加式方法、选择式方法和重新参数化式方法三种主流的参数高效微调技术&#xff08;PEFT&#xff09;。微调模型可以让模型更适合于我们当前的下游任务&#xff0c;但当模型过大或数据集规模很大时&#xff0c;单个加速器&…

OpenCV中world模块介绍

OpenCV中有很多模块&#xff0c;模块间保持最小的依赖关系&#xff0c;用户可以根据自己的实际需要链接相关的库&#xff0c;而不需链接所有的库&#xff0c;这样在最终交付应用程序时可以减少总库的大小。但如果需要依赖OpenCV的库太多,有时会带来不方便&#xff0c;此时可以使…

忆联分布式数据库存储解决方案,助力MySQL实现高性能、低时延

据艾瑞咨询研究院《2022 年中国数据库研究报告》显示&#xff0c;截止2021年&#xff0c;中国分布式数据库占比达到 20%左右&#xff0c;主要以 MySQL 和 PostgreSQL 为代表的开源数据库为主。MySQL 作为备受欢迎的开源数据库&#xff0c;当前已广泛应用于互联网、金融、交通、…

【C++初阶】类和对象(上)

个人主页点击直达&#xff1a;小白不是程序媛 我的代码仓库&#xff1a;Gitee C系列专栏&#xff1a;C头疼记 目录 前言 面向过程和面向对象的初步认识 类的引入 类的定义 类的两种定义方式&#xff1a; 类的访问限定符及封装 封装 类的作用域 类的实例化 类对象模型…

LVS负载均衡集群 (NAT模式)

LVS集群 集群的概念&#xff1a; 为解决某个特定的问题&#xff0c;将多个计算机组合起来形成一个单个系统 集群的水平扩展&#xff1a; 增加设备&#xff0c;并行运行多个服务&#xff0c;通过网路连接和算法来调度服务分配的问题 集群的类型&#xff1a; 负载均衡集群&#…

【Javascript】基础数据类型

目录 基础数据类型 1.number 字面量声明 数字对象方式声明 整数判断 指定返回小数位数 NaN-表示非数字值 浮点精度 解决误差 String 字面量声明 数字对象声明 连接运算符 获取长度 大小写转换 转换成大写 转换成小写 ​编辑 移除空白 获取单字符 ​编辑 截…

html中公用css、js提取、使用

前言 开发中&#xff0c;页面会有引用相同的css、js的情况&#xff0c;如需更改则每个页面都需要调整&#xff0c;重复性工作较多&#xff0c;另外在更改内容之后上传至服务器中会有缓存问题&#xff0c;特针对该情况对公用css、js进行了提取并对引用时增加了版本号 一、提取…

分布式Trace:横跨几十个分布式组件的慢请求要如何排查?

目录 前言 一、问题的出现&#xff1f; 二、一体化架构中的慢请求排查如何做 三、分布式 Trace原理 四、如何来做分布式 Trace 前言 在分布式服务架构下&#xff0c;一个 Web 请求从网关流入&#xff0c;有可能会调用多个服务对请求进行处理&#xff0c;拿到最终结果。这个…

Redis-Sentinel高可用架构学习

Redis-Sentinel高可用架构 Redis主从复制过程&#xff1a; 主从同步原理 Redis Sentinel&#xff08;哨兵&#xff09;高可用集群方案&#xff1a;Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案。 当用Redis做Master-slave的高可用方案时&#xff0c;假如master宕机了…

Rust-后端服务调试入坑记

这篇文章收录于Rust 实战专栏。这个专栏中的相关代码来自于我开发的笔记系统。它启动于是2023年的9月14日。相关技术栈目前包括&#xff1a;Rust&#xff0c;Javascript。关注我&#xff0c;我会通过这个项目的开发给大家带来相关实战技术的分享。 如果你关注过我的Rust 实战里…

Unity⭐️Win和Mac安卓打包环境配置

文章目录 🟥 配置Android SDK1️⃣ 配置 SDK Platforms2️⃣ 配置 SDK Tools🎁 Android SDK Build-Tools🎁 Android SDK Command-line Tools(latest)🎁 Android SDK Tools(Obsolete)🟧 配置NDK🟩 配置JDK前情提示: 此方法适用于Windows/Mac 在配置时注意开启 🪜 …

解决osg绘制场景时因Z冲突导致重影或闪烁等不正常情况

目录 1. 问题的提出 2. Z冲突&#xff08;z-fighting&#xff09;简介 2.1. Z冲突&#xff08;z-fighting&#xff09;产生的原因 2.2. 如何消除Z冲突&#xff08;z-fighting&#xff09; 3. 代码实现 1. 问题的提出 今天绘制了一个棋盘格&#xff0c;鼠标在棋盘格上单击…

CVE-2019-0708漏洞实战

使用命令&#xff1a;search 0708搜索exp脚本 搜索网段中主机漏洞 use auxiliary/scanner/rdp/cve_2019_0708_bluekeep 照例&#xff0c;show options 看一下配置 设置网段set RHOSTS x.x.x.x run运行就行了 使用攻击模块 use exploit/windows/rdp/cve_2019_0708_bluekee…

论文阅读-多目标强化学习-envelope MOQ-learning

introduction 一种多目标强化学习算法&#xff0c;来自2019 Nips《A Generalized Algorithm for Multi-Objective Reinforcement Learning and Policy Adaptation》本文引用代码全部来源于论文中的链接。主要参考run_e3c_double.py文件 1 总体思想 1.将输入中加入多目标的偏…