Machine learning 每个边界框的置信值

Machine learning 每个边界框的置信值,machine-learning,neural-network,svm,bounding-box,conv-neural-network,Machine Learning,Neural Network,Svm,Bounding Box,Conv Neural Network,我目前正在使用神经网络对图像进行分类。我已经成功地在图像上创建了边界框,对于每个边界框,我应用了分类算法(W^X+B,其中W,B是已经从训练数据中学习到的权重和偏差),以获得20个类中每个类的值 对于一个边界框,我得到了20个类的值: 221.140961 71.6502609 185.005554 14.2860174 177.44928 -20.842535 -16.2324142 -105.940437 -397.505829 132.100311 -12.3567591

我目前正在使用神经网络对图像进行分类。我已经成功地在图像上创建了边界框,对于每个边界框,我应用了分类算法(W^X+B,其中W,B是已经从训练数据中学习到的权重和偏差),以获得20个类中每个类的值

对于一个边界框,我得到了20个类的值:

 221.140961  71.6502609  185.005554 14.2860174   177.44928   -20.842535
-16.2324142 -105.940437 -397.505829 132.100311  -12.3567591  262.162872 
-243.444672 -198.083984 19.3514423  1.94239163  -75.0622787 -93.7277069 
-181.89653   260.002625
预测的类为11类(从0开始的类指数),其最大值为262.162872。我还遇到过一些论文,其中我可以找到每个边界框的置信值通常是计算出来的,其值范围为0到1

如何获得每个边界框的置信度值?是否只是类11相对于所有其他类的概率?
在这些数据中,我如何获得它?

要将神经网络的输出转换为概率,通常使用softmax:

这确保非常小的值成为接近零的概率,非常大的值成为接近一的概率。范围的末端对值的大小相对不敏感,范围的中间部分更敏感。它还确保所有概率加起来等于1。这适用于多类分类(其中类是不相交的)

请注意,在softmax之前通常不应用激活功能(如ReLU)。所以一个典型的网络是卷积->ReLU->…->卷积->ReLU->卷积->softmax


另外,你的神经网络真的像你描述的那样有一层吗?这通常不会产生好的结果。

我使用了2个卷积池层(带ReLU),然后是1个完全连接层,然后是softmax层,就像LeNet一样。但是我得到的softmax输出对于一个特定的类是1,对于大多数其他类是0,对于其余的类则是一些可以忽略不计的值(1e-30)。这就是为什么我认为信心值可能是其他的。softmax输出=1的类不是正确的类。所以我认为这个模型有一些问题。@Kapes:Softmax是多类所需要的,所以至少这部分是正确的。如果你得到的结果都是非常高(接近1)的置信度,这是错误的,那么你的人际网络就太过完美了。尝试使用更多的培训数据或在现有数据上使用数据扩充。我使用pascal voc 2012培训数据集,其中我使用10000作为培训集,使用rest作为验证集。是的,你是对的,我将不得不使用数据增强,因为训练数据很低,可能需要进行更多的训练。目前我正在接受大约200个时代的训练。我还想用一些辍学的学生。至少现在我知道我正朝着正确的方向前进。