Python 为什么在CNN分割任务中使用0.5作为二值化阈值?

Python 为什么在CNN分割任务中使用0.5作为二值化阈值?,python,deep-learning,conv-neural-network,image-segmentation,Python,Deep Learning,Conv Neural Network,Image Segmentation,为什么在CNN分割任务中使用0.5作为二值化阈值 我们通常在得到预测概率图后执行二值化,如下所示: Pred = model(data) Pred = pred > 0.5 我不明白为什么它是0.5。我已尝试将此阈值设置为0.3、0.4、0.5和0.6。结果表明,0.4是最好的,当然,不同的任务会产生不同的结果 那么,为什么我们总是使用0.5作为图像分割的阈值呢?阈值是特定于任务的 因此,没有现成的保证阈值可以最好地发挥作用 其思想是在不同的阈值(显然在0和1之间)之间迭代,并找到最适

为什么在CNN分割任务中使用0.5作为二值化阈值

我们通常在得到预测概率图后执行二值化,如下所示:

Pred = model(data)

Pred = pred > 0.5
我不明白为什么它是0.5。我已尝试将此阈值设置为0.3、0.4、0.5和0.6。结果表明,0.4是最好的,当然,不同的任务会产生不同的结果


那么,为什么我们总是使用0.5作为图像分割的阈值呢?

阈值是特定于任务的

因此,没有现成的保证阈值可以最好地发挥作用

其思想是在不同的阈值(显然在0和1之间)之间迭代,并找到最适合您的问题的阈值

至于你的不确定性:你在分割过程中使用了神经网络;在写这篇评论的时候,研究人员仍在研究神经网络的“可解释性问题”


没有人会回答“为什么0.4比0.5好”;这只能是猜测。

我们并不总是使用0.5,但与大多数监督学习算法一样,必须给出一个默认阈值,而且大多数情况下是0.5(将默认阈值设置为0.4或0.6会很奇怪,就像您所说的,这将是一个根据任务进行优化的参数)我使用0.95在我的情况下,所以它可以根据您的不同problem@HuguesGALLIER是的,我担心将其设置为0.4会受到质疑,为什么这是一个值。到目前为止,我仍然不能很好地解释这个问题。@juvianj我也使用了0.4作为阈值,但到目前为止,我无法解释使用0.4的原因。这就像我只是选择了一个,并且毫无理由地做到了最好。这个问题并不真正适合stackoverflow,它是一个更一般的问题,而不是一个程序问题。