2013-12-21 6 views
1

Я использую libsvm на 62 классах по 2000 образцов. Проблема в том, что я хотел оптимизировать свои параметры, используя поиск по сетке. i установите диапазон C=[0.0313,0.125,0.5,2,8] и gamma=[0.0313,0.125,0.5,2,8] с 5-кратным увеличением. пересечение не заканчивается по первым двум параметрам каждого. Есть ли более быстрый способ сделать оптимизацию? Могу ли я уменьшить количество сгибов до 3, например? Число итераций, написанных продолжает играть в (1629,1630,1627) диапазоне я не знаю, если это связаноПерекрестная проверка очень медленная в поиске сетки (libsvm)

оптимизация закончена,

#iter = 1629 nu = 0.997175 obj = -81.734944, rho = -0.113838 nSV = 3250, nBSV = 3247

ответ

0

Это просто дорогостоящая задача, чтобы найти хорошую модель. Давайте делать некоторые расчеты:

62 classes x 5 folds x 4 values of C x 4 values of Gamma = 4960 SVMs

Вы всегда можете уменьшить количество складок, что приведет к снижению качества поиска, но позволит сократить весь объем подготовленных SVMs около 40%.

Самой дорогой частью является тот факт, что SVM не очень подходит для классификации нескольких лейблов. Ему необходимо обучить не менее O(log n) моделей (в сценарии с исправлением ошибок), O(n) (в libsvm one-vs-all) до O(n^2) (в сценарии один-один, который достигает наилучших результатов).

Возможно, было бы более полезно переключиться на некоторую быструю многокамерную модель? Как, например, некоторые ELM (Extreme Learning Machine)?

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