如何在Keras中使用categorical_hinge?

Man*_*ngo 5 keras activation-function loss-function keras-2

也许这是一个非常愚蠢的问题,但我找不到如何在Keras中使用categorical_hinge的示例。我进行分类,目标是shape(,1)[-1,0,1],所以我有3个类别。使用功能性API,我像这样设置了输出层:

输出=密集(1,名称='输出',激活='tanh',kernel_initializer ='lecun_normal')(output1)

然后我申请:

model.compile(optimizer = adam,损失= {'输出':'categorical_hinge'},指标= ['准确性'])

结果是该模型正在收敛,但精度接近0。我该怎么做?

小智 2

虽然[-1, 0, 1]是 tanh 激活函数的有效目标范围,但经验表明 Keras 模型不能很好地处理二进制输出中的分类。考虑使用三个 one-hot 向量和一个 softmax 分类器来代替。如果我正确地解释了这个错误报告,那么分类铰链无论如何都是可以与 one-hot 向量一起使用的。

因此:将标签转换为 one-hots 并将输出更改为以下内容:

output = Dense(3, name='output', activation='softmax', kernel_initializer='lecun_normal')(output1)
Run Code Online (Sandbox Code Playgroud)