人工智能入门学习DAY2

一、今日学习目标

1、掌握矩阵核心算法:加法,数乘,矩阵乘法,转置

2、理解矩阵乘法的几何意义

3、 用NumPy实现所有的基础矩阵运算


二、矩阵的核心算法

1、矩阵加法

本质:

矩阵的对应位置相加

条件:

矩阵的行列数必须完全相同

公式:

若:A = (ai,j),B=(bi,j)
则:C = A + B = (ai,j + bi,j)

例如:

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

那么:

\( A + B = \begin{bmatrix} 6 & 8 \\ 10 & 12 \end{bmatrix} \)


2、矩阵数乘

本质:

对矩阵整体进行放缩

规则:

矩阵内的每个数都与这个数相乘

例如:

\( 2A= \begin{bmatrix} 2 & 4 \\ 6 & 8 \end{bmatrix} \)


3、矩阵乘法

本质:

矩阵行与列的点积

条件:

A 是 m×n
B 是 n×p
中间维度必须相同!!!!

规则:

第i行 × 第j列

公式:

\[C_{ij} = \sum_{k=1}^{n} A_{ik} B_{kj} \]

例如:

\( AB= \begin{bmatrix} 1 × 5 + 2 × 7 = 19 & 1 × 6 + 2 × 8 = 22\\ 3 × 5 + 4 × 7 = 43 & 3 × 6 + 4 × 8 = 50 \end{bmatrix} \)

重要性质:

  • 不满足交换律!!!

\[\Large AB ≠ BA \]


4、转置

本质:

行列互换

定义:

\[A^T \]

例如:

\( A= \begin{bmatrix} 1 & 2 & 3\\ 4 & 5 & 6 \end{bmatrix} \)

\( A^T= \begin{bmatrix} 1 & 4 \\ 2 & 5 \\ 3 & 6 \end{bmatrix} \)

补充:单位矩阵

记作:

\[I= \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} \]

性质:

\[AI = IA = A \]


三、矩阵乘法的几何意义

1、核心结论

矩阵本质上表示一种“线性变换”
矩阵乘法 = 线性变换的复合(叠加)


2、矩阵如何作用在向量上

设一个二维向量:

\[\begin{bmatrix} x \\ y \end{bmatrix} \]

一个矩阵:

\[A = \begin{bmatrix} a & b \\ c & d \end{bmatrix} \]

作用结果为:

\[A \begin{bmatrix} x \\ y \end{bmatrix} \]


3、列向量视角

将矩阵拆成两列:

\[\vec{v}_1 = \begin{bmatrix} a \\ c \end{bmatrix}, \quad \vec{v}_2 = \begin{bmatrix} b \\ d \end{bmatrix} \]

那么有:

\[A \begin{bmatrix} x \\ y \end{bmatrix} = x \vec{v}_1 + y \vec{v}_2 \]

这意味着:

  • 原来的坐标 \((x, y)\)
  • 被映射为:
    • \(x\) 倍的第一列向量
    • 加上 \(y\) 倍的第二列向量

4、几何直观理解

1. 矩阵在“改变坐标系”

矩阵的两列:

  • 第一列:原本的 x轴 变成哪里
  • 第二列:原本的 y轴 变成哪里

本质:坐标轴被重新定义了


2. 常见几何变换

(1)拉伸 / 压缩

\[\begin{bmatrix} 2 & 0 \\ 0 & 1 \end{bmatrix} \]

x方向放大 2 倍


(2)旋转

\[\begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} \]

整个空间旋转 \(\theta\)


(3)剪切(Shear)

\[\begin{bmatrix} 1 & 1 \\ 0 & 1 \end{bmatrix} \]

图形被“斜着拉”


5、矩阵乘法的几何意义(重点)

设两个矩阵:

\[AB \]

它作用在向量上:

\[AB\vec{x} = A(B\vec{x}) \]

含义:

  1. 先进行 B 变换
  2. 再进行 A 变换

6、直观理解:变换的叠加

想象一个单位正方形:

  1. 先用矩阵 \(B\) 进行变形
  2. 再用矩阵 \(A\) 再变形一次

最终效果就是矩阵乘积 \(AB\)


7、为什么矩阵乘法不满足交换律?

\[AB \ne BA \]

原因:

  • 先旋转再拉伸 ≠ 先拉伸再旋转
  • 变换顺序不同,结果不同

本质:变换是有顺序的


8、更高阶理解:基底变换

矩阵乘法还可以理解为:

  • 第一个矩阵:改变坐标系
  • 第二个矩阵:在新坐标系下继续变换

本质是:基底(basis)的连续变化


9、在计算机 / 深度学习中的意义

在线性模型中:

\[y = Wx \]

矩阵 \(W\) 的作用:

  • 特征组合
  • 信息压缩 / 扩展
  • 空间投影

本质仍然是:线性变换


10、一句话总结

矩阵乘法 = 线性变换的复合


四、用NumPy实现所有的基础矩阵运算

NumPy 是 Python 中进行数值计算的核心库,矩阵运算非常高效且简洁。


1、安装与导入

pip install numpy
import numpy as np

2、创建矩阵

A = np.array([[1, 2],
              [3, 4]])

B = np.array([[5, 6],
              [7, 8]])

3、矩阵加法

C = A + B
print(C)

输出

[[ 6  8]
 [10 12]]

4、数乘

C = 2 * A
print(C)

输出

[[2 4]
 [6 8]]

5、矩阵乘法

方法1:使用 @

C = A @ B
print(C)

方法2:使用 np.dot

C = np.dot(A, B)
print(C)

输出:

[[19 22]
 [43 50]]

6、转置矩阵

A_T = A.T
print(A_T)

输出:

[[1 3]
 [2 4]]

总结

关于矩阵的运算是机器学习的前置知识中非常重要的一个点,在理解矩阵是如何运算的同时,我们要明白其在处理数据当中的应用,我将其归纳如下:

  • 加法 = 数据叠加
  • 数乘 = 权重缩放
  • 乘法 = 信息融合 / 线性变换
  • 转置 = 改变数据视角
    在理解了这些后,我们才能够更深一步的了解神经网络相关的内容
posted @ 2026-03-25 23:11  YZG5N  阅读(71)  评论(0)    收藏  举报