【发布时间】:2016-01-10 16:13:51
【问题描述】:
我理解的增量学习的想法是,在训练之后,我保存我的模型,当我有新数据时,我不会用新数据训练旧数据,而是加载我保存的模型并再次使用新数据和新训练模型将建立在旧数据之上。
我在 WEKA 中搜索过这个,我发现这可以使用“增量算法”来完成。我知道 Hoefdding-Tree 是 J48 算法的增量版本,但我不确定增量学习是如何进行的。
如果有人可以解释这在 WEKA 中是否可行以及如何完成。
【问题讨论】:
标签: weka
我理解的增量学习的想法是,在训练之后,我保存我的模型,当我有新数据时,我不会用新数据训练旧数据,而是加载我保存的模型并再次使用新数据和新训练模型将建立在旧数据之上。
我在 WEKA 中搜索过这个,我发现这可以使用“增量算法”来完成。我知道 Hoefdding-Tree 是 J48 算法的增量版本,但我不确定增量学习是如何进行的。
如果有人可以解释这在 WEKA 中是否可行以及如何完成。
【问题讨论】:
标签: weka
为了在 WEKA 中进行增量学习,您必须选择实现 UpdatableClassifer 接口的分类器。有 10 个分类器可以做到这一点。请注意,这只能使用编码或命令行来完成。
您必须首先根据训练数据构建模型,然后保存模型。之后,您使用相同的模型并训练更多。
使用 HoefddingTree 算法,会是这样的:
java weka.classifiers.trees.HoeffdingTree -L 2 -S 0 -E 1.0E-7 -H 0.1 -M 0.01 -G 200.0 -N 0.0 -t Training.arff -no-cv -d ht.model
java weka.classifiers.trees.HoeffdingTree -t Training.arff -T Testing.arff -l ht.model -d ht.updated.model
当然,更新模型时无需再次指定训练参数,因为这些设置已经保存在模型中。
更多信息:
http://weka.8497.n7.nabble.com/WEKA-Incremental-Learning-Training-td35691.html
https://weka.wikispaces.com/Classification-Train/test%20set#Classification-Building a Classifier-Incremental
【讨论】: