千层面的卷积神经网络精度(回归与分类)

2024-05-12 22:32:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经玩了一段时间宽面条现在是一个使用卷积神经网络的二元分类问题。然而,尽管我在培训和验证损失方面得到了良好(ish)的结果,但我的验证和测试准确性始终是恒定的(网络总是预测同一个类)。在

我遇到过this,一个和我在烤宽面条方面有同样问题的人。他们的解决方案是设置regression=True,因为他们在烤宽面条上使用Nolearn。在

有人知道如何在千层面中设置相同的变量吗(因为我不想使用Nolearn)?除此之外,有人能解释为什么要这样做吗?在


Tags: 网络true分类神经网络解决方案this卷积损失
1条回答
网友
1楼 · 发布于 2024-05-12 22:32:41

从nolearn的the code of the NeuralNet class来看,似乎参数regression在不同的地方使用,但大多数时候它会影响输出值和损耗的计算方式。在

regression=False(默认值)的情况下,网络以最大概率输出类,并使用类别交叉熵计算损失。 另一方面,在regression=True的情况下,网络输出每个类的概率,并用输出向量的平方误差计算损失。在

我不是深度学习和CNN的专家,但这可能起作用的原因是在regression=True的情况下,如果有一个小的误差梯度,对网络参数应用小的变化可能不会改变预测的类和相关的损失,并且可能导致算法“认为”它已经收敛。但是如果你看类概率,小的参数变化会影响概率和产生的均方误差,网络将沿着这条路径继续前进,最终可能会改变预测。在

这只是一个猜测,如果没有看到代码和数据集,很难判断。在

相关问题 更多 >