1. 成本函数<br /> 让我们首先定义一些我们需要使用的变量:<br /> L = 网络中的总层数<br />![](https://cdn.nlark.com/yuque/__latex/13f85b61df43e23e36d5aac31cb56b66.svg#crop=0&crop=0&crop=1&crop=1&from=url&id=EOp2D&margin=%5Bobject%20Object%5D&originHeight=16&originWidth=15&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)= 层 l 中的单元数(不计算偏置单元)<br />K = 输出单元/类的数量<br />回想一下,在神经网络中,我们可能有很多输出节点。 我们将![](https://cdn.nlark.com/yuque/__latex/7f20269db28e49f637a669fa31932b8f.svg#crop=0&crop=0&crop=1&crop=1&from=url&id=ZkUHq&margin=%5Bobject%20Object%5D&originHeight=23&originWidth=57&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)表示为导致![](https://cdn.nlark.com/yuque/__latex/571ab29c8833da1e54226cfb8554fd52.svg#crop=0&crop=0&crop=1&crop=1&from=url&id=GHRUP&margin=%5Bobject%20Object%5D&originHeight=21&originWidth=24&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)输出的假设。 我们的神经网络成本函数将是我们用于逻辑回归的成本函数的推广。 回想一下,正则化逻辑回归的成本函数是:<br />![](https://cdn.nlark.com/yuque/0/2020/png/1077334/1585033332478-30e73c67-3465-4d92-95d4-8b12e42eb296.png#crop=0&crop=0&crop=1&crop=1&from=url&id=W5l3J&margin=%5Bobject%20Object%5D&originHeight=41&originWidth=848&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)<br />对于神经网络,它会稍微复杂一些:<br />![](https://cdn.nlark.com/yuque/0/2020/png/1077334/1585033348236-9f02e9f6-8c00-409e-b113-73e763ff9b11.png#crop=0&crop=0&crop=1&crop=1&from=url&id=LetjK&margin=%5Bobject%20Object%5D&originHeight=66&originWidth=843&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)<br />我们添加了一些嵌套求和来说明我们的多个输出节点。 在等式的第一部分,在方括号之前,我们有一个额外的嵌套求和,它循环遍历输出节点的数量。<br />在正则化部分,在方括号之后,我们必须考虑多个 theta 矩阵。 我们当前 theta 矩阵中的列数等于我们当前层中的节点数(包括偏置单元)。 我们当前的 theta 矩阵中的行数等于下一层的节点数(不包括偏置单元)。 与之前的逻辑回归一样,我们对每一项进行平方。<br />注意:<br />double sum 简单地将输出层中每个单元格计算的逻辑回归成本相加<br />三重和只是将整个网络中所有单个 Θ 的平方相加。<br />三重总和中的 i 不是指训练示例 i

    反向传播算法
    “反向传播”是神经网络术语,用于最小化我们的成本函数,就像我们在逻辑回归和线性回归中使用梯度下降所做的一样。 我们的目标是计算:Part 9-1 成本函数和反向传播 - 图1
    也就是说,我们希望使用 theta 中的一组最佳参数来最小化我们的成本函数 J。 在本节中,我们将查看用于计算 J(Θ) 偏导数的方程:Part 9-1 成本函数和反向传播 - 图2
    为此,我们使用以下算法:
    Part 9-1 成本函数和反向传播 - 图3
    Part 9-1 成本函数和反向传播 - 图4image.png

    理解反向传播算法
    回想一下,神经网络的成本函数是:
    Part 9-1 成本函数和反向传播 - 图6
    如果我们考虑简单的非多类分类 (k = 1) 并忽略正则化,则成本计算如下:
    Part 9-1 成本函数和反向传播 - 图7
    直观地说,Part 9-1 成本函数和反向传播 - 图8Part 9-1 成本函数和反向传播 - 图9(第 l 层中的单元 j)的“错误”。 更正式地说,delta 值实际上是成本函数的导数:Part 9-1 成本函数和反向传播 - 图10
    回想一下,我们的导数是与成本函数相切的线的斜率,所以斜率越陡,我们就越不正确。 让我们考虑下面的神经网络,看看我们如何计算一些Part 9-1 成本函数和反向传播 - 图11
    Part 9-1 成本函数和反向传播 - 图12
    在上图中,为了计算Part 9-1 成本函数和反向传播 - 图13 ,我们将权重Part 9-1 成本函数和反向传播 - 图14Part 9-1 成本函数和反向传播 - 图15乘以在每条边右侧找到的各自Part 9-1 成本函数和反向传播 - 图16的值。 所以我们得到Part 9-1 成本函数和反向传播 - 图17 . 要计算每一个可能的Part 9-1 成本函数和反向传播 - 图18 ,我们可以从图表的右侧开始。 我们可以将我们的边缘视为我们的Part 9-1 成本函数和反向传播 - 图19 . 从右到左,要计算 Part 9-1 成本函数和反向传播 - 图20的值,您只需将每个权重的总和乘以它来自Part 9-1 成本函数和反向传播 - 图21的权重。 因此,另一个例子是Part 9-1 成本函数和反向传播 - 图22
    In the image above, to calculate Part 9-1 成本函数和反向传播 - 图23, we multiply the weights Part 9-1 成本函数和反向传播 - 图24 and Part 9-1 成本函数和反向传播 - 图25 by their respective Part 9-1 成本函数和反向传播 - 图26 values found to the right of each edge. So we get Part 9-1 成本函数和反向传播 - 图27. To calculate every single possible Part 9-1 成本函数和反向传播 - 图28, we could start from the right of our diagram. We can think of our edges as our Part 9-1 成本函数和反向传播 - 图29. Going from right to left, to calculate the value of Part 9-1 成本函数和反向传播 - 图30, you can just take the over all sum of each weight times the Part 9-1 成本函数和反向传播 - 图31 it is coming from. Hence, another example would bePart 9-1 成本函数和反向传播 - 图32

    https://www.cnblogs.com/charlotte77/p/5629865.html