Как определить оптимальные параметры C / Gamma в libsvm? - PullRequest
2 голосов
/ 04 мая 2010

Я использую libsvm для многоклассовой классификации наборов данных с большим количеством функций / атрибутов (около 5800 на каждый элемент). Я хотел бы выбрать лучшие параметры для C и Gamma, чем используемые по умолчанию значения по умолчанию.

Я уже пробовал запустить easy.py, но для наборов данных, которые я использую, расчетное время близко к вечности (запустил easy.py на 20, 50, 100 и 200 выборках данных и получил суперлинейный регрессия, которая прогнозировала мое необходимое время выполнения, чтобы занять годы).

Есть ли способ быстрее достичь лучших значений C и Gamma, чем значения по умолчанию? Я использую библиотеки Java, если это что-то меняет.

1 Ответ

3 голосов
/ 06 мая 2010

Этого можно достичь без поиска по сетке, как я считаю easy.py.

Посмотрите на эту статью Тревора Хасти и др.: Полный путь регуляризации для машины опорных векторов (PDF). Один «запуск SVM» рассчитает потери для всех значений «C» за один выстрел, чтобы вы могли увидеть, как это влияет на производительность SVM.

У них есть реализация этого алгоритма, которую вы можете использовать в R через пакет svmpath .

Я полагаю, что ядро ​​алгоритма написано на фортране, но заключено в R.

...