0

不一定要进入它的代码,而是更多地关注原则,我有一个关于我认为不合适的问题。

如果我正在训练一个识别图像是狗的真假的网络,并且我可能有 40,000 张图像,其中所有狗图像都标记为 1,而所有其他图像都标记为 0 - 我能做什么为了确保准确性,如果这些图像中只有 5,000 张是狗,网络不会在训练中“懒惰”地行动,并且还会将狗标记为更接近 0 而不是 1?

例如,这个问题的主要目的是能够高精度地识别图像是否真的是狗的,而不用真正关心其他图像,除了它们不是狗的事实。此外,我希望能够保留猜测正确的概率,因为这对我的目的非常重要。

我能想到的唯一两件事是:

  1. 网络中有更多节点,或
  2. 让一半的图像是狗的(所以使用 10,000 张图像,其中 5,000 张是狗)。

但我认为第二个选项可能会给狗一个不成比例的大机会成为测试数据的输出,这会破坏这个网络的准确性和整个目的。

我相信这个问题之前已经解决了,所以即使是正确方向的一点也将不胜感激!

4

1 回答 1

0

因此,您有一个二元分类任务,其中两个类在数据集中以不同的频率出现。大约 1/8 是“狗”,7/8 是“没有狗”。

  1. 为了避免偏向某一类或另一类的学习,重要的是对训练、验证和测试数据进行分层,以便将这些分数保留在每个子集中。

  2. 你说你想“保留概率”猜测是正确的——我假设你的意思是你想评估“dogness”概率作为输出变量。这是一个简单的softmax输出层,有两个输出:第一个是“狗”,第二个是“非狗”。这是解决分类问题的典型方法,无论您需要区分多少类。

于 2018-06-29T20:05:57.320 回答