ML学习笔记第五周(一):代价函数与反向传播
1 代价函数
符号表示 | 具体含义 |
---|---|
第个训练实例 | |
训练实例的个数 | |
神经网络结构的层数 | |
第层的单元数量(不包含偏置单元) |
在神经网络中,我们可能有许多输出节点。我们表示作为一个假设,作为假设函数的第个输出。
我们添加了一些嵌套的求和来计算我们的多个输出节点。在等式的第一部分中,在方括号之前,我们有一个额外的嵌套求和,它循环输出节点的数量。
在正则化部分中,在方括号之后,我们必须考虑多个矩阵。当前theta矩阵中的列数等于当前层中的节点数(包括偏置单元)(即)。当前矩阵中的行数等于下一层中的节点数(不包括偏置单元)(即)。与逻辑回归一样,我们对每个项都进行平方,以使最终的模型尽可能简洁。
2 反向传播算法
假设只有一个样本,把前向传播向量化,这使得我们可以计算神经网络结构里的每一个神经元的激励值。
反向传播(Back propagation):就是第层节点的误差。
注意:没有项,因为第1层为输入层,没有误差。
反向传播法这个名字,源于我们从输出层开始计算,然后我们返回到上一层计算第三隐藏层的,接着我们再往前一步来计算 ,所以说,我们是类似于把输出层的误差反向传播给了第3层,然后是再传到第2层,这就是反向传播的意思。
(右侧蓝色笔记为向量化之后的形式)
反向传播算法具体实现流程:(红色笔记为向量化后的操作)