14 向量化(Vectorization)
1. 什么是向量化? 向量化 是指避免在代码中使用显式的 for 循环,转而使用高度优化的矩阵/向量运算(如 NumPy 中的内置函数),从而大幅提升计算效率。 在深度学习中,我们经常处理大规模数据集(例如百万级特征或样本)。如果使用非向量化实现,程序运行会极其缓慢;而向量化能充分利用 CPU/GPU 的并行计算能力(SIMD 指令),使代码快数百倍甚至上千倍。 2. ...
1. 什么是向量化? 向量化 是指避免在代码中使用显式的 for 循环,转而使用高度优化的矩阵/向量运算(如 NumPy 中的内置函数),从而大幅提升计算效率。 在深度学习中,我们经常处理大规模数据集(例如百万级特征或样本)。如果使用非向量化实现,程序运行会极其缓慢;而向量化能充分利用 CPU/GPU 的并行计算能力(SIMD 指令),使代码快数百倍甚至上千倍。 2. ...
🎯 目标 推导在二分类逻辑回归(使用 sigmoid 激活函数 + 交叉熵损失)中,损失函数 $L$ 对线性输出 $z$ 的导数: [\frac{dL}{dz} = a - y] 其中: $a = \sigma(z)$ 是 sigmoid 激活输出, $y \in {0,1}$ 是真实标签, $L = -\big[y \log(a) + (1 - y)\log(...
🎯 课程目标 本节课程的核心目标是: 如何将单样本的梯度下降扩展到整个训练集(m 个样本)上,并为后续向量化(Vectorization)打下基础。 📌 1. 逻辑回归回顾 我们考虑一个二分类问题,使用 逻辑回归(Logistic Regression) 模型: 输入特征:$\mathbf{x}^{(i)} \in \mathbb{R}^n$(第 $i$...
1. 逻辑回归模型回顾 对于一个样本 $(x, y)$,其中: 输入特征向量:$\mathbf{x} = \begin{bmatrix} x_1 \ x_2 \end{bmatrix} \in \mathbb{R}^2$(为简化,假设只有两个特征) 参数:权重 $\mathbf{w} = \begin{bmatrix} w_1 \ w_2 \end{bmatrix}$,偏置...
🧠 课程核心思想 在深度学习中,反向传播(Backpropagation) 是通过计算图(Computation Graph) 高效计算损失函数对各参数偏导数的核心机制。 本节通过一个具体例子,展示了如何利用链式法则(Chain Rule) 沿着计算图从右向左(backward pass) 逐层计算梯度。 📐 示例函数与计算图结构 考虑如下函数: [J = 3v,...
1. 背景与动机 在深度学习中,神经网络的计算通常分为两个阶段: 前向传播(Forward Propagation) :从输入开始,逐层计算,最终得到输出(例如损失函数 $J$)。 反向传播(Backward Propagation) :从输出 $J$ 出发,利用链式法则计算梯度(即偏导数),用于参数更新。 计算图 正是用来清晰地表示这两个过程的工具。它将复杂的函数...
一、导数的本质:函数在某一点的“斜率” 导数(Derivative)描述的是函数在某一点处的瞬时变化率,也就是该点处切线的斜率。 对于函数 $f(a)$,其在点 $a$ 处的导数记作: \[\frac{d}{da} f(a)\] 或简写为 $f’(a)$。 ✅ 关键理解:导数不是固定值(除非函数是直线),它会随着输入 $a$ 的不同而变化。 ...
1. 为什么需要理解导数? 在深度学习中,不需要精通微积分也能有效应用神经网络。 但具备对导数的直观理解有助于: 理解反向传播(Backpropagation) 调试和设计模型 理解优化算法(如梯度下降) 后续课程(如第4周)会将微积分封装在 forward 和 backward 函数中,使用者无需手动...
1. 背景回顾:逻辑回归与目标 在逻辑回归中,我们希望学习参数 权重向量 $\mathbf{w}$ 和 偏置 $b$,使得模型对训练数据的预测尽可能准确。 对于第 $i$ 个样本,模型输出为: \[\hat{y}^{(i)} = \sigma(\mathbf{w}^\top \mathbf{x}^{(i)} + b)\] 其中 $\sigma(z) = \...
1. 回顾:逻辑回归模型 逻辑回归用于二分类问题。 对于输入样本 $x^{(i)}$,模型预测输出为: \[\hat{y}^{(i)} = \sigma(w^\top x^{(i)} + b)\] 其中 $\sigma(z) = \frac{1}{1 + e^{-z}}$ 是 Sigmoid 函数。 $w$ 和 $b$ 是需要学习的参数。 ...