来自《python深度学习》


acc是逐位计算的,[0,1,0,1,0,0,0,0,0,0],十位的标签,如果都答为0,acc为80。

需要重写acc,整条计算正确才是一个正确的条目。

softmax不会遇到这个问题,原因是经过该层后,和为1,所以如果有一个大于0.5,其他都小于0.5,逐位比较也只有一个是正确的,或者都是错误的。


你的训练方法是正确的,但是你需要好好理解keras多标签分类准确率的含义。

测试的准确率也达到99%仅仅为单个标签的平均准确性,我们假设每个便签互不影响。那么真实标签的准确为0.99的478次方为0.008左右。

推荐解决方法,解决增加训练数据,或者修改网路结构。


我用的是lstm,同样遇到了这个问题,求问楼主最后解决了吗


loss函数应该不是这个把,这个是2分类的loss


推荐阅读:
相关文章