【问题标题】:Does neural networks learn distribution in training dataset?神经网络是否学习训练数据集中的分布?
【发布时间】:2018-08-15 09:02:37
【问题描述】:

我正在尝试在具有不平衡类别(20% 类别 1、70% 类别 2、10% 类别 3)的数据集上训练卷积神经网络。我希望网络知道与第 2 类相比,第 1 类和第 3 类很少发生。

大多数 stackoverflow 答案建议通过向代表性不足的类添加更多数据或优先权重更新来平衡数据集。

我的问题

1) 如果我在不采取任何措施平衡数据集的情况下进行训练,模型会自行学习训练数据集的分布吗?

2) 如果他们可以了解数据的分布,那么需要按照许多 stackoverflow 答案中的建议来平衡数据集吗?

谢谢!

【问题讨论】:

    标签: neural-network classification training-data


    【解决方案1】:

    根据给定的情况,您可能能够为不平衡类训练成功的神经网络。但是,假设您正在尝试训练一个分类器,并且您有 90% 的 A 类实例和 10% 的 B 类实例。

    一个非常容易找到并且非常有效的“解决方案”是创建一个始终返回 A 类作为预测的网络,因为这将具有 90% 的准确度(9/10 正确的预测)。学习算法可能很难从这种解决方案转变为更好的解决方案(所有可能的微小变化都可能导致网络性能比原来的更差!)。

    拥有更平衡的训练集意味着这种惰性解决方案会导致性能下降(在两个平衡良好的类的情况下不超过 50%)。

    简而言之,平衡类是一种通过阻止不良解决方案来帮助学习算法的方法,即使理论上对不平衡类进行训练有时可能会奏效。

    【讨论】:

    • 有没有办法在正态分布的数据集上有效地训练回归模型? .我希望网络知道第 1 类和第 3 类很少发生。在这种情况下,平衡训练数据集没有任何意义。
    • 如果您正在构建分类器,那么您希望您的网络能够识别给定示例的正确类,因此网络不必了解任何给定类是否非常常见,但它必须了解是什么让示例属于每个类。
    • 我的意思是:你的类的相对频率只影响你的学习算法工作的难易程度,而不是结果网络的行为。
    猜你喜欢
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 2020-11-24
    • 1970-01-01
    • 2014-10-21
    • 2011-04-07
    • 1970-01-01
    • 2017-02-28
    相关资源
    最近更新 更多