趋近智
尽管矩阵运算的一般规则适用于所有满足维度要求的矩阵,某些矩阵具有特殊的结构和性质,这使其特别有用。识别这些结构可以简化计算,并有助于更好地理解它们所代表的变换或数据。接下来,我们来看看在机器学习中会遇到的一些最常见的特殊矩阵。
方阵是一种行数和列数相同的矩阵。它的维度为 nimesn。方阵在数学和机器学习中是一种常见的特殊矩阵类型,具有独特的结构和性质。
A=438951276上面的矩阵 A 是一个 3×3 的方阵。我们将要查看的许多特殊矩阵,包括单位矩阵、对角矩阵和对称矩阵,都要求是方阵。
单位矩阵,记作 I 或 In,是矩阵中的数字 1。在普通算术中,任何数乘以 1 都会保持不变。同样,任何矩阵乘以单位矩阵后也会保持不变。
单位矩阵是一个方阵,其主对角线(从左上到右下的元素)上的元素为 1,其余元素均为 0。
下面是 2×2 和 3×3 大小的单位矩阵:
I2=[1001]I3=100010001单位矩阵的主要属性是,对于任何矩阵 A,以下关系成立:
A⋅I=I⋅A=A这一属性是解决线性方程组的核心要素,我们将在下一章中介绍。
你可以使用 NumPy 的 eye() 函数轻松创建一个单位矩阵。
import numpy as np
# 创建一个 3x3 单位矩阵
I = np.eye(3)
print(I)
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
对角矩阵是一个方阵,其中所有不在主对角线上的元素都是零。主对角线上的元素可以是任何值,包括零。单位矩阵是一种特殊的对角矩阵,其所有对角线元素都为 1。
这是一个 3×3 对角矩阵的例子:
D=7000−20005对角矩阵在计算上效率很高。将一个矩阵乘以对角矩阵会产生缩放该矩阵行或列的效果,这是线性变换中一个必要的操作。例如,它们可以用来缩放数据集中的单个特征。
NumPy 的 diag() 函数可以用来从数字列表或数组创建对角矩阵。
import numpy as np
# 从值列表中创建一个对角矩阵
D = np.diag([7, -2, 5])
print(D)
[[ 7 0 0]
[ 0 -2 0]
[ 0 0 5]]
对称矩阵是一个方阵,它与其转置矩阵相同。换句话说,如果矩阵 A 满足以下条件,它就是对称的:
A=AT这表示第 i 行第 j 列的元素等于第 j 行第 i 列的元素。矩阵是其自身沿主对角线的镜像。
这是一个对称矩阵的例子:
S=18−3874−349注意 (1,2) 处的元素是 8,而 (2,1) 处的元素也是 8。(1,3) 处的元素是 -3,而 (3,1) 处的元素也是 -3。
对称矩阵在机器学习中经常出现。一个最常见的例子是协方差矩阵,它描述了数据集中不同特征之间的方差和协方差。由于特征 X 和特征 Y 之间的协方差与 Y 和 X 之间的协方差相同,因此生成的矩阵始终是对称的。
你可以通过将其与转置矩阵进行比较来检查矩阵是否对称。
import numpy as np
S = np.array([[1, 8, -3],
[8, 7, 4],
[-3, 4, 9]])
# 检查对称性
is_symmetric = (S == S.T).all()
print(f"矩阵是对称的吗? {is_symmetric}")
矩阵是对称的吗? True
下面的图表展示了这些特殊矩阵类型之间的关系。
一张图表,展示了不同类型的方阵之间的关系。例如,单位矩阵是对角矩阵的一种更具体的形式。
另外两种值得了解的矩阵类型是三角矩阵和零矩阵。
这些特殊矩阵构成了一个工具集,简化了线性代数和机器学习中的许多问题。识别它们可以让你应用高效算法,并更好地理解数据结构。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造