SVM 可以增量学习吗?
我正在使用多维 SVM 分类器(SVM.NET,libSVM 的包装器)对一组特征进行分类。
给定 SVM 模型,是否可以合并新的训练数据而无需重新计算所有先前的数据?我想另一种说法是:SVM 是可变的吗?
I am using a multi-dimensional SVM classifier (SVM.NET, a wrapper for libSVM) to classify a set of features.
Given an SVM model, is it possible to incorporate new training data without having to recalculate on all previous data? I guess another way of putting it would be: is an SVM mutable?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
实际上,这通常称为增量学习。这个问题之前已经出现过,在这里得到了很好的回答:支持向量机 (SVM) 的一些实现细节。
简而言之,这是可能的,但并不容易,您必须更改正在使用的库或自己实现训练算法。
我找到了两种可能的解决方案, SVMHeavy 和 LaSVM,支持增量训练。但我没用过,也不了解它们。
Actually, it's usually called incremental learning. The question has come up before and is pretty well answered here : A few implementation details for a Support-Vector Machine (SVM).
In brief, it's possible but not easy, you would have to change the library you are using or implement the training algorithm yourself.
I found two possible solutions, SVMHeavy and LaSVM, that supports incremental training. But I haven't used either and don't know anything about them.
在线和增量虽然相似但略有不同。在线上,一般可以配置单次(epoch=1)或epoch数。增量意味着你已经有了一个模型;不管它是如何构建的,但是模型可以通过新的示例来改变。此外,通常还需要在线和增量的结合。
以下是一些工具列表,其中包含有关在线和/或增量 SVM 的一些注释:https://stats.stackexchange.com/questions/30834/is-it-possible-to-append-training-data-to-existing-svm-models/ 51989#51989
Online and incremental although similar but differ slightly. In online, its generally a single pass(epoch=1) or number of epochs could be configured. Where as, incremental would mean that you already have a model; no matter how it is built, but then model can be mutable by new examples. Also, a combination of online and incremental is often what is required.
Here is a list of tools with some remarks on the online and/or incremental SVM : https://stats.stackexchange.com/questions/30834/is-it-possible-to-append-training-data-to-existing-svm-models/51989#51989