趋近智
在学习了矩阵乘法之后,另一个你需要掌握的基本运算是转置。本质上,转置矩阵是一个简单的操作:它将矩阵沿其主对角线“翻转”。主对角线是从左上角延伸至右下角的一组元素。当你转置一个矩阵时,它的行变为列,列变为行。
如果你将矩阵视为表示一个数据集,其中行是数据样本,列是特征,那么转置操作有效地交换了这种表示方式。转置后,行将代表特征,列将代表数据样本。这种重新调整数据方向的能力出乎意料的有效,并常被用于数据预处理和机器学习 (machine learning)算法的构建中。
矩阵 的转置记作 。规则很简单: 中第 行第 列的元素变为 的第 行第 列的元素。如果原始矩阵 的维度为 (意即 行 列),那么它的转置 的维度将是 。
我们来看一个例子。考虑以下 矩阵 :
要找到它的转置 ,我们将 的第一行 [1, 2, 3] 变为 的第一列。然后将 的第二行 [4, 5, 6] 变为 的第二列。得到的矩阵是:
可以看到,维度已经从 翻转为 。下图展示了这种沿着主对角线的翻转操作。
主对角线元素(1和5)在转置过程中保持不变。其他元素则沿着这条对角线进行反射。
转置具有一些有用的代数性质,值得了解。对于任意矩阵 和 (具有兼容的形状)以及任意标量 :
你可能会想,我们为什么需要这个操作。转置不仅仅是数学上的奇趣;它是重塑数据和实现计算的核心工具。
它的主要用途之一是使矩阵维度兼容以进行乘法。例如,两个列向量 (vector) 和 之间的点积无法通过标准矩阵乘法计算,因为它们的形状(例如 和 )不兼容。然而,通过转置第一个向量,你可以将点积重写为矩阵乘法:
这个表达式中,一个 矩阵乘以一个 矩阵,这是有效且会产生一个 的标量结果,这正是点积的定义。这种技术在机器学习 (machine learning)中随处可见,尤其是在线性回归和神经网络 (neural network)的方程中。
在 NumPy 中执行转置操作非常简单。NumPy 数组有一个 .T 属性,它返回矩阵的转置版本。你不需要特殊的函数;只需访问这个属性即可。
下面是如何在 Python 中创建一个矩阵及其转置:
import numpy as np
# 创建一个 2x4 矩阵 (2 行, 4 列)
A = np.array([
[10, 20, 30, 40],
[50, 60, 70, 80]
])
print("原始矩阵 A:")
print(A)
print("A 的形状:", A.shape)
# 使用 .T 属性获取转置
A_transpose = A.T
print("\n转置矩阵 A.T:")
print(A_transpose)
print("A.T 的形状:", A_transpose.shape)
输出:
原始矩阵 A:
[[10 20 30 40]
[50 60 70 80]]
A 的形状: (2, 4)
转置矩阵 A.T:
[[10 50]
[20 60]
[30 70]
[40 80]]
A.T 的形状: (4, 2)
代码证实了转置操作将数组的形状从 (2, 4) 翻转为 (4, 2)。这个简单的 .T 属性是你为机器学习 (machine learning)模型准备数据时会经常使用的。它是一个基本工具,用于在将矩阵输入算法之前,正确地重塑和对齐 (alignment)矩阵。
这部分内容有帮助吗?
ndarray.T属性的官方文档,展示了其在数组转置中的用法。© 2026 ApX Machine LearningAI伦理与透明度•