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

问题描述

我正在尝试使用深度递归神经网络执行多类文本分类。我的网络正在以一定的准确度遭受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))

解决方法

答案是否定的:

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

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

观察到精度是一个百分比,而损失不是。