Может ли SVM учиться постепенно?

Я использую многомерный классификатор SVM (SVM.NET, оболочка для libSVM), чтобы классифицировать набор функций.

Учитывая модель SVM, можно ли включить новые данные обучения без пересчета на все предыдущие данные? Я предполагаю, что другой способ сделать это: SVM изменен?

Ответы

Ответ 1

Собственно, это обычно называется постепенным обучением. Вопрос встал раньше и на него довольно хорошо ответил: Несколько деталей реализации для машины поддержки-вектора (SVM).

Вкратце, это возможно, но не легко, вам придется изменить библиотеку, которую вы используете, или реализовать сам алгоритм обучения.

Я нашел два возможных решения: SVMHeavy и LaSVM, который поддерживает постепенное обучение. Но я не использовал их и ничего не знаю о них.

Ответ 2

Онлайн и инкрементный, хотя и похожий, но немного отличающийся. В онлайн-режиме может быть сконфигурирован его общий проход (эпоха = 1) или количество эпох. Где as, incremental означало бы, что у вас уже есть модель; независимо от того, как он построен, но тогда модель может быть изменена новыми примерами. Кроме того, часто требуется сочетание онлайн и инкрементальности.

Ниже приведен список инструментов с некоторыми замечаниями по онлайн-и/или инкрементному SVM: https://stats.stackexchange.com/info/30834/is-it-possible-to-append-training-data-to-existing-svm-models/51989#51989