位置: IT常识 - 正文

【机器学习】前置知识:矩阵的表示与定义 | Identity 身份矩阵 | 逆矩阵和转置 | 标量乘法

编辑:rootadmin
【机器学习】前置知识:矩阵的表示与定义 | Identity 身份矩阵 | 逆矩阵和转置 | 标量乘法

推荐整理分享【机器学习】前置知识:矩阵的表示与定义 | Identity 身份矩阵 | 逆矩阵和转置 | 标量乘法,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

  💭 写在前面:我们先介绍线性方程体系的基本概念和矩阵表示方法,矩阵的定义、加法、乘法、逆矩阵、转置和标量乘法等。然后讲解如何解决线性方程组问题,包括解集形式、行阶梯形矩阵、计算逆置和解决线性方程组的算法等。本节将补充线性代数的基础知识,为后续的机器学习打好基础。

📜 文章目录:

Ⅰ. 线性方程体系(Systems of Linear Equations)

0x00 介绍

0x01 矩阵表示(Matrix Representation)

Ⅱ. 矩阵(Matrices)

0x00 矩阵的定义(Matrix: Definition)

0x01 矩阵加法与乘法

0x02 身份矩阵和矩阵属性(Identity Matrix and Matrix Properties)

0x03 逆矩阵和转置(Inverse and Transpose)

0x04 标量乘法(Scalar Multiplication)

Ⅲ. 解线性方程组问题(Solving Systems of Linear Equations)

0x00 解集形式

0x01 General = Particular + Homogeneous

0x02 行阶梯形矩阵(Row-Echelon Form)

0x03 计算逆置(Calculating the Inverse)

0x04 解决线性方程组的算

Ⅰ. 线性方程体系(Systems of Linear Equations)0x00 介绍

我们先看看什么是代数:代数即一组对象、一组操作这些对象的规则或操作。

线性代数 (Linear algebra):对象:vectors      操作符:它们的加法  和标量乘法 。

例子:几何矢量、多项式、音频信号、 元素。

对于未知变量  :

三种情况的解决方案:

无解 (No solution):

惟一解 (Unique solution) :

 无穷多解 (Infinitely many solutions) :

几何解释:

在一个有两个变量  的线性方程组中,每个线性方程都在  平面上定义了一条线。

由于线性方程组的解必须同时满足所有方程,所以解集是这些线的交点。

这个交集可以是一条线(若线性方程描述的是同一条线),一个点,或者是空的(当线是平行的)。

0x01 矩阵表示(Matrix Representation)

一个线性方程的集合

矩阵表示:

理解  是回答关于这个线性系统  的各种问题的关键。

Ⅱ. 矩阵(Matrices)0x00 矩阵的定义(Matrix: Definition)

矩阵是一个按照矩形排列的数学对象,由一组数按照固定的行列顺序排列而成。

对于 ,,实值  矩阵  是元素  的  元组,是根据由  行和  列组成的矩形方案排序(通常用方括号或圆括号来表示):

按照惯例, 矩阵称为行, 矩阵称列。这些特殊矩阵也称为 行 / 列向量。

矩阵实值的集合通常表示为  ,其中  和  分别表示矩阵的行数和列数, 表示实数集合。因此, 表示由  行  列实数元素构成的矩阵集合。

例如,下面是一个 2x3 的实数矩阵:

 是所有  矩阵实值的集合,通过堆叠矩阵的所有  列转换为长矢量, 可等价表示为  :

矩阵在数学中有着广泛的应用,例如线性代数、微积分、概率论等领域。其中,矩阵在线性代数中扮演着重要的角色,被用来表示线性变换和解决线性方程组等问题。

0x01 矩阵加法与乘法

加法:矩阵加法是指将两个相同维度的矩阵按照相同位置的元素相加得到一个新的矩阵。

需要注意的是,两个矩阵相加的前提是它们的维度相同,即行数和列数都相等。

对于两个矩阵 :

乘法:对于两个矩阵 ,其乘积  的元素  为:

比如:(前行乘后列)

代码演示:矩阵的加法

import numpy as npA = np.array([[1, 2, 3], [4, 5, 6]]) # 定义矩阵 AB = np.array([[7, 8, 9], [10, 11, 12]]) # 定义矩阵 BC = A + Bprint("矩阵 A:")print(A)print("矩阵 B:")print(B)print("矩阵 C(A + B):")print(C)

🚩 运行结果如下:

矩阵 A: [[1 2 3]  [4 5 6]] 矩阵 B: [[ 7  8  9]  [10 11 12]] 矩阵 C(A + B): [[ 8 10 12]  [14 16 18]]

0x02 身份矩阵和矩阵属性(Identity Matrix and Matrix Properties)

身份矩阵:其对角线上的元素均为 1,其余元素均为 0 的矩阵,我们称之为身份矩阵 (Identity Matrix, IM)。身份矩阵是唯一的,也就是说,任何一个 n 阶方阵,如果其对角线上的元素均为 1,其余元素均为 0,那么它都是一个身份矩阵。

我们通常用  表示身份矩阵,例如 3 x 3 的身份矩阵可以表示为:

 一个方阵 ,, 其中  是行和列的数量。比如:

在 NumPy 中,我们可以使用 numpy.eye() 函数创建身份矩阵。

# 创建一个的身份矩阵的代码示例import numpy as npidentity_matrix = np.eye(3)print(identity_matrix)

🚩 运行结果如下:

array([[1., 0., 0.],        [0., 1., 0.],        [0., 0., 1.]])

0x03 逆矩阵和转置(Inverse and Transpose)

逆矩阵:逆矩阵是指一个方阵  的逆矩阵  ,满足以下条件:

,其中  是单位矩阵。 和  都是可逆的矩阵。

如果矩阵  是可逆的,那么它的逆矩阵  可以通过下列公式计算:

其中, 是矩阵  的行列式, 是矩阵  的伴随矩阵。如果矩阵  不可逆,则其逆矩阵不存在。注意:逆矩阵只适用于方阵,而且只有当矩阵A可逆时才有逆矩阵存在。

对于一个方形矩阵 , 是  的逆,用  表示,如果:

【机器学习】前置知识:矩阵的表示与定义 | Identity 身份矩阵 | 逆矩阵和转置 | 标量乘法

如果存在,被称为 正则 (regular)、可逆 (invertible)、非正则 (nonsingular)。

如果存在,那就是唯一的 (unique)。

如何计算?对于 2×2 矩阵:

转置 (Transpose):将矩阵的行和列互换得到的新矩阵。

 对于一个矩阵  ,, 是  的转置,我们用  表示:

再比如,对于一个 3 行 2 列的矩阵 :

其转置矩阵  为一个 2 行 3 列的矩阵,每个元素的位置与原矩阵相反,如下所示:

若 ,则称  为对称的 (symmetric) 。

矩阵的转置满足以下几个性质:

 ,即对矩阵进行两次转置得到的仍是原矩阵。,即对两个矩阵的和进行转置等于这两个矩阵的转置分别相加。,即对一个矩阵的所有元素乘以一个常数  并进行转置等于先进行转置再将每个元素乘以 。

更多性质:

我们可以使用 numpy.linalg.inv() 函数来计算矩阵的逆矩阵:

import numpy as npA = np.array([[1, 2], [3, 4]])A_inv = np.linalg.inv(A)print(A_inv)

用 numpy.transpose() 函数来计算矩阵的转置:

import numpy as npA = np.array([[1, 2, 3], [4, 5, 6]])A_transpose = np.transpose(A)print(A_transpose)

🚩 运行结果如下:

array([[1, 4],        [2, 5],        [3, 6]])

0x04 标量乘法(Scalar Multiplication)

用标量  乘以  ,比如:

结合性 (Associativity) :

分配性 (Distributivity):

Ⅲ. 解线性方程组问题(Solving Systems of Linear Equations)

两个非零行给出   和 

0x00 解集形式

以此方式还原:

它有这种形式的解决方案:

请注意,取  表明第一个向量是系统的一个特定解 (particular solution) 。

0x01 General = Particular + Homogeneous

一般方法:

1. 寻找  的特定解 2. 寻找同质方程  的所有解,0 是一个平凡解(trivial solution) 。3. 将步骤 1. 和 2. 的解合并为一般解 (general solution)。

问题:一个正式的算法可以执行上述内容?

Gauss-Jordan 方法:转换为 "优美" 的形式(形式上减少了 row-echelon 形式)。基本转换:(i)行交换(ii)乘以一个常数(iii)行加法

这样的形式允许用一种算法来解决线性方程的问题。

0x02 行阶梯形矩阵(Row-Echelon Form)

行阶梯形矩阵是指一个矩阵的行具有以下特点:

所有的零行都在矩阵的底部;非零行的首个非零元素(称为主元)在上一行主元的右侧;每一行的主元都在该行的所有其它元素的左侧。

比如:

 其中,第一行的主元是1,第二行的主元是1,第三行的主元是1,第四行的主元是1。该矩阵的前四行是行阶梯形矩阵,而最后一行是一个零行。

定义:在下列情况下,一个矩阵是 row-echelon (行阶梯形矩阵)形式。

所有只包含零的行都在矩阵的底部;相应地,所有包含至少一个非零元素的行都在只包含零的行的上面。只看非零行,从左边开始的第一个非零数(也叫支点或前导系数)总是严格地在它上面一行的支点的右边。在 row-echelon 中与枢轴相对应的变量被称为基本变量,其他变量为自由变量。

在下列情况下,方程组为 reduced row-echelon 形式:。

它是 row-echelon 形式的。每个支点都是 1。枢轴是其列中唯一的非零条目。

高斯消除法 是一种进行基本转换的算法,它可以将线性方程组带入 row-echelon 形式。

Example: Unique Solution:

Example: Infinite Number of Solutions

0x03 计算逆置(Calculating the Inverse)

为了计算  的逆 ,我们需要找到一个矩阵  ,满足  。那么,。

我们可以把它写成一组同时进行的线性方程 ,其中我们求解  。

我们用增强的矩阵符号来表示这组线性方程组,得到  。

这意味着,如果我们将增强的方程组带入简化的 row-echelon 形式,我们可以在方程组的右侧读出逆数。

解决方案集的案例:

0x04 解决线性方程组的算法

伪逆 (Pseudo-inverse)

  :摩尔-彭若斯伪逆 (Moore-Penrose pseudo-inverse)许多计算:矩阵乘法、逆法等

高斯消除法 (Gaussian elimination)

直观和建设性的方式立体复杂度(就同时方程数而言)

迭代法 (Iterative methods)

间接求解的实用方法:

固定的迭代方法:Richardson方法、Jacobi方法、Gaus-Seidel方法、逐次过度放松方法Krylov 子空间方法:共轭梯度、广义最小残差、双共轭梯度。

📌 [ 笔者 ]   王亦优📃 [ 更新 ]   2023.3.15❌ [ 勘误 ]   /* 暂无 */📜 [
本文链接地址:https://www.jiuchutong.com/zhishi/300183.html 转载请保留说明!

上一篇:JavaScript DOM API的使用

下一篇:【深度学习】详解 MAE

  • 安徽增值税发票勾选认证流程
  • 非营利组织企业所得税季度申报表
  • 租赁办公场所的请示
  • 消费税的会计处理分录
  • 以前年度损益调整在借方是什么意思
  • 药品费用开具增值税发票项目应为什么
  • 未达起征点销售额和小微企业免税销售额
  • 资产负债表上应付账款根据什么填制
  • 建筑行业进项税率一览表
  • 亏损 纳税
  • 事业单位退休职业年金发放多少个月
  • 票据背书转让常见的错误
  • 生产企业原材料的订购与运输论文
  • 融资租赁与经营租赁相比具有的优势
  • 纳税的税种有哪些
  • 如何查找使用过的手机号
  • 总包劳务工资发什么科目
  • 房产企业竞标取消通知
  • 固定资产残值率一般是多少
  • 刷单的费用计入劳务费吗
  • 华为matex3用什么芯片
  • 如何刷新手机
  • 飞鱼星路由器信号有点差怎么办
  • 如何做预估成本
  • 怎么做增值税
  • 对外投资收益要交税吗
  • 股票股利和现金股利的共同点
  • 股东不用上班吗
  • 快捷方式都变成pdf
  • php current
  • linux如何配置ssh
  • vue错误提示
  • 现金日记账期初余额怎么算
  • pytorch1.9.0
  • chat gpt 国内版免费手机
  • vue3.0动态路由
  • 通讯补贴算福利费吗
  • 企业境外投资管理
  • 营业外收入 销项税
  • sql参数是什么意思
  • 差旅费包括内容
  • 已经经营中的企业有哪些
  • 车辆购置税 购置
  • 应收账款平均余额怎么理解
  • 零申报企业年报资产状况信息怎么填
  • 公司中标
  • 销售材料购买方会计分录
  • 往来出现差额调账说明
  • 制造费用会计科目
  • 有借必有贷借贷必相等的记账规则适用于
  • 在分公司签的合同能转到总公司吗?
  • 医疗机构药库设置标准
  • Windows Server 2003服务器群集创建和配置指南
  • 如何使用u盘安装软件
  • wfxctl32.exe - wfxctl32是什么进程
  • ubuntu linux指南:基础篇
  • vi编辑器的使用
  • winxp使用到什么时候
  • 打开 itunes
  • 防止暴力破解的方法
  • pavprot.exe - pavprot是什么进程 作用是什么
  • Win7系统安装教程
  • gzip与zip
  • win7如何删除系统启动项
  • 笔记本接外设
  • batch批处理
  • js移动到指定位置
  • Javascript WebSocket使用实例介绍(简明入门教程)
  • android edittext被系统键盘遮挡
  • 查看分区文件格式
  • firefox允许弹出窗口
  • Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
  • Nodejs之http的表单提交
  • 江西省电子税务局官网app
  • 如何查询车辆购置税
  • 上海网上申报软件怎样下载
  • 减免税的三种方式
  • 进项税计提和上交会计分录
  • 税务机关垂直领导
  • 先进单位表彰发言稿
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设