【问题标题】:Choose training and test set for MLP and Hopfield network为 MLP 和 Hopfield 网络选择训练和测试集
【发布时间】:2019-01-26 12:27:59
【问题描述】:

我有一个关于多层感知器 (MLP) 和 Hopfield 网络的训练和测试集选择的问题。

例如,假设我们得到了 100 个位图格式的数字 0-9 模式。其中 10 个是完美数字,而其他 90 个是扭曲的。这些模式中的哪些将用于训练集,哪些用于测试集?目标是对数字进行分类。

我想对于 Hopfield 网络,完美位将用作训练集,但 MLP 呢?我想到的一种方法是,以 70 个扭曲的数字为例,将它们用作训练集,并将相应的完美数字作为预期目标。这种方法正确吗?

【问题讨论】:

    标签: neural-network training-data test-data


    【解决方案1】:

    免责声明:我以前没有与 Hopfield Networks 合作过,所以我相信你关于它的陈述,但无论如何它不应该与答案有那么大的相关性。
    我还假设您想要对数字进行分类,这是您在问题中没有明确说明的内容。

    至于适当的拆分:除了很少的训练数据通常不是获得 MLP 体面结果的可行数量(即使对于数字分类等简单任务)之外,您不太可能能够在大多数实际场景中根据质量“预先标记”您的训练数据。因此,您应该始终假设您正在处理的数据本质上是嘈杂的。一个很好的例子是data augmentation 经常被用来丰富你的训练语料库。由于数据增强可以由诸如

    这样的简单更改组成
    • 添加噪音
    • 小幅旋转
    • 水平/垂直翻转(不过,后者只对数字有意义)

    可以提高你的准确性,这表明视觉质量训练数量是两个截然不同的东西。当然,单靠数量本身并不能解决你的问题(尽管研究表明它至少是一个good idea to use very much data

    此外,您判断为良好表示的内容可能与网络的角度有很大不同(尽管对于标记数字可能很容易分辨)。因此,一个不错的策略是简单地为您的训练/测试拆分执行随机抽样。

    我在预处理数据集时喜欢做的事情是,在完成拆分后,检查每个类在拆分中的表现是否有些均匀,这样就不会过度拟合。 同样,我认为在您的测试和训练集中拥有干净/高质量的数字图像可能是最有意义的,因为您希望既能够识别高质量的数字,也能够识别草率书写的数字,并且然后测试您是否可以真正识别它(使用您的测试集)。

    【讨论】:

    • 这个问题是理论上的,而不是实际的实现,所以训练数据的数量只是一个例子。我还编辑了我的问题以指定数字分类的目标。
    • 对于理论问题,我总是建议多看Stats Exchange的方向。尽管在这个特定的例子中,即使从你的理论观点来看,我的论点仍然成立:将完美的例子采样到测试 训练中将是要走的路。我看不出你有什么理由会忽略对它们进行训练的机会,而且显然你也想为不完美留出空间(所以不要使用训练集中的所有完美示例可能是个好主意)。
    猜你喜欢
    • 2013-05-14
    • 2013-05-25
    • 1970-01-01
    • 2017-10-01
    • 2020-05-20
    • 1970-01-01
    • 2018-10-30
    • 2020-09-10
    • 2017-11-01
    相关资源
    最近更新 更多