
机器学习中的线性代数
线性代数作为数学中的一个重要的分支,广发应用在科学与工程中。掌握好线性代数对于理解和从事机器学习算法相关的工作是很有必要的,尤其是对于深度学习而言。因此,在开始介绍深度学习之前,先集中探讨一些必备的线性代数知识。
2.1 标量,向量,矩阵和张量
标量(scalar):一个标量就是一个单独的数。用斜体表示标量,如s∈R
.
向量(vector):一个向量是一列数,我们用粗体的小写名称表示向量。比如x
,将向量x
写成方括号包含的纵柱:
矩阵(matrix):矩阵是二维数组,我们通常赋予矩阵粗体大写变量名称,比如A。如果一个矩阵高度是m,宽度是n,那么说A∈Rm×n。一个矩阵可以表示如下:
张量(tensor):某些情况下,我们会讨论不止维坐标的数组。如果一组数组中的元素分布在若干维坐标的规则网络中,就将其称为张量。用A表示,如张量中坐标为(i,j,k)的元素记作Ai,j,k。
转置(transpose):矩阵的转置是以对角线为轴的镜像,这条从左上角到右下角的对角线称为主对角线(main diagonal)。将矩阵A
的转置表示为A⊤
。定义如下:
A=⎡⎣⎢x11x21x31x12x22x32⎤⎦⎥⟹A⊤=[x11x21x21x22x31x32]
2.2 矩阵和向量相乘
矩阵乘法是矩阵运算中最重要的操作之一。两个矩阵A
和B的矩阵乘积(matrix product)是第三个矩阵C。矩阵乘法中A的列必须和B的行数相同。即如果矩阵A的形状是m×n,矩阵B的形状是n×p,那么矩阵C的形状就是m×p
。即
具体的地,其中的乘法操作定义为
矩阵乘积服从分配律
矩阵乘积也服从结合律
注意:矩阵乘积没有交换律
点积(dot product)两个相同维数的向量x
和y的点积可看作是矩阵乘积x⊤y
矩阵乘积的转置
利用向量的乘积是标量,标量的转置是自身的事实,我们可以证明(10)式:
线性方程组
Ax=b
2.3 单位矩阵和逆矩阵
线性代数中提供了矩阵逆(matrix inverse)的工具,使得我们能够解析地求解(11)中的A
.
单位矩阵(identity matrix):任意向量与单位矩阵相乘都不会改变。我们将保持n
维向量不变地单位矩阵记作为In,形式上In∈Rn×n
,
矩阵A的矩阵逆被记作A−1,被定义为如下形式:
(11)式方程组的求解:
方程组的解取决于能否找到一个逆矩阵A−1。接下来讨论逆矩阵A−1的存在的条件。
2.4 线性相关和生成子空间
如果逆矩阵A−1
存在,那么(11)式肯定对于每一个向量b恰好存在一个解。分析方程有多少个解,我们可以看成是A
的列向量的线性组合(linear combination)。
形式上,某个集合中向量的线性组合,是指每个向量乘以对应系数之后的和,即
一组向量的生成空间(span)是原始向量线性组合后所能抵达的点的集合。
线性无关(linearly independent): 如果一组向量中的任意一个向量都不能表示成其他向量的线性组合,那么这组向量被称之为线性无关。
要想使矩阵可逆,首先必须矩阵是一个方阵(square),即m=n
,其次,所有的列向量都是线性无关的。
一个列向量线性相关的方阵被称为奇异的(singular)。
2.5 范数
有时候我们需要衡量一个向量的大小,在机器学习中,我们使用称为范数(norm)的函数来衡量矩阵大小,形式上,Lp
范数如下:
其中p∈R,p≥1。
范数是将向量映射到非负值的函数。直观上来说,向量x
的范数就是衡量从原点到x
的举例。更严格来说,范数满足下列性质的函数:
当p=2
时,L2被称作欧几里得范数(Euclidean norm)。它表示从原点出发到向量x确定的点的欧几里得距离。平方L2范数常被用来衡量向量的大小,因为它便于求导计算(如对向量中每个元素的导数只取决于对应的元素,但是它也有缺陷,即它在原点附近增长得十分缓慢),可以简单用点积x⊤x来计算。
max 范数(max norm):这个范数表示向量中具有最大幅度得元素的绝对值,用L∞
范数表示,期形式为:
x⊤y=||x||2||y||2cosθ
2.6 特殊类型的矩阵和向量
对角矩阵(diagonal matrix)只在主对角线上含有非零元素,其它位置都是零。矩阵D
是对角矩阵,当且仅当∀i≠j,Di,j=0,用diag(v)表示一个对角元素由向量v中元素给定的对角矩阵。
对称(symmetric) 矩阵是任意转置和自己相等的矩阵:
单位向量(unit vector)是具有单位范数(unit norm)的向量:
正交矩阵(orthonormal matrix)是指行向量是标准正交的,列向量是标准正交的方阵:
所以正交矩阵受到关注是因为求逆计算代价小。需要注意正交矩阵的定义。反直觉地,正交矩阵的行向量不仅是正交的,还是标准正交的。对于行向量或列向量互相正交但不是标准正交的矩阵没有对应的专有术语。
2.7 特征分解
许多数学对象可以通过将它们分解成多个组成部分,或者找到它们的一些属性而被更好地理解,这些属性是通用的,而不是由我们选择表示它们的方式引起的。就像我们可以通过分解质因数来发现一些关于整数的真实性质,我们也可以通过分解矩阵来获取一些矩阵表示成数组元素时不明显的函数性质。
特征分解(eigendecomposition)是使用最广的矩阵分解之一,即我们将矩阵分解成一组特征向量和特征值。
方阵A
的特征向量(eigenvector)是指与A相乘后相当于对该向量进行缩放的非零向量v:
如果v
是A的特征向量,那么任何放缩后的向量sv(s∈R,s≠0)也是A的特征向量并且其与\bf v 有相同的特征值。所以我们通常只考虑单位特征向量。
假设矩阵A
有n个线性无关的特征向量{v(1),v(2),...,v(n)},对应着的特征值{λ1,λ2,...,λn}不是每一个矩阵都可以分解成特征值和特征向量,在某些情况下,特征分解会涉及到复数,而非实数。在本书的机器学习学习中,我们只讨论一类简单分解的矩阵。具体就是,每个实对称矩阵都可以分解为实特征向量和实特征值:
2.8 迹运算
迹运算返回的是矩阵对角元素的和:
标量的迹是它本身:a=Tr(a)。
2.9 行列式
行列式,记作det(A)
,是一个将方阵A映射到实数的函数。行列式等于矩阵特征值的乘积。行列式的绝对值可以被认为是衡量矩阵相乘后空间扩大或者缩小了多少。如果行列式是0, 那么空间至少沿着某一维完全收缩了,使其失去了所有的体积。如果行列式是1, 那么矩阵相乘没有改变空间体积。
总结
以上是在机器学习过程中必须了解和掌握的有关线性代数的知识
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA 数据分析师报考条件详解与准备指南 在数据驱动决策的时代浪潮下,CDA 数据分析师认证愈发受到瞩目,成为众多有志投身数 ...
2025-07-18刚入职场或是在职场正面临岗位替代、技能更新、人机协作等焦虑的打工人,想要找到一条破解职场焦虑和升职瓶颈的系统化学习提升 ...
2025-07-182025被称为“AI元年”,而AI,与数据密不可分。网易公司创始人丁磊在《AI思维:从数据中创造价值的炼金术 ...
2025-07-18CDA 数据分析师:数据时代的价值挖掘者 在大数据席卷全球的今天,数据已成为企业核心竞争力的重要组成部分。从海量数据中提取有 ...
2025-07-18SPSS 赋值后数据不显示?原因排查与解决指南 在 SPSS( Statistical Package for the Social Sciences)数据分析过程中,变量 ...
2025-07-18在 DBeaver 中利用 MySQL 实现表数据同步操作指南 在数据库管理工作中,将一张表的数据同步到另一张表是常见需求,这有助于 ...
2025-07-18数据分析师的技能图谱:从数据到价值的桥梁 在数据驱动决策的时代,数据分析师如同 “数据翻译官”,将冰冷的数字转化为清晰的 ...
2025-07-17Pandas 写入指定行数据:数据精细化管理的核心技能 在数据处理的日常工作中,我们常常需要面对这样的场景:在庞大的数据集里精 ...
2025-07-17解码 CDA:数据时代的通行证 在数字化浪潮席卷全球的今天,当企业决策者盯着屏幕上跳动的数据曲线寻找增长密码,当科研人员在 ...
2025-07-17CDA 精益业务数据分析:数据驱动业务增长的实战方法论 在企业数字化转型的浪潮中,“数据分析” 已从 “加分项” 成为 “必修课 ...
2025-07-16MySQL 中 ADD KEY 与 ADD INDEX 详解:用法、差异与优化实践 在 MySQL 数据库表结构设计中,索引是提升查询性能的核心手段。无论 ...
2025-07-16解析 MySQL Update 语句中 “query end” 状态:含义、成因与优化指南 在 MySQL 数据库的日常运维与开发中,开发者和 DBA 常会 ...
2025-07-16如何考取数据分析师证书:以 CDA 为例 在数字化浪潮席卷各行各业的当下,数据分析师已然成为企业挖掘数据价值、驱动决策的 ...
2025-07-15CDA 精益业务数据分析:驱动企业高效决策的核心引擎 在数字经济时代,企业面临着前所未有的数据洪流,如何从海量数据中提取有 ...
2025-07-15MySQL 无外键关联表的 JOIN 实战:数据整合的灵活之道 在 MySQL 数据库的日常操作中,我们经常会遇到需要整合多张表数据的场景 ...
2025-07-15Python Pandas:数据科学的瑞士军刀 在数据驱动的时代,面对海量、复杂的数据,如何高效地进行处理、分析和挖掘成为关键。 ...
2025-07-15用 SQL 生成逆向回滚 SQL:数据操作的 “后悔药” 指南 在数据库操作中,误删数据、错改字段或误执行批量更新等问题时有发生。 ...
2025-07-14t检验与Wilcoxon检验的选择:何时用t.test,何时用wilcox.test? t 检验与 Wilcoxon 检验的选择:何时用 t.test,何时用 wilcox. ...
2025-07-14AI 浪潮下的生存与进阶: CDA数据分析师—开启新时代职业生涯的钥匙(深度研究报告、发展指导白皮书) 发布机构:CDA数据科 ...
2025-07-13LSTM 模型输入长度选择技巧:提升序列建模效能的关键 在循环神经网络(RNN)家族中,长短期记忆网络(LSTM)凭借其解决长序列 ...
2025-07-11