Machine learning 神经网络中的误差和精度较低。

Machine learning 神经网络中的误差和精度较低。,machine-learning,neural-network,deep-learning,artificial-intelligence,backpropagation,Machine Learning,Neural Network,Deep Learning,Artificial Intelligence,Backpropagation,我正在运行一个具有不同激活函数的神经网络,以查看它们对学习的影响。我使用的是MNIST数据集,有两个隐藏层。我得到了以下精度和误差的学习曲线 从精度曲线可以明显看出,乙状结肠表现最差。但当你看错误图时,它的最终错误似乎比其他错误要低得多。它具有低精度和低误差?我不明白这怎么可能。有人能解释一下这是怎么回事吗?这是可能的还是我犯了什么错误?有几件事你应该注意 我们将准确度表示为百分比,通常进行计算 在学习和固定模型参数后,不进行学习 损失是残差平方和或交叉熵(其为总和),不表示为百分比,通常表

我正在运行一个具有不同激活函数的神经网络,以查看它们对学习的影响。我使用的是MNIST数据集,有两个隐藏层。我得到了以下精度和误差的学习曲线


从精度曲线可以明显看出,乙状结肠表现最差。但当你看错误图时,它的最终错误似乎比其他错误要低得多。它具有低精度和低误差?我不明白这怎么可能。有人能解释一下这是怎么回事吗?这是可能的还是我犯了什么错误?

有几件事你应该注意

  • 我们将准确度表示为百分比,通常进行计算 在学习和固定模型参数后,不进行学习
  • 损失是残差平方和或交叉熵(其为总和),不表示为百分比,通常表示模型的性能 训练时在每次迭代中表现良好
  • 因此,如果要比较两个或多个DNN模型,最好使用每个模型的精度,而不是使用损耗

    而且

    • 损失基本上是样本的实际概率和预测概率之间的差异
    • 但是,当您计算精度时,我们只取 最高概率。例如,如果您有4个类和 softmax输出概率为[0.1,0.2,0.2,0.5],然后使用[0,0,0,1] 与实际标签进行比较,以计算准确度

    因此,损失准确度的计算以及它们的用途之间存在着基本的区别。

    首先,如果您提供一些关于如何获得它们的更多信息,那么解释这些图会更容易。它们都是在同一个数据集上计算的吗?我还假设你在最后一个密集层使用softmax函数,并优化交叉熵损失函数

    损失i=-log p\u i

    p_i是第i幅图像所属的正确类别的最大软概率。(该模型为10类中的每一类输出一个概率,但cross_熵损失函数仅使用为正确类预测的概率)。损失函数是数据中所有图像的平均值

    这是我从两个图中看到的:第一个图显示,与ReLU相关模型相比,sigmoid模型错误分类的图像更多——因此它的准确度更低。然而,第二个图显示,平均而言,当它正确分类图像时,它的得分概率值较高(接近100%),和/或当它错误分类图像时,它似乎只有少量错误

    与ReLU相关的模型似乎更能预测正确的类别。然而,当他们错了的时候,他们似乎非常想念它


    为什么会这样?这与隐藏层激活功能有什么关系?。。。我不知道

    损失并不总是残差平方和,很可能是交叉熵。是的,我举了一个通用的例子,也适用于交叉熵。你能不能也添加代码?