尽管确实存在用于SVM的在线算法,但是指定要内核还是线性SVM变得很重要,因为针对线性SVM的特殊情况已经开发了许多有效的算法。
对于线性情况,如果您在scikit-learn中将SGD分类器与铰链损耗和L2正则化配合使用,您将获得一个可以在线/增量更新的SVM。您可以将其与近似于内核的特征转换结合使用,以类似于在线内核SVM。
我的规范之一是它应该不断更新以适应不断变化的趋势。
这被称为 概念漂移,
不能通过简单的在线SVM很好地处理。使用PassiveAggresive分类器可能会给您带来更好的结果,因为它的学习率不会随着时间而降低。
假设您在训练/跑步时获得了反馈,则可以尝试检测准确性随时间的降低,并在准确性开始下降时开始训练新模型(并在您认为新模型变得更准确时切换到新模型)。JSAT有2种漂移检测方法(请参阅jsat.driftdetectors),可用于跟踪准确性并在准确性发生变化时向您发出警报。
它还具有更多在线线性和核方法。
(偏见:我是JSAT的作者)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)