我在62个类上使用libsvm,每个类有2000个样本。问题是我想使用网格搜索来优化我的参数。我将范围设置为C=[0.0313,0.125,0.5,2,8]
和gamma=[0.0313,0.125,0.5,2,8]
5倍。交叉量不会在每个参数的前两个参数处完成。有更快的方法来进行优化吗?我可以将折叠次数减少到3吗?写入的迭代次数一直在(1629,1630,1627)
范围内播放我不知道是否相关
优化完成,
#iter = 1629 nu = 0.997175 obj = -81.734944, rho = -0.113838 nSV = 3250, nBSV = 3247
答案 0 :(得分:0)
找到一个好的模型这是一项非常昂贵的任务。让我们做一些计算:
62 classes x 5 folds x 4 values of C x 4 values of Gamma = 4960 SVMs
您可以随时减少折叠次数,这会降低搜索质量,但会减少约40%
次训练的SVM的数量。
最昂贵的部分是SVM不适合多标签分类的事实。它需要训练至少O(log n)
模型(在纠错代码方案中),O(n)
(在libsvm one-vs-all中)到O(n^2)
(在一对一场景中) ,它取得了最好的结果)。
转换到一些快速多标签模型可能更有价值吗?比如一些ELM(极限学习机)?