分类交叉熵需要使用分类准确度或准确度作为keras中的度量?

分类交叉熵需要使用分类准确度或准确度作为keras中的度量?,keras,Keras,我目前正在做一项关于多类分类的研究。我使用了分类交叉熵,并且使用准确度作为实验的度量,我得到了一个非常好的结果。当我尝试使用分类精度时,它的精度稍差(低于1%)。我的问题是,使用分类交叉熵损失的准确度度量而不是分类精度可以吗?Keras检测输出形状,并在指定精度时自动确定使用哪个精度。对于多类别分类,将在内部使用分类精度。从: 你所看到的1%的差异可能归因于运行到运行的变化,因为随机梯度下降将遇到不同的最小值,除非使用相同的随机种子。你介意解释稀疏分类交叉熵和分类交叉熵之间的区别吗?2年后,如果

我目前正在做一项关于多类分类的研究。我使用了分类交叉熵,并且使用准确度作为实验的度量,我得到了一个非常好的结果。当我尝试使用分类精度时,它的精度稍差(低于1%)。我的问题是,使用分类交叉熵损失的准确度度量而不是分类精度可以吗?

Keras检测输出形状,并在指定
精度时自动确定使用哪个精度。对于多类别分类,将在内部使用分类精度。从:


你所看到的1%的差异可能归因于运行到运行的变化,因为随机梯度下降将遇到不同的最小值,除非使用相同的随机种子。

你介意解释稀疏分类交叉熵和分类交叉熵之间的区别吗?2年后,如果标签的形式为[1,2,3,4…30],稀疏分类交叉熵有效;如果标签的形式为热编码[1,0,0…0],则分类交叉熵有效,[0,1,0,…]如果你看看keras.io/api/metrics/accurity_metrics/#accurity类,我认为分类_精度要求标签是一个热编码的,而对于精度,标签不能是一个热编码的。我自己的测试证实了这一点
            if metric == 'accuracy' or metric == 'acc':
                # custom handling of accuracy
                # (because of class mode duality)
                output_shape = self.internal_output_shapes[i]
                acc_fn = None
                if output_shape[-1] == 1 or self.loss_functions[i] == losses.binary_crossentropy:
                    # case: binary accuracy
                    acc_fn = metrics_module.binary_accuracy
                elif self.loss_functions[i] == losses.sparse_categorical_crossentropy:
                    # case: categorical accuracy with sparse targets
                    acc_fn = metrics_module.sparse_categorical_accuracy
                else:
                    acc_fn = metrics_module.categorical_accuracy