dl-with-python Chapter4

deep learning with python

4.2 损失函数

  • 损失函数表示神经网络性能的“恶劣”程度的指标。

    4.2.1 均方误差

  • $\mathbf E = \frac 12 \sum_k(y_k - t_k)^2$,$y_k$表示神经网络的输出,$t_k$表示监督数据,$k$表示数据的维数
  • 将正确理解标签表示为1, 其他标签表示为0的表示方法为one-hot表示

    4.2.2 交叉熵误差

  • $\mathbf E = -\sum_kt_klogy_k$,$y_k$是正确输出,$t_k$是正确理解标签,并且$t_k$中只有正确解标签为1,其他均为0(one-hot表示)

    4.2.3 mini-batch 学习

  • 前面的是针对单个数据的损失函数,所有数据的损失函数之和$\mathbf E = -\frac1N\sum_n\sum_kt_{nk}logy_{nk}$,这里数据有N个, $t_{nk}$表示第n个数据的第k个元素的值
  • 从训练数据中选出一批数据(称为mini-batch),然后对每个mini-batch进行学习

    4.2.4 mini-batch版交叉熵误差??

    4.3 数值微分

    4.3.1

  • $\frac{df(x)}{dx} = \lim_{h\to 0}\frac{f(x+h) - f(x)}{h}$
  • 舍入误差:省略小数的精细部分而造成最终的误差
  • 中心差分:以$x$为中心,计算左右的差分
  • 利用微小的差分求导数的过程为数值微分。基于数学式的推导求导数的过程为解析微分,“真导数”

4.4 梯度

  • $(\frac{\partial f}{\partial x_0}, \frac{\partial f}{\partial x_1})$偏微分的汇总的向量为梯度

    4.4.1 梯度法

  • $\begin{cases} x_0 = x_0 - \eta \frac{\partial f}{\partial x_0} \ x_1 = x_1 - \eta \frac{\partial f}{\partial x_1}\end{cases}$, $\eta$为学习率
  • 'gradient'

4.5 学习算法实现

  • mini-batch
  • 计算梯度
  • 更新参数
  • 重复