深度学习预备知识:数据操作、线性代数与微积分基础

深度学习预备知识:数据操作、线性代数与微积分基础

深度学习预备知识:数据操作、线性代数与微积分基础

作为入门深度学习的第一步,扎实的数学和数据操作基础必不可少。这篇笔记整理了深度学习核心的预备知识,涵盖数据结构、线性代数、降维方法和微积分等内容,是入门的"打底"内容。

一、数据操作:N维数组(张量)是核心

在机器学习和神经网络中,N维数组(也称为张量) 是承载数据的核心结构。不同维度的张量对应不同的应用场景:

维度 名称 应用场景示例
0-d 标量 表示一个类别(如"猫""狗"的标签)
1-d 向量 一个样本的特征向量(如一个人的身高、体重等特征)
2-d 矩阵 样本-特征矩阵(多行样本+多列特征)
3-d 3维张量 RGB图片(宽 × 高 × 颜色通道)
4-d 4维张量 RGB图片批量(批量大小 × 宽 × 高 × 通道)
5-d 5维张量 视频批量(批量大小 × 时间 × 宽 × 高 × 通道)

张量元素的访问(以4×4矩阵为例)

对于一个4×4的矩阵,我们可以通过索引灵活访问元素、行、列或子区域:

  • 单个元素[1,2] → 比如取到值7(注:索引规则依工具而定,通常从0或1开始)
  • 整行[1,:] → 访问第1行的所有列,比如得到(5,6,7,8)
  • 整列[:,1] → 访问第1列的所有行,比如得到(2,6,10,14)
  • 子区域
    • [1:3,1:](左闭右开)→ 取第1-2行、第1列之后的区域,得到(6,7,8,10,11,12)
    • [:,1:3,:2](步长)→ 每3行取一次、每2列取一次,得到(1,3,13,15)

二、线性代数:标量、向量与矩阵运算

线性代数是深度学习的"数学骨架",核心是标量、向量、矩阵的操作。

1. 标量(0维张量)

标量是单个数值,基础操作包括:

  • 简单运算 : C = a + b C = a+b C=a+b、 c = a ⋅ b c=a\cdot b c=a⋅b、 c = sin ⁡ a c=\sin a c=sina
  • 长度(绝对值)
    ∣ a ∣ = { a i f a > 0 − a o t h e r w i s e |a|=\begin{cases}a & if\ a>0 \\ -a & otherwise\end{cases} ∣a∣={a−aif a>0otherwise
  • 不等式性质 : ∣ a + b ∣ ≤ ∣ a ∣ + ∣ b ∣ |a+b|≤|a|+|b| ∣a+b∣≤∣a∣+∣b∣、 ∣ a ⋅ b ∣ = ∣ a ∣ ⋅ ∣ b ∣ |a\cdot b|=|a|\cdot |b| ∣a⋅b∣=∣a∣⋅∣b∣

2. 向量(1维张量)

向量是有序的数值集合,操作包括:

  • 逐元素运算
    • 加法: c = a + b c = a+b c=a+b( c i = a i + b i c_i = a_i + b_i ci=ai+bi)
    • 乘法: c = a ⋅ b c = a\cdot b c=a⋅b( c i = a i b i c_i = a_i b_i ci=aibi)
    • 函数映射: c = sin ⁡ a c = \sin a c=sina( c i = sin ⁡ a i c_i = \sin a_i ci=sinai)
  • 长度(L2范数)
    ∣ ∣ a ∣ ∣ 2 = [ ∑ i n a i 2 ] 1 2 ||a||2 = \left[\sum{i}^{n} a_i^2\right]^{\frac{1}{2}} ∣∣a∣∣2=[i∑nai2]21
    性质: ∣ ∣ a ∣ ∣ ≥ 0 ||a|| ≥ 0 ∣∣a∣∣≥0、 ∣ ∣ a + b ∣ ∣ ≤ ∣ ∣ a ∣ ∣ + ∣ ∣ b ∣ ∣ ||a+b|| ≤ ||a|| + ||b|| ∣∣a+b∣∣≤∣∣a∣∣+∣∣b∣∣、 ∣ ∣ a ⋅ b ∣ ∣ ≤ ∣ a ∣ ⋅ ∣ ∣ b ∣ ∣ ||a\cdot b|| ≤ |a| \cdot ||b|| ∣∣a⋅b∣∣≤∣a∣⋅∣∣b∣∣
  • 点乘 :两个向量的对应元素相乘再求和
    a T b = ∑ i n a i b i a^T b = \sum_{i}^{n} a_i b_i aTb=i∑naibi
  • 正交 :若两个向量点乘为0,则它们正交
    a T b = ∑ i n a i b i = 0 a^T b = \sum_{i}^{n} a_i b_i = 0 aTb=i∑naibi=0

3. 矩阵(2维张量)

矩阵是二维的数值表格,操作包括:

  • 逐元素运算
    • 加法: C = A + B C = A+B C=A+B( C i j = A i j + B i j C_{ij} = A_{ij} + B_{ij} Cij=Aij+Bij)
    • 数乘: C = α ⋅ B C = \alpha \cdot B C=α⋅B( C i j = α B i j C_{ij} = \alpha B_{ij} Cij=αBij)
    • 函数映射: C = sin ⁡ A C = \sin A C=sinA( C i j = sin ⁡ A i j C_{ij} = \sin A_{ij} Cij=sinAij)
  • 矩阵乘法
    • 矩阵×向量: c = A b c = Ab c=Ab( c i = ∑ j n A i j b j c_i = \sum_{j}^{n} A_{ij} b_j ci=∑jnAijbj)
    • 矩阵×矩阵: C = A B C = AB C=AB( C i k = ∑ j n A i j B j k C_{ik} = \sum_{j}^{n} A_{ij} B_{jk} Cik=∑jnAijBjk)

三、降维方法:高维数据的简化

深度学习中常处理高维数据,降维是关键步骤,常见方法有3类:

1. 聚合降维(Aggregation)

通过统计聚合操作(求和、平均、最大/最小值)直接降低维度,比如对图片的像素求平均得到一个标量。

2. 投影降维(Projection)

通过变换映射将高维数据投射到低维空间:

  • 线性变换:如PCA(主成分分析),比如将100维数据投影到3维,保留主要信息
  • 非线性变换:如t-SNE,用于高维数据可视化(比如把MNIST手写数字降到2D展示)

3. 特征选择降维(Feature Selection)

直接删除不重要的特征列

  • 删去方差接近0的特征(无变化的数据,无区分度)
  • 用统计方法(如卡方检验)筛选核心特征

四、范数:衡量向量的"大小"

范数是将向量(或矩阵)映射为非负标量 的函数,核心作用是量化向量的"模长"或矩阵的"复杂度",是深度学习中正则化、距离度量、优化目标 的核心工具。一个函数 f ( x ) f(\boldsymbol{x}) f(x) 要成为范数,必须满足以下3个刚性性质:

  1. 缩放性 : f ( α x ) = ∣ α ∣ ⋅ f ( x ) f(\alpha \boldsymbol{x}) = |\alpha| \cdot f(\boldsymbol{x}) f(αx)=∣α∣⋅f(x)( α \alpha α 为任意常数)
    含义:向量缩放 ∣ α ∣ |\alpha| ∣α∣ 倍,其范数也缩放 ∣ α ∣ |\alpha| ∣α∣ 倍,保证范数与向量的缩放比例一致。
  2. 三角不等式 : f ( x + y ) ≤ f ( x ) + f ( y ) f(\boldsymbol{x}+\boldsymbol{y}) \leq f(\boldsymbol{x})+f(\boldsymbol{y}) f(x+y)≤f(x)+f(y)
    含义:两个向量和的范数,不大于两个向量范数的和,对应几何中的"三角形两边之和大于第三边"。
  3. 非负性 : f ( x ) ≥ 0 f(\boldsymbol{x}) \geq 0 f(x)≥0,且当且仅当 x = 0 \boldsymbol{x}=\boldsymbol{0} x=0(零向量)时, f ( x ) = 0 f(\boldsymbol{x})=0 f(x)=0
    含义:范数的结果是一个非负数,只有零向量的范数为0,保证范数能有效衡量"大小"。

1. 常见的 L-P 范数

对于 n n n 维向量 X = ( x 1 , x 2 , ⋯   , x n ) \boldsymbol{X}=(x_1,x_2,\cdots,x_n) X=(x1,x2,⋯,xn),L-P 范数的通用定义为:
L p = ∣ ∣ X ∣ ∣ p = [ ∑ i = 1 n ∣ x i ∣ p ] 1 p L_p = ||\boldsymbol{X}||p = \left[\sum{i=1}^{n} |x_i|^p\right]^{\frac{1}{p}} Lp=∣∣X∣∣p=[i=1∑n∣xi∣p]p1

其中 p ≥ 1 p\geq1 p≥1,不同的 p p p 值对应不同的范数,各有其几何意义和应用场景。

(1)L1 范数(曼哈顿距离)

当 p = 1 p=1 p=1 时,得到 L1 范数,其定义为:
∣ ∣ X ∣ ∣ 1 = ∑ i = 1 n ∣ x i ∣ ||\boldsymbol{X}||1 = \sum{i=1}^{n} |x_i| ∣∣X∣∣1=i=1∑n∣xi∣

  • 几何意义 :在二维空间中,L1 范数对应两点沿坐标轴的"直角距离"(如从 ( x 1 , y 1 ) (x_1,y_1) (x1,y1) 到 ( x 2 , y 2 ) (x_2,y_2) (x2,y2) 的距离为 ∣ x 1 − x 2 ∣ + ∣ y 1 − y 2 ∣ |x_1-x_2|+|y_1-y_2| ∣x1−x2∣+∣y1−y2∣),因类似曼哈顿街区的路径而得名。
  • 核心特点 :对向量中的异常值敏感度较低 ,且具有稀疏性诱导能力------优化过程中会倾向于让向量的部分元素变为 0,保留关键元素。
  • 深度学习应用
    • L1 正则化:在损失函数中添加 L1 范数项,迫使模型的部分权重变为 0,实现特征选择,简化模型结构。
    • 鲁棒性模型:处理含噪声或离群点的数据时,L1 范数能降低异常值对模型的干扰。
(2)L2 范数(欧氏距离)

当 p = 2 p=2 p=2 时,得到 L2 范数,其定义为:
∣ ∣ X ∣ ∣ 2 = ∑ i = 1 n x i 2 ||\boldsymbol{X}||2 = \sqrt{\sum{i=1}^{n} x_i^2} ∣∣X∣∣2=i=1∑nxi2

  • 几何意义:对应二维/三维空间中两点的直线距离,是最直观的"向量长度"度量方式。
  • 核心特点 :对向量中的异常值敏感度较高(平方运算会放大异常值的影响),优化过程中会让向量的所有元素均匀趋近于 0(而非直接置 0)。
  • 深度学习应用
    • L2 正则化(权重衰减):在损失函数中添加 L2 范数项,限制模型权重的大小,防止过拟合,使模型更稳定。
    • 距离度量:KNN、K-Means 等算法中,用 L2 范数计算样本间的相似度。
    • 梯度下降优化:通过计算损失函数的 L2 范数,衡量梯度的大小,调整学习率。
(3)L∞ 范数(无穷范数)

当 p → ∞ p\to\infty p→∞ 时,L-P 范数收敛到 L∞ 范数,其定义为:
∣ ∣ X ∣ ∣ ∞ = max ⁡ ( ∣ x 1 ∣ , ∣ x 2 ∣ , ... , ∣ x n ∣ ) ||\boldsymbol{X}||_\infty = \max(|x_1|,|x_2|,\dots,|x_n|) ∣∣X∣∣∞=max(∣x1∣,∣x2∣,...,∣xn∣)

  • 几何意义 :L∞ 范数只关注向量中绝对值最大的元素,忽略其他元素的影响,对应二维空间中以原点为中心的"正方形"距离边界。
  • 核心特点:极端关注向量的"峰值",能快速衡量向量的最大幅值。
  • 深度学习应用
    • 对抗性攻击:衡量模型输入的最大扰动幅度,评估模型的鲁棒性。
    • 梯度裁剪:限制梯度的 L∞ 范数,防止梯度爆炸。

2. 矩阵的范数

范数的概念可扩展到矩阵,深度学习中最常用的是 F-范数(弗罗贝尼乌斯范数) ,对于 m × n m\times n m×n 矩阵 A \boldsymbol{A} A,其定义为:
∣ ∣ A ∣ ∣ F = ∑ i = 1 m ∑ j = 1 n A i j 2 ||\boldsymbol{A}||F = \sqrt{\sum{i=1}^{m} \sum_{j=1}^{n} A_{ij}^2} ∣∣A∣∣F=i=1∑mj=1∑nAij2

  • 核心特点:等价于将矩阵拉伸为一个长向量后计算 L2 范数,满足范数的三个基本性质。
  • 深度学习应用
    • 矩阵近似:衡量原始矩阵与低秩矩阵的差异,用于主成分分析(PCA)、奇异值分解(SVD)等降维算法。
    • 模型参数正则化:限制神经网络中权重矩阵的 F-范数,防止参数过大导致的过拟合。

3. 范数的核心应用总结

范数类型 核心特点 典型应用场景
L1 范数 诱导稀疏性、对异常值鲁棒 特征选择、L1 正则化
L2 范数 衡量欧氏长度、平滑权重 权重衰减、距离度量
L∞ 范数 关注最大幅值 梯度裁剪、对抗性攻击评估
F-范数 矩阵的整体大小度量 低秩矩阵近似、权重正则化

五、微积分:深度学习的"优化工具"

微积分用于求解函数的变化率,是梯度下降等优化算法的基础。

1. 函数

函数是"输入→输出"的映射关系,比如深度学习中常用的线性函数
y = w x + b y = wx + b y=wx+b

( w w w是权重, b b b是偏置)

2. 导数与偏导数

  • 导数:函数在某一点的斜率,衡量单变量函数的变化率
  • 偏导数 :针对多元函数 (如 z = x 2 + y 2 z = x^2 + y^2 z=x2+y2),对其中一个变量求导时,将其他变量视为常数
    示例: ∂ z ∂ x = 2 x \frac{\partial z}{\partial x} = 2x ∂x∂z=2x, ∂ z ∂ y = 2 y \frac{\partial z}{\partial y} = 2y ∂y∂z=2y

3. 梯度(Gradient)

梯度是多元函数的偏导数组成的向量 ,表示函数变化最快的方向:

设输入是n维向量 X = [ x 1 , x 2 , ⋯   , x n ] T X = [x_1,x_2,\cdots,x_n]^T X=[x1,x2,⋯,xn]T,输出是标量,则梯度为:
∇ X f ( x ) = [ ∂ f ( x ) ∂ x 1 , ∂ f ( x ) ∂ x 2 , ⋯   , ∂ f ( x ) ∂ x n ] T \nabla_X f(x) = \left[\frac{\partial f(x)}{\partial x_1}, \frac{\partial f(x)}{\partial x_2}, \cdots, \frac{\partial f(x)}{\partial x_n}\right]^T ∇Xf(x)=[∂x1∂f(x),∂x2∂f(x),⋯,∂xn∂f(x)]T

4. 链式法则

用于求解复合函数的导数(深度学习反向传播的核心):

若 y = f ( u ) y=f(u) y=f(u)且 u = g ( x ) u=g(x) u=g(x)都可微,则:
d y d x = d y d u ⋅ d u d x \frac{dy}{dx} = \frac{dy}{du} \cdot \frac{du}{dx} dxdy=dudy⋅dxdu


相关推荐
子午1 小时前
【中草药识别系统】Python+TensorFlow+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
数据门徒1 小时前
《人工智能现代方法(第4版)》 第4章 复杂环境中的搜索 学习笔记
人工智能·算法
许泽宇的技术分享1 小时前
X-AnyLabeling深度解析:让AI标注像呼吸一样自然
人工智能
Hernon1 小时前
AI智能体 - 人机协同模式
人工智能·ai智能体·ai开发框架·ai智能体设计方法论
新智元1 小时前
库克告别苹果,「九子夺嫡」争夺 CEO 大战开始了
人工智能·openai
菜鸟‍1 小时前
【论文学习】SAMed-2: 选择性记忆增强的医学任意分割模型
人工智能·学习·算法
新智元1 小时前
奥特曼仓促亮剑 GPT-5.2!一张图爆火全网,全面碾压 Gemini 3
人工智能·openai
檐下翻书1731 小时前
集团组织架构图在线设计 多部门协作编辑工具
大数据·论文阅读·人工智能·物联网·架构·流程图·论文笔记
机器之心1 小时前
英伟达CUDA迎来史上最大更新!
人工智能·openai