我正在尝试使用数据集和keras API在Tensorflow中构建回归模型。目标包含很多零,尽管所有零都是正数,但非零值大致呈正态分布。
当我尝试在下面创建线性模型时,我注意到在第一个时期,验证损失和两个验证指标都完全为0,尽管训练损耗和指标均不为0。该问题在第一个时期后消失。尽管这并不能阻止我创建模型,但仍然无法解释为什么会发生这种情况以及我可能会怎么做。
我未能成功查明问题所在的地方:
train
和test
test
train = tf.data.experimental.make_csv_dataset(...)
test = tf.data.experimental.make_csv_dataset(...) # a smaller csv file
model = Sequential([
DenseFeatures(features),
Dense(1, activation='linear') # we are doing a regression
])
model.compile(
optimizer='adam',
loss='mean_squared_error',
metrics=['mean_squared_error', 'mean_absolute_error']
)
model.fit(train,
epochs=2,
validation_data=test
)
答案 0 :(得分:0)
这是完全正常的,因为正常指标和验证指标是在不同的时间计算的。
名义指标是在新纪元期间进行计算的,因此您可以查看损失分数和来自训练的其他值。
验证指标用于查看在某个时期内计算得出的参数是否良好。这意味着在特定时期(您可以指定百分比)中使用的一些训练数据不会用于训练,但会被用于计算网络准确性。因此,当您具有特定的参数配置时,这些值将在