我无法使用keras来适应我的场景。在我的输出图层中,它将输出每个项目的概率。我想采取前N个项目(即概率最高)并查看它们是否是事实的一个子集(具有一组项目)。我必须编译此方案的负对数可能性。我可以问我该怎么做呢?
非常感谢您的帮助。
`
nn = Sequential()
nn.add(Dense(self.num_hidden_units, input_dim = input_num, init="uniform"))
nn.add(Activation('tanh'))
nn.add(Dense(self.num_items, init="uniform"))
nn.add(Activation('softmax'))
`
答案 0 :(得分:0)
如果我理解正确,你就属于multi-label classification政权。在这种情况下,共同目标函数是二元交叉熵损失,高于sigmoid
的激活。
请注意,您应该用sigmoid替换softmax激活,因为在您的情况下,概率不必总和为1
在keras中应用损失的使用示例:
model.compile(loss='binary_crossentropy', optimizer='sgd')