Jupyter AI

6 AI必备线性代数小白教程:矩阵运算之矩阵加法与数乘

📅发表日期: 2024-08-10

🏷️分类: AI线性代数小白

👁️阅读次数: 0

在线性代数中,矩阵是一个重要的数学工具,经常用于数据处理和机器学习模型的构建。在前一篇中,我们讨论了向量与矩阵的运算,这为理解矩阵运算奠定了基础。本篇将重点讲解矩阵的加法与数乘,这些运算是更高阶矩阵运算的基础。

矩阵加法

矩阵加法是指将两个相同尺寸的矩阵对应元素相加。假设我们有两个矩阵 AABB,它们的维度都是 m×nm \times n,那么矩阵加法的定义如下:

C=A+B,C[i,j]=A[i,j]+B[i,j](1im, 1jn)C = A + B, \quad C[i,j] = A[i,j] + B[i,j] \quad (1 \leq i \leq m, \ 1 \leq j \leq n)

示例

考虑以下两个 2×22 \times 2 矩阵:

A=(1234),B=(5678)A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}, \quad B = \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix}

我们可以计算矩阵 C=A+BC = A + B,对应元素相加:

C=(1+52+63+74+8)=(681012)C = \begin{pmatrix} 1 + 5 & 2 + 6 \\ 3 + 7 & 4 + 8 \end{pmatrix} = \begin{pmatrix} 6 & 8 \\ 10 & 12 \end{pmatrix}

Python 实现

使用 NumPy 库,我们可以轻松实现矩阵加法:

import numpy as np

A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
C = A + B

print(C)

运行以上代码,输出结果为:

[[ 6  8]
 [10 12]]

矩阵数乘

矩阵数乘是指将一个矩阵的每个元素都乘以一个标量。假设矩阵 AA 的维度是 m×nm \times n,标量为 kk,那么矩阵数乘的定义如下:

B=kA,B[i,j]=kA[i,j](1im, 1jn)B = kA, \quad B[i,j] = k \cdot A[i,j] \quad (1 \leq i \leq m, \ 1 \leq j \leq n)

示例

考虑一个标量 k=3k = 3 和矩阵 AA

A=(1234)A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}

我们计算矩阵 B=3AB = 3A

B=3(1234)=(31323334)=(36912)B = 3 \cdot \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} = \begin{pmatrix} 3 \cdot 1 & 3 \cdot 2 \\ 3 \cdot 3 & 3 \cdot 4 \end{pmatrix} = \begin{pmatrix} 3 & 6 \\ 9 & 12 \end{pmatrix}

Python 实现

继续使用 NumPy 库,可以如下实现矩阵数乘:

k = 3
B = k * A

print(B)

运行以上代码,输出结果为:

[[ 3  6]
 [ 9 12]]

定义点

  • 矩阵加法和数乘遵循一些重要的性质,例如:
    • 加法的交换律A+B=B+AA + B = B + A
    • 加法的结合律A+(B+C)=(A+B)+CA + (B + C) = (A + B) + C
    • 数乘的分配律k(A+B)=kA+kBk(A + B) = kA + kB

通过矩阵加法和数乘,我们可以对数据进行线性组合,这是线性代数在机器学习中应用的基础。在下一篇中,我们将讨论更复杂的矩阵运算——矩阵乘法及其性质。

小结:本节内容为理解更复杂的矩阵乘法和其他运算提供了基础。掌握矩阵加法和数乘,将为后续学习和实际应用打下良好的基础。

💬 评论

暂无评论