反向传播的不同损失函数

Rot*_*ung 3 backpropagation neural-network

我碰到一些不同的错误计算功能来进行反传:方误差函数从http://mattmazur.com/2015/03/17/a-step-by-step-backpropagation-example/

在此输入图像描述

或者 BP损失函数推导的一个很好的解释

Error = Output(i) * (1 - Output(i)) * (Target(i) - Output(i))
Run Code Online (Sandbox Code Playgroud)

现在,我想知道还有多少,它对培训的影响有多大?

此外,由于我理解第二个例子使用了图层使用的激活函数的导数,第一个例子是否也以某种方式执行此操作?对于任何损失函数(如果还有更多),它会是真的吗?

最后,如何知道使用哪一个,何时使用?

jor*_*nkg 5

这是一个非常广泛的问题,但我可以对错误/成本函数部分有所了解.

成本函数

在使用神经网络时,可以应用许多不同的成本函数.没有神经网络特定的成本函数.NN中最常见的成本函数可能是均方误差(MSE)和交叉熵成本函数.在使用logistic或softmax输出层时,后一种成本函数通常是最合适的.另一方面,MSE成本函数是方便的,因为它不要求输出值在该范围内[0, 1].

不同的成本函数除了不同的收敛性质外,各有利弊.你必须阅读那些你感兴趣的内容.

成本函数列表

Danielle Ensign 在CrossValidated编制了一份简短的成本函数列表.


边注

你已经混淆了平方误差函数的导数.您定义为误差函数导数的等式实际上是误差函数的导数乘以输出层激活函数的导数.此乘法计算输出图层的增量.

平方误差函数及其导数定义为:
在此输入图像描述

而S形激活函数及其衍生物定义为:
在此输入图像描述

输出层的增量定义为:
在此输入图像描述
所有成本函数都是如此.