【问题标题】:In Neural network prediction(not classification), What Cost function shall i use?在神经网络预测(不是分类)中,我应该使用什么成本函数?
【发布时间】:2013-11-29 08:52:22
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: neural-network octave prediction backpropagation


    【解决方案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 是自然对数,h(X*theta) 是 NN 的输出。显然,这来自Kullback–Leibler divergenceCross-entropy

    2) 一般的想法是您的成本函数是凸的,并且通过优化函数的分类器找到一个全局最小值。如果您使用上述等式进行分类,使得您的ys 为 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. 成本函数必须是凸的。

    考虑到这些特性,您必须计算成本函数。此外,如果您使用sin(x),您可能不得不将您的论点X*theta 限制为-pi ... pi。

    【讨论】:

    • 我认为第一个是分类问题的成本函数(它假设 y 矩阵仅由零和一组成)。
    【解决方案2】:

    其实ZikO,你应该再看一遍coursera资料。第一个成本函数仍然是非凸的。也许您将神经网络与逻辑回归混淆了。在后者中,使用熵成本函数确实使问题凸出,而普通最小二乘法则不会。在神经网络中,两个成本函数都是非凸的。然而,在 Ng 教授看来,这对神经网络来说并不是什么大问题。

    【讨论】:

      猜你喜欢
      • 2015-08-04
      • 2013-05-12
      • 2023-03-03
      • 2017-03-05
      • 1970-01-01
      • 2021-11-08
      • 1970-01-01
      • 2019-01-05
      • 1970-01-01
      相关资源
      最近更新 更多