【问题标题】:What's the cost function in multi-class classification?多类分类中的成本函数是什么?
【发布时间】:2017-09-08 12:45:55
【问题描述】:

我很难知道神经网络的损失函数是什么。对于二元分类问题,它是均方误差,如以下视频所述:https://www.youtube.com/watch?v=5u0jaA3qAGk&t=59s 还是此处定义的交叉熵http://work.caltech.edu/slides/slides09.pdf,为什么?

此外,在多分类的情况下,我认为有类似 softmax 的东西,但我真的不知道它是如何工作的。有人能给我解释一下吗?

谢谢!

【问题讨论】:

    标签: machine-learning neural-network logistic-regression


    【解决方案1】:

    理论上,您可以使用任何损失函数来构建神经网络。您可以使用均方误差或交叉熵损失函数。它归结为最有效的方法。最有效的意思是:什么能让你更快和/或更准确地学习参数。

    实际上,大多数神经网络倾向于使用交叉熵。许多关于神经网络的初学者课程和教程都会向您展示均方误差,因为它可能更直观且一开始更容易理解。

    article 对此进行了更详细的解释,但请允许我引用:

    我们什么时候应该使用交叉熵而不是二次成本?在 事实上,交叉熵几乎总是更好的选择,只要 输出神经元是 sigmoid 神经元

    关于softmax函数。你可能知道,每个神经元都有一个激活函数。很多时候,该函数是一个 sigmoid 函数。 softmax 函数是另一种类型的激活函数,通常用于神经网络的最后一层。 softmax 函数具有独特的属性。输出将是一个从 0 到 1 的值,并且该层中每个神经元的所有输出的总和将等于 1。有效地表示概率。这使得它非常适合多类分类,因为它会给你每个类的概率,你可以选择概率最高的类。

    【讨论】:

    • 谢谢,它有帮助。不建议使用均方误差是否正确,因为我们真正重视类的数量(即类 3 比类 1“更重要”)。另外,你有没有正确解释softmax的文章?
    • 并非如此,交叉熵优于均方的原因主要源于数学和导数。成本函数的导数用于反向传播算法。这是一篇关于softmax的文章。 dataaspirant.com/2017/03/07/…
    • 我真的不明白为什么交叉熵比均方更受欢迎......为什么它应该与导数联系起来?两者都可以派生...请您多开发一点吗?
    • [我现在还没有把文章完全红,但乍一看,它们看起来很有趣]
    • @MysteryGuy 可能有点晚了,但问题是这些函数的导数不一样,交叉熵使训练收敛更快
    猜你喜欢
    • 2017-06-18
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    • 2016-08-19
    • 1970-01-01
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多