线性代数矩阵运算

article/2025/9/20 10:41:26

线性代数的概念对于理解机器学习背后的原理非常重要,尤其是在深度学习领域中。它可以帮助我们更好地理解算法内部到底是怎么运行的,借此,我们就能够更好的做出决策。所以,如果你真的希望了解机器学习具体算法,就不可避免需要精通这些线性代数的概念。这篇文章中,我们将向你介绍一些机器学习中涉及的关键线性代数知识。

线性代数是一种连续形式的数学,被广泛应用于理工类学科中;因为它可以帮助我们对自然现象建模,然后进行高效的计算。但是,由于线性代数是一种连续而非离散的数学,因此,很多计算机科学家都不太了解它。另外,线性代数还在几乎所有的数学学科中都拥有着核心地位:例如几何学和泛函分析。

线性代数中的概念是理解机器学习理论所必需的基础知识,尤其是对那些处理深度学习算法的人而言。在刚接触机器学习时,你可以不需要掌握线性代数。但到了一定程度后,当你希望更好地理解不同机器学习算法运作原理时,线性代数就很有用了,它可以帮助你在开发机器学习系统时更好地做决策。

在线性代数中,我们使用线性方程来表示数据,并把它们写成矩阵或向量的形式。因此,基本上你都是在与矩阵和向量打交道,而不是标量(我们会在文章的稍后部分介绍这些概念)。如果你能够想到使用一个合适的库,比如 NumPy,你就可以通过简短的几行代码,轻松实现复杂的矩阵乘法。请注意,这篇文章忽略了那些对机器学习并不重要的线性代数概念。

数学对象

标量

标量就是一个简单的数,比如 24。

向量

向量是一个有序数组,能够写成一行或者一列的形式。向量只包含一个索引,用来表示向量中的某个特定元素。比如 V_2 表示向量中的第二个元素,在上面淡黄色的图中是-8。

矩阵

矩阵是一个有序的二维数组,有两个索引。第一个索引表示行,第二个索引表示列。例如,M_23 表示的是第二行、第三列的元素,在上面淡黄色的图中是 8。矩阵可以有多个行或者列,注意一个向量也是一个矩阵,但仅有一行或者一列。

淡黄色图中有一个矩阵的例子:一个 2×3 的矩阵 (行数×列数)。下图中是另一个矩阵和对应的表示形式。

张量

三维张量是按照一定规律排列在方格中的数组,其中一个变量数字表示轴。张量有三个索引,其中第一个索引表示行,第二个索引表示列,第三个索引表示轴。例如,V_232 指向第二行、第三列、第二轴的元素,在下图右边的张量中表示 5。

张量是上面谈到的概念中最常用的一个,因为张量是一个多维数组,同时可以是一个向量或者一个矩阵,具体取决于它的索引数量。例如,一阶张量可以表示向量(1 个索引),二阶张量可以表示矩阵(2 个索引),三阶就是张量(3 个索引),更高阶的称为高阶张量(超过 3 个索引)。

运算法则

矩阵和标量的计算

如果你在一个矩阵上加、减、乘、除一个标量,你所做的就是直接对矩阵的每个元素进行这些数学运算。下图给出了矩阵数乘的一个很好的例子。

矩阵和向量的运算

对一个矩阵乘以一个向量,可以理解为对矩阵的每一行乘以向量的每一列,运算结果会是一个向量,它的行数和矩阵的行数一样。下图展示了这是如何计算的。

为了更好地理解这个概念,我们详细讲解一下第二张图中的计算步骤。为了得到结果向量中的第一个元素 16,选择拿来和矩阵相乘的向量中的元素 1 和 5,把它们与矩阵第一行中的元素 1 和 3 相乘,像这样:1*1 + 3*5 = 16。对矩阵第二行的元素进行相同的计算:4*1 + 0*5 = 4。同样,再计算矩阵第三行的元素:2*1 + 1*5 = 7。

这里还有另一个例子:

在这里,我们给出一个备忘录:

矩阵间的加减法

矩阵间的加减法非常简单直接。这里要求,两个矩阵需要维度相同,运算结果也会是一个相同维度的矩阵。你只需要将第一个矩阵中的每一个元素和第二个矩阵中对应位置的元素相加或者相减就可以了。如下图所示: 

矩阵间的乘法

如果你知道如何计算矩阵和向量间的乘法,矩阵间的乘法就也简单了。注意,只有当第一个矩阵的列数和第二个矩阵的行数相等时,才能把它们两个乘起来。运算结果会是一个矩阵,行数和第一个矩阵的行数相等,列数和第二个矩阵的列数相等。计算方法如下:

你只需要将第二个矩阵分成列向量,然后分别将第一个矩阵和每个列向量相乘。然后,将运算结果拼接成一个新的矩阵(不要把它们加起来!)。下图逐步展示了计算过程:

同样,我们也给出一个备忘录:

矩阵的乘法性质

矩阵乘法拥有一些性质,根据这些性质,我们可以将大量计算整合成一个矩阵乘法。在下面我们会依次讨论这些性质。为了便于理解,我们会先用标量来解释这些性质,然后再使用矩阵形式。

交换律

数乘满足交换律,但矩阵乘法并不满足。这意味着,当我们在将两个标量乘在一起的时候:7×3 和 3×7 的结果是一样的,但当我们将两个矩阵相乘起来的时候:A×B 并不等于 B×A。

结合律

数乘和矩阵乘法都满足结合律。这意味着,数乘 3×(5×3)等于(3×5)×3,同时矩阵乘法 A×(B×C)等于(A×B)×C。

分配律

数乘和矩阵乘法都满足分配律。这表示,数乘 3×(5+3)等于 3×5+3×3,而矩阵乘法 A×(B+C)等于 A×B +A×C。

单位矩阵

单位矩阵是一种特殊的矩阵,不过首先,我们需要定义什么是「单位」。数字 1 是一个「单位」,因为任何数乘以 1 都等于它自身。因此,任何矩阵乘以一个单位矩阵都应该等于它自己。例如,矩阵 A 乘以单位矩阵还等于矩阵 A。

单位矩阵的主对角线元素都是 1,其余元素都是 0,你可以根据这个性质得到一个单位矩阵。同时它也是一个「方阵」,这表示它的行数和列数是相等的。

我我们之前说,矩阵乘法不满足交换律,但这里有一个例外:将一个矩阵和一个单位矩阵相乘。因此,下式是成立的:A × I = I×A = A。

矩阵的逆和转置

矩阵的逆和矩阵的转置是两种矩阵特有的性质。同样的,我们首先在实数上讨论这些性质,然后再使用在矩阵中。

1.逆运算

首先,什么是逆(倒数)? 一个数乘以它的逆(倒数)等于 1。注意,任何非零的数都有倒数。如果将矩阵和它的逆矩阵相乘,结果就应该是单位矩阵。下面的例子展示了标量的逆(倒数):

不过,并不是每个矩阵都有逆矩阵。如果一个矩阵是方阵,而且它可逆,就可以求出它的逆矩阵。很遗憾,讨论什么矩阵可逆超出了这篇文章的范围。

我们为什么需要逆矩阵呢?这是因为我们不能计算用矩阵相除,并没有「除以矩阵」的定义,但我们可以用一个矩阵乘以一个逆矩阵,来达到相同的目的。

下图展示了一个矩阵乘以它的逆矩阵,计算结果是一个 2×2 的单位矩阵。


可以利用 NumPy 轻松计算出一个矩阵的逆矩阵(如果它可逆的话)。

2.转置

最后,我们讨论矩阵转置的性质。这基本上就是将一个矩阵沿着 45 度轴线镜像翻转。计算矩阵的转置非常简单,原始矩阵的第一列就是转置后矩阵的第一行,第二列则变成了转置后矩阵的第二行。一个 m×n 的矩阵仅仅是转成了 n×m 的矩阵。同时,矩阵 A 的元素 A_ij 等于转置后矩阵的元素 A_ji。下图展示了矩阵的转置:

总结

在这篇文章中,你接触到了一些机器学习中使用到的线性代数概念。你学会如何对这些对象进行加、减、乘、「除」。另外,你还掌握了矩阵最重要的性质,以及它们为什么可以帮我们得到更有效的计算。在这些知识的基础上,你还学习了逆矩阵和转置矩阵的概念,以及可以如何使用它们。虽然机器学习中还有很多线性代数知识,但这篇文章提供了关于最核心的概念的一些适当介绍。


http://chatgpt.dhexx.cn/article/eSb6eoFD.shtml

相关文章

矩阵和线性代数的应用

矩阵和线性代数是数学中重要的概念,它们被广泛应用于物理、工程、计算机科学、经济学等众多领域。本文将讨论矩阵和线性代数的一些基本概念以及它们在实际应用中的重要性和影响。 一、矩阵和线性代数的基本概念 矩阵是由数字组成的矩形数组。它可以表示线性方程组…

线性代数—矩阵

矩阵 矩阵的定义同型矩阵运算1、同型矩阵可加减2、矩阵乘以k(≠0),矩阵中所有元素乘以k3、Amn * Bns Cms4、转置矩阵5、 伴随矩阵6、逆矩阵(矩阵的逆理论)7、行阶梯矩阵8、正交矩阵 矩阵的初等变换矩阵理论矩阵的逆理论—见逆矩阵…

线性代数:如何最通俗地理解矩阵的「秩」?

小时候老师总告诉我们「要有n个方程才能确定地解出n个未知数」——这句话其实是不严格的,如果你想确定地解出n个未知数,只有n个方程是不够的,这n方程还必须都是「干货」才行。从这个角度,初学者可以更好地理解「矩阵的秩」。 其实…

线性代数[向量]

系列文章目录 第一章 线性代数[初等变换(一)] 第二章 线性代数[初等变换(二)] 第三章 线性代数[初等变换(三)] 第四章 线性代数[矩阵的秩] 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.引入 二.向…

线性代数 | (1) 矩阵Part One

目录 1. 矩阵是什么? 2. 几种特殊的矩阵 3. 矩阵的运算 4. 方阵的行列式 5. 伴随矩阵 6. 矩阵初等变换 7. 矩阵的秩 8. 初等矩阵 1. 矩阵是什么? 矩阵被认为是线性代数中最基础的内容, 也是研究线性代数其他内容的工具。 由m*n个数…

线性代数: 什么是矩阵,以及矩阵的线性代数意义

多数高中生学习矩阵和矩阵乘法,但是他们往往不知道为什么矩阵乘法是这样工作的。 添加矩阵很简单: 只需添加相应的条目。 然而,矩阵乘法并不是这样工作的,对于一个不理解矩阵背后理论的人来说,这种矩阵相乘的方法可能看起来非常不…

线性代数第二章矩阵及其运算详解

一.线性方程组和矩阵 1.概念 如图所示,该矩阵称为m行n列矩阵 若行数和列数都等于n,则该矩阵称为n阶方阵 两个矩阵的行数相等,列数也相等,就称它们为同型矩阵 若A(aij)和B(bij)是…

【线性代数】第一章 1.1矩阵及其运算

【写在前面的话】众所周知,线性代数在计算机应用方面也是比较广的(比如人工智能等前沿科技领域)。所以...在CSDN记录线性代数的知识不为过吧,哈哈(//狗头保命)。从这里开始我将详细记录线性代数知识点。想要…

ux431黑苹果_UX设计中苹果领导地位的下降

ux431黑苹果 My Samsung Galaxy S10 just got a software update. It’s now running the latest version of OneUI, based on Android 10. I haven’t felt so good using a phone since the days of the iPhone 7 Plus. Everything is fast, shiny and gesture-driven. When …

iwork8黑苹果_苹果的iWork.com令人失望-不是Google Docs竞争对手

iwork8黑苹果 During their annual keynote at the MacWorld conference in San Francisco today, Apple Senior Vice President of Worldwide Product Marketing Phil Schiller announced a beta of iWork.com, their cloud-based productivity suite that was rumored last w…

黑苹果检测_苹果技术进行情绪检测

黑苹果检测 介绍 (Introduction) Before we get our hands dirty, let’s prepare ourselves for what’s coming next. 在弄脏手之前,让我们为接下来发生的事情做好准备。 第一件事 (First things first) Artificial Intelligence can be defined as an area of c…

黑苹果 macOS 10.14 编译 obs-studio 22.0.3

01 安装 brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"这个安装过程会要求回车2次,同时安装Xcode Command Line Tools 执行过程如下: softdeMac:~ soft$ /usr/bin/ruby -e "$(curl -f…

xps文件服务器端,黑苹果从入门到精通 篇七:XPS 9360完美黑果实战

黑苹果从入门到精通 篇七:XPS 9360完美黑果实战 2019-07-11 22:11:24 240点赞 2161收藏 253评论 追加修改(2019-12-23 19:39:18): 触控板问题就是I2C驱动没成功,可以用sudo kextcache -i /也可以用kext Utility,如果这样还不行,说明I2C有问题 追加修改(2019-10-27 20:30:43…

黑苹果自带的svn使用方法

黑苹果系统作为很多没有mac电脑的朋友带来了一丝安慰,虽然各种问题不断,比如之前老是黑屏等。 后来发现是没有设置电脑不休眠的缘故 今天要配置下svn,查完资料简单配置了下,然后将远程服务器上的文档拉到了本地,步骤倒是蛮简单&…

黑苹果登录apple id_充分利用Apple登录功能

黑苹果登录apple id 充分利用Apple登录功能 (Get the most out of Sign in with Apple) 🗂WWDC2020 | Session : 10173 | Category : Privacy and Security 🗂WWDC2020| 会议:10173 | 分类:隐私和安全 🔗 https://developer.apple.com/videos/play/wwdc2020/10173/ �…

IMEI与IMSI

为什么80%的码农都做不了架构师?>>> IMEI(国际移动设备识别码) 国际移动设备识别码(International Mobile Equipment Identity,IMEI),即通常所说的手机序列号、手机“串号”&#x…

确定手机imsi号码的方法

目录 1. Imsi概述... 1 2. 获得imsi的两种方法... 2 2.1 读卡器读出sim卡上imsi 2 2.2 利用wireshark获得imsi 2 2.3 wireshark获得imsi的具体过程... 2 2.3.1 拷贝抓包服务器软件rpcapd到fcs的服务器linux目录/usr/bin下... 2…

物联网从业者必须知道的知识:IMSI号介绍与解析

物联网项目都会使用物联网卡,物联网卡有一个参数:国际移动用户识别码,即 IMSI (International Mobile Subscriber Identification Number),这个参数也有一定的学问,利用得好,可以使项…

根据IMSI区别运营商

根据IMSI区别运营商 IMSI说明MNC 和 各个运营商的对照表 (持续更新) IMSI说明 国际移动用户识别码即IMSI(International Mobile Subscriber Identity),它是在公众陆地移动电话网(PLMN)中用于唯一识别移动用户的一个号…

IMSI与MSISDN

IMSI IMSI全名叫国际移动用户识别码(International Mobile Subscriber Identification Number)是区别移动用户的标志,储存在SIM卡的EF-IMSI文件中,可用于区别移动用户的有效信息。简单地理解就是,IMSI是SIM卡的id号码…