请您提供一些我可以在神经网络反向传播预测中使用的成本函数。
我预测要在反向传播中完成,但我不知道我是否可以使用任何成本函数。
成本函数是否依赖于我们使用的激活函数?
如果我使用sin(x)作为激活函数,那么成本函数是什么?
答案 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 divergence和Cross-entropy。
2)一般的想法是你的成本函数是凸的,并且通过优化函数的分类器找到一个全局最小值。如果您使用上面的等式进行分类,使y
s为0或1,则此函数将为凸。
作为旁注,当您使用NN进行分类时,成本函数J(theta) = 1/2*( h(x) - y )^2
不是凸的。
3)是的,特别是对于梯度计算,其形式因激活函数而异。
4)首先,如果已经发明了轮子,为什么要发明轮子呢? 这是一个棘手的问题,但我可以给出一些线索。您的成本函数必须
当输出完全符合预期时,理想情况下给出0:
成本函数必须给你任何大数字,例如当y = 1等时,h(x)= 0
考虑到这些功能,您必须计算出成本函数。此外,看起来如果您使用sin(x)
,您可能必须将参数X*theta
限制为-pi ... pi。
答案 1 :(得分:-1)
实际上,ZikO,您应该再次查看课程资料。第一个成本函数仍然是非凸的。也许你将神经网络与逻辑回归混为一谈。在后者中,使用熵成本函数确实使问题凸出,而普通最小二乘法则没有。在神经网络中,两个成本函数都是非凸的。然而,根据Ng教授的说法,这对神经网络来说不是一个大问题。