Python 损失曲线分析:原始数据与标准化数据(机器学习/Keras)

Python 损失曲线分析:原始数据与标准化数据(机器学习/Keras),python,tensorflow,keras,normalization,loss-function,Python,Tensorflow,Keras,Normalization,Loss Function,我正在尝试配置我的CNN,这需要分析损失函数结果。我正在与美国有线电视新闻网(CNN)合作。输入数据为灰度图像。因此,每个像素的值为[0:255] 对于第一部分,我减去了平均值:pixel-127,使每个图像的范围为[-127:128]。以下是此配置的损失/精度结果: 在本例中,开始时(历元0到25)有一些噪声,因此我认为可以通过规范化数据来解决 因此,我先用:(pixel-127)/128更改每个像素,以便以一种简单的方式进行规格化。以下是相同配置的曲线: 噪音消失了,但现在,火车的弯道

我正在尝试配置我的CNN,这需要分析损失函数结果。我正在与美国有线电视新闻网(CNN)合作。输入数据为灰度图像。因此,每个像素的值为[0:255]

对于第一部分,我减去了平均值:pixel-127,使每个图像的范围为[-127:128]。以下是此配置的损失/精度结果:

在本例中,开始时(历元0到25)有一些噪声,因此我认为可以通过规范化数据来解决

因此,我先用:(pixel-127)/128更改每个像素,以便以一种简单的方式进行规格化。以下是相同配置的曲线:

噪音消失了,但现在,火车的弯道有一种我以前从未见过的行为。。没有人能告诉我这种行为是否正常,为什么?我想知道你们是否知道一种分析这些曲线的好方法


谢谢你

看起来你很快就收敛了,而且你跳出了你的极小值。试着降低学习速度,降低你的LR,或者提前停止

另外,做K-折叠可能会很有趣。可能是您的训练集有“硬样本”,它们不在您的测试集中,并且正在产生这些尖峰


希望有帮助。

您使用的是哪一组超参数?此外,更常见的是将其标准化,除以255.0,得到一个浮点类型在这种情况下,学习率为10-3,一批1024,以及Relu激活功能在训练集/验证集之间是否存在数据泄漏?我正在处理索引,因此训练集和验证集的每个元素在训练之前都由一个索引定义,我的数据生成器将每个索引与每个元素相关联,所以我不这么认为。我将在我的优化器(Adam)中实现衰变,看看是否有更好的结果,我将在这里发布结果!我会尝试在LR上加上衰变。这可以解决我在第一个损失图中观察到的“噪音”问题吗?另外,我曾经使用过K-fold,这个图代表了我5个损失结果中的1个。这些图是用我的验证集绘制的,所以它是我的训练集的一部分(因此不应该离训练集那么远)。你认为Adam optimzer的衰减参数是什么?你的验证集是你训练集的一部分?这不好。是的,使用Adam优化器的参数。可能有助于稳定曲线I不清楚,我做了一个k倍交叉val,我将数据集分为两部分:训练和测试,然后我将训练部分分为val和final\u train,因此我用final\u train训练模型,并用val部分计算损失;)