Tensorflow 在使用神经网络进行文本分类时,准确度和损失之间是否存在直接关系?

Tensorflow 在使用神经网络进行文本分类时,准确度和损失之间是否存在直接关系?,tensorflow,recurrent-neural-network,text-classification,loss-function,cross-entropy,Tensorflow,Recurrent Neural Network,Text Classification,Loss Function,Cross Entropy,我正在尝试使用深度递归神经网络进行多类文本分类。我的网络正在遭受94%、80%的巨大损失,有时甚至100%的损失。令人惊讶的是,64%的验证准确率导致的损失为96%。我想理解的是,所发生的损失是否与准确性有直接关系,还是根据正确获取的数据计算准确性。我使用分类交叉熵函数来估计损失 model.compile(optimizer=Adam(learning_rate=0.001), loss='categorical_crossentropy', metrics=['accuracy']) pr

我正在尝试使用深度递归神经网络进行多类文本分类。我的网络正在遭受94%、80%的巨大损失,有时甚至100%的损失。令人惊讶的是,64%的验证准确率导致的损失为96%。我想理解的是,所发生的损失是否与准确性有直接关系,还是根据正确获取的数据计算准确性。我使用分类交叉熵函数来估计损失

model.compile(optimizer=Adam(learning_rate=0.001), loss='categorical_crossentropy', metrics=['accuracy'])

print('Train...')
early_stopping = EarlyStopping(monitor='val_accuracy', patience=3, mode='max')
model.fit(x_train, y_train,
          batch_size=32,
          epochs=10,
          callbacks=[early_stopping],
          validation_data=(x_test, y_test))
答案是否定的:

损失被视为问题真实值与模型预测值之间的距离。损失越大,数据错误越大

准确度应视为您在数据上所犯错误的数量。低精度和大损失意味着您在大量数据上犯了大错误,而低精度和低损失意味着在大量数据上存在一些错误。同样地,高精度和低损耗被理解为在少量数据上几乎没有错误。事实上,这就是你所追求的


注意准确度是一个百分比,而损失不是。

我很感激你的回答,但我想了解损失与准确度的关系。他们是否有直接关系?因为当我们说65%的验证准确率和94%的损失时,如何解释这两种状态之间的关系。这是我的观点……尽管它们通常看起来成反比,但它们之间没有数学关系。它们似乎成反比并不总是如此。准确度和损失有不同的定义,衡量不同的东西。我开始知道损失不是用百分比来衡量的。例如,如果我们损失了1.15%,那么就不会是115%。在这种情况下,描述错误率的交叉熵损失的最大值是多少。交叉熵损失中没有“%”。如果损失为0.94,则交叉熵为0.94,很简单,不是“94%损失”。@xdurch0感谢您的回复和更正。如果损失不是一个百分比,那么损失函数的最大值可能是多少。考虑三元类。交叉熵使用对数概率,理论上可以是无限高的,所以没有最大值。然而,现实的最坏情况是随机猜测,这将导致n个类的log(n)丢失。所以有3个类,大约是1.10。