我正在训练一个神经网络,我想在训练期间绘制不同指标(MSE……)的演变。为了了解不同训练之间的差异,我使用了几个模型并绘制了平均值和标准差。我的问题如下:我没有找到绘制这条曲线的好方法,也没有在互联网上找到任何好的解释。
让我们用 y 表示要显示的指标,x 是 epoch 的数量。在下图中,阴影区域给出了一个标准偏差。
这是我尝试过的以及为什么我认为它不起作用:
线性比例不是很好,因为度量跨越了不同的数量级。特别是,早期值远大于晚期值。例如,一种可能性是在第 5 个时期开始曲线,以删除早期的大值,但我更愿意显示所有内容。
鉴于前一点,对数刻度似乎更自然,但是与平均值的刻度相比,变化可能很大,具有相似的刻度。由于两个刻度之间的空间是几何分布的,曲线下方的一个标准偏差似乎比上方大得多。这往往会在图形上产生大的尖峰,甚至完全填满曲线下方的区域。
- 我试图显示相对标准偏差(由重新调整)。这是变量的适当标准偏差。但是,我不想绘制 z 但实际上是 y 的对数刻度。尽管如此,我认为如果显示得更好,可以绘制相对标准偏差。但是,我不确定它所显示的内容是否真的很直观。更糟糕的问题是,对于较小的值,标准偏差显得非常大(因为我们除以 < 0 的数字)。
- 最后,我尝试使用 symlog 标度,但我不确定它是否是一个好的解决方案:如果线性阈值很大,那么我发现它会使图形难以解释。如果它很小,我们会遇到与对数刻度相同的问题。下面是阈值为 0.01 的图。
结论:以对数刻度显示标准偏差的最佳方法是什么?