网格搜索中的交叉验证非常慢(libsvm)
Posted
技术标签:
【中文标题】网格搜索中的交叉验证非常慢(libsvm)【英文标题】:Cross validation is very slow in Grid search (libsvm) 【发布时间】:2014-01-10 05:25:02 【问题描述】:我在 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
【问题讨论】:
【参考方案1】:找到一个好的模型只是一项昂贵的任务。让我们做一些计算:
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)
(one-vs-one场景),达到最佳效果)。
也许切换到一些快速的多标签模型会更有价值?比如一些 ELM(极限学习机)?
【讨论】:
以上是关于网格搜索中的交叉验证非常慢(libsvm)的主要内容,如果未能解决你的问题,请参考以下文章