2013-12-22 4 views
2

На самом деле я использую интерфейс OpenCV svm python, и я пытаюсь классифицировать данные по 4 категориям. Когда метки и данные обучения в порядке, я имею в виду, например, данные были в 4 группах, упорядоченных как метка 1, метка 2, метка 3 и метка 4, правильное соотношение было низким, всего лишь 50% вправо. Но когда я перетасовал данные обучения, результат был разумным, примерно на 90% правильным. Поэтому мой вопрос: влияет ли порядок данных обучения на конечный результат или мне нужно перетасовать данные перед обучением?Требуется ли перетасовать данные обучения для мульти-классификации SVM?

ответ

4

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

Короче:

  • SVM обучение не зависит от данных, заказывающих
  • Некоторые инструменты библиотеки на основе используемых в качестве «дополнительного метода» может зависеть от него
+0

Я использовал проверку креста для проверки соотношения. Может, в этом и дело! –

1

Мой ответ Нет. Основываясь на this page, В отличие от алгоритма обучения обратного распространения для искусственных нейронных сетей, данный SVM всегда будет детерминистически сходиться к одному и тому же решению для заданного набора данных независимо от ini . Для учебных комплектов, содержащих менее примерно 5000 точек, градиентный спуск обеспечивает эффективное решение этой проблемы оптимизации [Campbell and Cristianini, 1999].

Во-первых, убедитесь, что векторы объектов соответствуют соответствующим меткам после перетасовки. Также убедитесь, что на каждой этикетке есть много векторных функций в обоих случаях.

Во-вторых, вы можете попробовать повторить свое обучение, чтобы узнать, изменяется ли SVM. Используйте точно такие же наборы данных с тем же порядком и без перетасовки. Теоретически это не изменится, так как проблема выпуклой оптимизации должна иметь уникальный максимум.

В-третьих, есть вероятность, что вы достигли максимального времени итерации, если ваша тренировка сходится очень медленно. Тогда раннее завершение может привести к некоторой очевидной случайности в результатах.

Последнее, но не менее важное, хотя математически первичное решение уникально в SVM, двойное решение может быть неединственным. В основном это зависит от выбора связанной переменной C. This article анализировал возможную уникальность между первичными и двойными решениями.

Смежные вопросы