趋近智
本课程已归档: 现已推出包含更新教学大纲和改进内容的新版本。
正如我们可以通过将向量乘以一个数字(标量)来缩放它们一样,我们也可以对矩阵进行相同的操作。矩阵的标量乘法涉及取一个数字(标量),然后用该数字乘以矩阵中的每个元素。这个操作会均匀地缩放整个矩阵。
假设你有一个矩阵,它可能代表灰度图像的像素强度。将这个矩阵乘以标量2,会使得每个像素的强度加倍,从而使图像整体更亮。
设 A 是一个 m×n 矩阵,c 是一个标量(实数)。A 与 c 的标量乘法,表示为 cA,会得到一个新的 m×n 矩阵,我们称之为 B。结果矩阵 B 的每个元素 Bij,是通过将原始矩阵 A 的对应元素 Aij 乘以标量 c 得到的。
数学上,如果 B=cA,那么: Bij=c⋅Aij 对于所有有效的行索引 i 和列索引 j。
在标量乘法过程中,矩阵的维度不会改变。如果 A 是 m×n,那么 cA 也是 m×n。
让我们取标量 c=3 和一个 2×3 矩阵 A: A=(1405−23)
要计算 3A,我们将 A 的每个元素乘以 3: 3A=3(1405−23) =(3×13×43×03×53×(−2)3×3) =(312015−69) 结果矩阵与原始矩阵 A 具有相同的维度(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 数值计算中被广泛应用的原因之一。
标量乘法与其他矩阵运算(如加法)的相互作用是可预测的。例如,标量乘法对矩阵加法满足分配律。如果 A 和 B 是相同维度的矩阵,c 是一个标量,那么: c(A+B)=cA+cB 此外,如果 c 和 d 是标量: (c+d)A=cA+dA c(dA)=(cd)A
这些性质在处理涉及矩阵和标量的代数表达式时很有用。
标量乘法是一种基本工具,用于缩放以矩阵形式表示的数据,这是机器学习算法数据预处理步骤中的常见要求。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造