神经网络中的错误和准确性较低。
Error and accuracy being low in a neural net.
我是运行一个具有不同激活函数的神经网络,看看它们对学习的影响。我正在使用 MNIST 数据集并且有两个隐藏层。我得到以下关于准确性和错误的学习曲线。
从准确率曲线可以明显看出,sigmoid 表现最差。但是当您查看误差图时,它的最终误差似乎明显低于其他误差图。它具有低精度和低误差?我不明白这怎么可能。有人可以解释一下这里发生了什么吗?这是可能的还是我犯了一些错误?
有几点需要注意,
- 我们将准确度表示为百分比,通常计算
在学习并固定模型参数并且没有进行学习之后。
- Loss 是残差平方和或交叉熵(它的总和),不以百分比表示,通常表示模型的好坏
训练时在每次迭代中的表现。
因此,如果您想比较两个或多个 DNN 模型,最好使用每个模型的 accuracy,而不是使用 loss .
此外,
- 损失基本上是样本的实际概率与预测概率之间的差异。
- 但是,当您计算 准确度 时,我们只取
最高概率。例如,如果您有 4 类 和
softmax 输出概率是 [ 0.1, 0.2, 0.2, 0.5 ] 然后你使用 [ 0, 0, 0, 1 ]
与实际标签进行比较以计算准确度。
因此,loss和accuracy的计算和用法是有基本区别的。
首先,如果您提供更多关于如何获得这些图的信息,将更容易解释这些图。它们都是在同一个数据集上计算的吗?我还假设您在最后一个密集层使用 softmax 函数并优化交叉熵损失函数。
loss_i = - 日志 p_i
p_i是第i张图片所属正确class的softmax概率。 (该模型为 10 个 class 中的每一个输出概率,但 cross_entropy 损失函数仅使用为正确 class 预测的概率。损失函数对数据中的所有图像进行平均。
这是我从两个图中看到的:第一个图显示 sigmoid 模型错误class比 ReLU 相关模型误用了更多的图像——因此它得分 较低准确性。然而,第二个图显示,平均而言,当它 class 正确地处理图像时,它得分更高的概率值(接近 100%), and/or 当它错误 class 时图像似乎只有少量错误。
ReLU 相关模型似乎更能预测正确 class。然而,当他们错了时,他们似乎非常想念它。
为什么会这样?这与隐藏层激活函数有什么关系?......我不知道。
我是运行一个具有不同激活函数的神经网络,看看它们对学习的影响。我正在使用 MNIST 数据集并且有两个隐藏层。我得到以下关于准确性和错误的学习曲线。
从准确率曲线可以明显看出,sigmoid 表现最差。但是当您查看误差图时,它的最终误差似乎明显低于其他误差图。它具有低精度和低误差?我不明白这怎么可能。有人可以解释一下这里发生了什么吗?这是可能的还是我犯了一些错误?
有几点需要注意,
- 我们将准确度表示为百分比,通常计算 在学习并固定模型参数并且没有进行学习之后。
- Loss 是残差平方和或交叉熵(它的总和),不以百分比表示,通常表示模型的好坏 训练时在每次迭代中的表现。
因此,如果您想比较两个或多个 DNN 模型,最好使用每个模型的 accuracy,而不是使用 loss .
此外,
- 损失基本上是样本的实际概率与预测概率之间的差异。
- 但是,当您计算 准确度 时,我们只取 最高概率。例如,如果您有 4 类 和 softmax 输出概率是 [ 0.1, 0.2, 0.2, 0.5 ] 然后你使用 [ 0, 0, 0, 1 ] 与实际标签进行比较以计算准确度。
因此,loss和accuracy的计算和用法是有基本区别的。
首先,如果您提供更多关于如何获得这些图的信息,将更容易解释这些图。它们都是在同一个数据集上计算的吗?我还假设您在最后一个密集层使用 softmax 函数并优化交叉熵损失函数。
loss_i = - 日志 p_i
p_i是第i张图片所属正确class的softmax概率。 (该模型为 10 个 class 中的每一个输出概率,但 cross_entropy 损失函数仅使用为正确 class 预测的概率。损失函数对数据中的所有图像进行平均。
这是我从两个图中看到的:第一个图显示 sigmoid 模型错误class比 ReLU 相关模型误用了更多的图像——因此它得分 较低准确性。然而,第二个图显示,平均而言,当它 class 正确地处理图像时,它得分更高的概率值(接近 100%), and/or 当它错误 class 时图像似乎只有少量错误。
ReLU 相关模型似乎更能预测正确 class。然而,当他们错了时,他们似乎非常想念它。
为什么会这样?这与隐藏层激活函数有什么关系?......我不知道。