趋近智
正如我们可以通过将向量 (vector)乘以一个数字(标量)来缩放它们一样,我们也可以对矩阵进行相同的操作。矩阵的标量乘法涉及取一个数字(标量),然后用该数字乘以矩阵中的每个元素。这个操作会均匀地缩放整个矩阵。
假设你有一个矩阵,它可能代表灰度图像的像素强度。将这个矩阵乘以标量2,会使得每个像素的强度加倍,从而使图像整体更亮。
设 是一个 矩阵, 是一个标量(实数)。 与 的标量乘法,表示为 ,会得到一个新的 矩阵,我们称之为 。结果矩阵 的每个元素 ,是通过将原始矩阵 的对应元素 乘以标量 得到的。
数学上,如果 ,那么: 对于所有有效的行索引 和列索引 。
在标量乘法过程中,矩阵的维度不会改变。如果 是 ,那么 也是 。
让我们取标量 和一个 矩阵 :
要计算 ,我们将 的每个元素乘以 3: 结果矩阵与原始矩阵 具有相同的维度()。
使用 NumPy 进行标量乘法很简单。NumPy 数组重载了标准的乘法运算符 *,当其中一个操作数是标量时,用于执行逐元素操作。
以下是使用 NumPy 执行前面示例的方法:
import numpy as np
# 定义矩阵 A
A = np.array([
[1, 0, -2],
[4, 5, 3]
])
# 定义标量 c
c = 3
# 执行标量乘法
B = c * A
# 打印原始矩阵和结果
print("原始矩阵 A:\n", A)
print("\n标量 c:", c)
print("\n标量乘法的结果 (c * A):\n", B)
输出:
Original Matrix A:
[[ 1 0 -2]
[ 4 5 3]]
Scalar c: 3
Result of Scalar Multiplication (c * A):
[[ 3 0 -6]
[12 15 9]]
如你所见,NumPy 能够高效地处理逐元素乘法。这种简单性是 NumPy 在 Python 数值计算中被广泛应用的原因之一。
标量乘法与其他矩阵运算(如加法)的相互作用是可预测的。例如,标量乘法对矩阵加法满足分配律。如果 和 是相同维度的矩阵, 是一个标量,那么: 此外,如果 和 是标量:
这些性质在处理涉及矩阵和标量的代数表达式时很有用。
标量乘法是一种基本工具,用于缩放以矩阵形式表示的数据,这是机器学习 (machine learning)算法数据预处理步骤中的常见要求。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•