Skip to content

深度学习入门

约 356 字大约 1 分钟

2025-09-30

模型选择

alt text

SVM 为什么现在不是很合适了?

  • 需要处理无结构数据
  • 不能处理大数据集
  • 不能完全标注特征

神经网络

反向传播:通过链式法则计算损失函数相对于每个参数的梯度,并使用这些梯度来更新参数。 使用计算图来表示神经网络中的计算过程。

示例 e=(a+b)(b+1)e=(a+b)\cdot (b+1).

计算图:

flowchart TD
    %% 变量节点(椭圆,浅蓝色风格)
    A["a<br/>a=2"]:::var --> CA["∂c/∂a=1"]:::grad --> C["c = a+b<br/>c=3"]:::var
    B["b<br/>b=1"]:::var --> CB["∂c/∂b=1"]:::grad --> C
    B --> DB["∂d/∂b=1"]:::grad --> D["d = b+1<br/>d=2"]:::var
    C --> EC["∂e/∂c=2"]:::grad --> E["e = c*d<br/>e=6"]:::var
    D --> ED["∂e/∂d=3"]:::grad --> E
    
    %% 样式定义:变量节点(椭圆,浅蓝色)、梯度节点(矩形,浅棕色)
    classDef var fill:#cce5ff, stroke:#66b3ff, rx:10, ry:10
    classDef grad fill:#f5f5dc, stroke:#d2b48c, rx:5, ry:5

这就是典型的前向传播过程。

当然我们在计算的时候,同时会记录下每个节点的中间偏导结果,方便后续的反向传播。

现在最大的问题是鞍点,即梯度为0但不是极值点的点,因为这样会导致梯度下降法无法继续前进。(wwηL(w)w \leftarrow w - \eta \nabla L(w)

贡献者: zongxi