Keras 仅对两类使用范畴交叉熵
计算机视觉和深度学习文献通常说,一个人应该对一个二元(两类)问题使用Keras 仅对两类使用范畴交叉熵,keras,deep-learning,neural-network,cross-entropy,Keras,Deep Learning,Neural Network,Cross Entropy,计算机视觉和深度学习文献通常说,一个人应该对一个二元(两类)问题使用binary\u crossentropy,对两个以上的类使用category\u crossentropy。现在我想知道:有什么理由不把后者也用于两类问题吗? 分类的交叉熵: 每个示例只接受一个正确的类 将“仅”取真实神经元,并使用该神经元进行交叉熵计算 二进制交叉熵: 每个示例接受许多正确的类 将对“所有神经元”进行交叉熵计算,考虑到每个神经元可以是两类,0和1 两级问题可以建模为: 只有一个正确类别的2神经元输
binary\u crossentropy
,对两个以上的类使用category\u crossentropy
。现在我想知道:有什么理由不把后者也用于两类问题吗?- 分类的交叉熵:
- 每个示例只接受一个正确的类
- 将“仅”取真实神经元,并使用该神经元进行交叉熵计算
- 二进制交叉熵:
- 每个示例接受许多正确的类
- 将对“所有神经元”进行交叉熵计算,考虑到每个神经元可以是两类,0和1李>
- 只有一个正确类别的2神经元输出:
softmax+categorical\u交叉熵
- 1-神经元输出,一类为0,另一类为1:
sigmoid+binary\u交叉熵
解释 请注意,在分类交叉熵(第一个等式)中,
y_true
一词对于真神经元仅为1,使得所有其他神经元都等于零
方程可以简化为:ln(y\u pred[correct\u label])
现在请注意二进制交叉熵(图中的第二个等式)有两个项,一个用于将1视为正确的类,另一个用于将0视为正确的类 在这个主题上已经有一些好的线索: