多目标及多分类区别及交叉熵问题

来源:互联网 发布:云南大学 知乎 编辑:程序博客网 时间:2024/06/07 05:47
多目标即事件是独立的,但不要求互斥。可以认为事件发生在多个样本空间,彼此互不影响。例问一张图片中包括几种动物。多分类要求互斥,不可同时发生。
TensorFlow针对分类问题,实现了四个交叉熵函数,分别是:(1)tf.nn.sigmoid_cross_entropy_with_logits,(2)tf.nn.softmax_cross_entropy_with_logits,(3)tf.nn.sparse_softmax_cross_entropy_with_logits,(4)tf.nn.weighted_cross_entropy_with_logits。(1)适合用于多目标,即要求独立。(2)适合用于多分类问题,要求互斥。对于多分类问题,例如我们的年龄分为5类,并且人工编码为0、1、2、3、4,因为输出值是5维的特征,因此我们需要人工做onehot encoding分别编码为00001、00010、00100、01000、10000,才可以作为这个函数的输入。理论上我们不做onehot encoding也可以,做成和为1的概率分布也可以,但需要保证是和为1。(3)是(2)的简化版本,如果只需要对一个目标进行分类,可以用之,其在内部自己转化为one-hot的形式。