【发布时间】:2016-12-05 16:52:05
【问题描述】:
我正在开发一个多标签分类器。我有许多输出标签 [1, 0, 0, 1...],其中 1 表示输入属于该标签,0 表示其他情况。
在我的例子中,我使用的损失函数是基于 MSE。我想改变损失函数,当输出标签为-1时,它会改变为这个标签的预测概率。
检查所附图片以最好地理解我的意思: 场景是 - 当输出标签为 -1 时,我希望 MSE 等于零:
在这种情况下,我希望将其更改为:
在这种情况下,第二个标签(中间输出)的 MSE 将为零(这是我不希望分类器了解此标签的特殊情况)。
感觉这是一种需要的方法,我真的不相信我是第一个考虑它的人,所以首先我想知道这种训练神经网络的方法是否有名字,其次我想知道我该怎么做。
我知道我需要更改损失函数中的一些内容,但我真的是 Theano 的新手,不知道如何在那里查找特定值以及如何更改张量的内容。
【问题讨论】:
-
我认为你可以使用 Switch 或 IfElse 来做到这一点:deeplearning.net/software/theano/cifarSC2011/…
-
你不需要在 theano 中做任何事情。使用 sample_weight 参数,传递 0 和 1(0 表示“忽略”元素)
-
但我想使用 1 和 0 作为合法标签,当标签为 -1 时忽略,不确定这是否适合我
标签: python classification theano keras