使用神经网络处理多分类任务时,一般采用 softmax 作为输出层的激活函数,使用categorical_crossentropy(多类别交叉熵损失函数)作为损失函数,输出层包含k个神经元对应k个类别。
在多标签分类任务中,一般采用 sigmoid 作为输出层的激活函数,使用 binary_crossentropy(二分类交叉熵损失函数)作为损失函数,就是将最后分类层的每个输出节点使用sigmoid激活函数激活,然后对每个输出节点和对应的标签计算交叉熵损失函数。此时最后一层的输出就不能看成一个分布了,因为加起来不为1,现在把输出层每个神经元看作是一个二项分布, 这相当于将一个多标签问题转化为了在每个标签上的二分类问题。