Machine learning .预测返回的二进制结果,而不是百分比

Machine learning .预测返回的二进制结果,而不是百分比,machine-learning,keras,computer-vision,classification,Machine Learning,Keras,Computer Vision,Classification,你好,我编译了我的模型如下 model.compile(优化器='rmsprop',loss='classifical\u crossentropy',metrics=['accurity']) 我只是在做一个 打印(模型预测(测试张量)) 返回[[0.0.0.0.0.0.0.1.0.0.0.] 最后一层是softmax激活,所以不应该这样做 编辑:我也尝试过预测概率,但没有成功理论上你是对的,它将无限接近1,但请记住,我们使用固定位的浮点数来表示它们。因此,在该值达到一定的ε1后,它将四舍五入

你好,我编译了我的模型如下

model.compile(优化器='rmsprop',loss='classifical\u crossentropy',metrics=['accurity'])

我只是在做一个

打印(模型预测(测试张量))

返回
[[0.0.0.0.0.0.0.1.0.0.0.]

最后一层是softmax激活,所以不应该这样做


编辑:我也尝试过预测概率,但没有成功

理论上你是对的,它将无限接近1,但请记住,我们使用固定位的浮点数来表示它们。因此,在该值达到一定的ε1后,它将四舍五入。其他条目也会发生这种情况。因此,你得到的预测是100%有信心的


为什么你的模型会预测这一点?这可能是因为班级人数过多,所以他们变得非常自信。训练时间长,因此权重会饱和,尤其是在没有任何规则化的情况下。

所有分类都是基于大约相同数量的img数据(每个数千)进行训练,然后上传。所有分类看起来都非常相似,因此模型无法100%预测它们。1.0=100%,这仍然是一个百分比。不应该达到100%的信心不,这是一个典型的误解。softmax通常会产生一个类似热的概率。不,在这种情况下这不是一个误解。这些预测绝对不应该是100%,我不是指现状,但我的意思是,在这种情况下,分类之间的相似性太高,不可能发生这种情况。我认为你完全忽视了softmax+交叉熵不会真正产生有意义的自信,由此产生的不确定性非常糟糕,正如你在自己的结果中看到的那样。为了获得有意义的校准概率,您必须使用其他方法。