Neural network 反向传播的不同损失函数

Neural network 反向传播的不同损失函数,neural-network,backpropagation,Neural Network,Backpropagation,我遇到了一些不同的反向传播错误计算函数: 平方误差函数 或用于BP损失函数的推导 Error = Output(i) * (1 - Output(i)) * (Target(i) - Output(i)) 现在,我想知道还有多少,它对训练有什么影响 另外,因为我知道第二个例子使用了层使用的激活函数的导数,第一个例子是否也这样做?对于任何损失函数(如果有更多的损失函数),这是真的吗 最后,如何知道使用哪一个以及何时使用?这是一个非常广泛的问题,但我可以解释一下错误/成本函数部分 成本函数 在使

我遇到了一些不同的反向传播错误计算函数: 平方误差函数

或用于BP损失函数的推导

Error = Output(i) * (1 - Output(i)) * (Target(i) - Output(i))
现在,我想知道还有多少,它对训练有什么影响

另外,因为我知道第二个例子使用了层使用的激活函数的导数,第一个例子是否也这样做?对于任何损失函数(如果有更多的损失函数),这是真的吗


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

这是一个非常广泛的问题,但我可以解释一下错误/成本函数部分

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

不同的代价函数具有不同的收敛性质,各有利弊。你必须仔细阅读那些你感兴趣的东西

成本函数列表 丹妮尔少尉已经完成了任务


旁注 你混淆了平方误差函数的导数。定义为误差函数导数的方程,实际上是误差函数的导数乘以输出层激活函数的导数。此乘法计算输出层的增量

平方误差函数及其导数定义为:

而sigmoid激活函数及其导数的定义为:

输出层的增量定义为:


所有的成本函数都是如此。

是的,我正要改变我的问题,因为我意识到第一个问题只是部分的,后来还被激活函数的导数乘以:-)但是你完美地回答了我的问题,告诉我损失函数还有一个导数的用途!只是现在我想知道为什么,何时何地使用它…我的答案的最后三行涉及何时何地。将成本函数的导数与输出层中激活函数的导数相乘,以计算输出层的增量