【发布时间】:2016-11-24 14:03:47
【问题描述】:
我正在构建一个神经网络 (CNN),它可以预测图像的 100 个属性。训练数据如下-
image_name image_attributes
img/img001.jpg -1, 1, -1 , 1, 0 .......-1 , 1
因此,存在的属性具有值1,如果该属性不存在,则为-1,如果未知,则为0。我正在使用 Tensorflow 并将我的损失定义为 -
loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=pred, labels=y))
我的问题是,如果我最小化这种损失,有时由于-1 表示缺少某些属性而它具有负值,而我的优化算法将最小化已经为负的损失。不就是分道扬镳吗?
最小化这种损失是正确的,还是应该使用 mod 函数只产生正损失?
【问题讨论】:
-
soft max 将您的结果转换为介于 0 和 1 之间的概率。如果答案不是所选类别中的答案,则使用交叉熵对答案进行惩罚。所以你应该看到你的结果是 x,y,z 哪个更有可能服从选择和惩罚信心
-
您应该为您的课程使用 one-hot-encoding。这意味着将标签编码为 0 和 1 的 (samples, 3) 形式,具体取决于该样本所属的类别。
-
@ThomasPinetz 这些是属性,即非独占类。那么一种热编码将如何工作呢? '0' 表示的未知属性呢
-
你还有 3 节课。 1 0 0 将是未知的。 0 1 0 为假,0 0 1 为真。
-
真的吗?谁对拒绝投票的问题有疑问?请注意解释。
标签: machine-learning computer-vision tensorflow deep-learning