目录
有了上一篇 神经网络的反向传播算法推导 — 前期知识准备 做铺垫,下一步来看看反向传播算法具体的推导过程。
一、定义
机器学习中常说的两个函数:
损失函数 (loss function):是定义在单个样本上的,算的是一个样本的值和预测值的误差,记为C(Θ);
代价函数 (cost function):是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均,记为J(Θ);
假设函数:
[变量定义]
: 表示神经网络第 l 层神经元的个数
:表示神经网络最终输出的类别数(L表示最后一层)
i: 的尺寸/维度的列,第 i 列
j: 的尺寸/维度的行,第 j 行
二、神经网络结构图
以三层神经网络为例:
(图1)
上图按照神经网络的计算方法(如不清楚的请参考文章 从逻辑回归到神经网络):
(图2)
说明:图2中将 、 标为”常量“,有些欠妥,总之意思就是与 无关。
在计算图中可表示如下( 损失函数计算方式有多种,假设我们使用最小化误差函数 ):
这里为什么不是平方误差损失函数 ,我的理解是在神经网络在计算损失函数时 i 从1到 n对应的是一个样本的多个特征属性,而不是多个样本,因此无需求和后除以m.
三、反向传播算法的四个公式推导
先抛出反向传播算法的四个公式:
-------------------- BP1