keras 如何输出softmax分类结果属于某一类的概率

发布网友 发布时间:2022-04-22 06:38

我来回答

4个回答

热心网友 时间:2023-07-01 22:36

softmax是用于单标签输出,模型训练后,调用model.predict函数就可以输出结果为[0.5,0.4,0.1](输出数量为最后一层隐藏层的neuron数)这样的矩阵,里面即为你所需的预测概率值,值得注意的是,softmax会*输出的所有概率相加为1。

如果需要预测的是多个标签而不是单个标签,则需要使用sigmoid作为输出激活函数,那么输出就不再强制相加为1,可以得到每个分类的实际预测值,此时只需要设置一个致信的threshold则可以得到多个分类预测值。

每个激活函数的详细解释看这里网页链接

热心网友 时间:2023-07-01 22:37

不知道您有没有解决,希望可以一起讨论,我现在也需要得到每种分类的置信度。

热心网友 时间:2023-07-01 22:37

# test_x 测试数据,三维矩阵形式[samples_num, time_steps, feature_dim]
# BATCH_SIZE自行设定
predict_y = model.predict(test_x, batch_size = BATCH_SIZE)
然后查看predict_y的值即可

热心网友 时间:2023-07-01 22:38

Keras 自身包含 MNIST 这个数据集,再分成训练集和测试集。x 是一张张图片,y 是每张图片对应的标签,即它是哪个数字。输入的 x 变成 60,000*784 的数据,然后除以 255 进行标准化,标准化之后就变成了(0, 1)之间。对于 y,要用到 Keras 改造的 numpy 的一个函数 np_utils.to_categorical,把 y 变成了 one-hot 的形式,即之前 y 是一个数值, 在 0-9 之间,现在是一个大小为10 的向量,其属于哪个数字,就在那个位置为 1,其他位置都是 0。追问我现在想获取的是,属于每个类别的概率,比如,属于数字5的概率是多少,这怎么获取

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com