在神经网络预测(非分类)中,我应使用什么成本函数?

时间:2013-11-29 08:52:23

标签: neural-network octave prediction backpropagation

请您提供一些我可以在神经网络反向传播预测中使用的成本函数。

我预测要在反向传播中完成,但我不知道我是否可以使用任何成本函数。

成本函数是否依赖于我们使用的激活函数?

如果我使用sin(x)作为激活函数,那么成本函数是什么?

2 个答案:

答案 0 :(得分:-1)

1)在Machine Learning on Cursera课程中,Andrew Ng提供了此费用函数:
J(theta) = -1/m*( y*log(h(X*theta)) + (1-y)*log(1-h(X*theta)) )

其中log是自然对数,{N}输出h(X*theta)。显然,这来自Kullback–Leibler divergenceCross-entropy

2)一般的想法是你的成本函数是凸的,并且通过优化函数的分类器找到一个全局最小值。如果您使用上面的等式进行分类,使y s为0或1,则此函数将为凸。 作为旁注,当您使用NN进行分类时,成本函数J(theta) = 1/2*( h(x) - y )^2不是凸的。

3)是的,特别是对于梯度计算,其形式因激活函数而异。

4)首先,如果已经发明了轮子,为什么要发明轮子呢? 这是一个棘手的问题,但我可以给出一些线索。您的成本函数必须

  1. 当输出完全符合预期时,理想情况下给出0:

    • h(x)= 1给定x和y为1
    • h(x)= 0给定x,y为0
  2. 成本函数必须给你任何大数字,例如当y = 1等时,h(x)= 0

  3. 成本函数必须是凸的。
  4. 考虑到这些功能,您必须计算出成本函数。此外,看起来如果您使用sin(x),您可能必须将参数X*theta限制为-pi ... pi。

答案 1 :(得分:-1)

实际上,ZikO,您应该再次查看课程资料。第一个成本函数仍然是非凸的。也许你将神经网络与逻辑回归混为一谈。在后者中,使用熵成本函数确实使问题凸出,而普通最小二乘法则没有。在神经网络中,两个成本函数都是非凸的。然而,根据Ng教授的说法,这对神经网络来说不是一个大问题。