【问题标题】:Weka Multilayer Perceptron incremental learningWeka 多层感知器增量学习
【发布时间】:2017-03-18 22:13:12
【问题描述】:

我正在使用 weka 多层感知器来构建我的分类器。问题是,我有这么多数据集,所以我想一遍又一遍地进行增量训练。在我用 dataset1 调用 buildClassifier 之后。完成训练后,如果我用 dataset2 调用 buildClassifier 会怎样。会发生什么?我已经用 database1 训练过的网络会丢失吗?或者下次我调用 builderClassifier(dataset2) 的起点是带有 dataset1 的训练有素的网络?如果是第一种情况,有没有办法按照我所说的使用 weka MLP 做?

另外,如果我没有将种子传递给 MLP,我猜网络将始终返回相同的初始权重,因为默认种子为 0。

谢谢!

【问题讨论】:

  • 显示、分享您的代码给比给您最佳答案更能理解您的人。

标签: java classification weka perceptron


【解决方案1】:

您不能逐步学习 MultilayerPerceptron,每次在同一个分类器实例上调用 buildClassifier 方法时,都会用新模型覆盖当前模型。

如果您希望学习过程使用更多样本,只需将它们添加到训练集(dataset1)并在新数据集上调用 buildClassifier 启动新的学习过程,以便反向传播算法可以使用所有可用数据进行训练模型!

另一方面,如果您已经用 10 个 epoch 训练了一个模型,并且您想在同一数据集上用 20 个 epoch 训练另一个模型,而不会丢失第一个,您可以简单地使用以下方法复制它makeCopy().

查看文档了解更多信息:http://weka.sourceforge.net/doc.stable-3-8/weka/classifiers/functions/MultilayerPerceptron.html

【讨论】:

    猜你喜欢
    • 2016-01-10
    • 1970-01-01
    • 2014-07-03
    • 2021-12-15
    • 2019-06-12
    • 2018-07-15
    • 2013-03-04
    • 1970-01-01
    • 2015-10-14
    相关资源
    最近更新 更多