SVM LibSVM игнорирует функции 1,3,5 при прогнозировании

этот вопрос касается LibSVM или SVM в целом. Интересно, можно ли классифицировать векторы признаков разной длины с помощью одной и той же модели SVM.

Допустим, мы обучаем SVM примерно с 1000 экземплярами следующего вектора признаков: [feature1 feature2 feature3 feature4 feature5]

Теперь я хочу предсказать тестовый вектор, который имеет ту же длину, что и 5. Если вероятность, которую я получаю, слишком плохая, теперь я хочу проверить первое подмножество моего тестового вектора, содержащее столбцы 2-5. Поэтому я хочу отклонить 1 функцию.

Теперь мой вопрос: можно ли сказать SVM только для проверки функций 2-5 для прогнозирования (например, с весами), или мне нужно обучать разные модели SVM. Один на 5 функций, другой на 4 функции и так далее...?

Заранее спасибо...

Маркус


person Marcus    schedule 08.05.2013    source источник


Ответы (1)


Вы всегда можете удалить функции из своих тестовых точек, повозившись с файлом, но я настоятельно рекомендую не использовать такой подход. Модель SVM действительна, когда присутствуют все функции. Если вы используете линейное ядро, просто установив для данной функции значение 0, она будет неявно игнорироваться (хотя вы не должны этого делать). При использовании других ядер это очень важно.

Использование другого набора функций для прогнозов, отличного от набора, который вы использовали для обучения, не является хорошим подходом.

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

person Marc Claesen    schedule 08.05.2013
comment
Спасибо за такой быстрый ответ: - person Marcus; 08.05.2013
comment
Что мне было бы интересно, так это возможность сказать SVM ИГНОРИРОВАТЬ первые столбцы моих данных тестирования и принять решение на основе столбцов 3,4 и 5. - person Marcus; 08.05.2013
comment
В LIBSVM такой опции нет. Это тоже не имеет смысла, модели SVM специально обучают определенному набору функций. Использование подмножества того, что использовалось для обучения, не даст полезных результатов и, вероятно, приведет к серьезной систематической ошибке. - person Marc Claesen; 08.05.2013
comment
Итак, определенно необходимо обучать разные модели. Спасибо за помощь - person Marcus; 08.05.2013