【问题标题】:Increasing the number of iterations with multisvm使用 multisvm 增加迭代次数
【发布时间】:2013-05-17 00:14:11
【问题描述】:

我正在尝试在 matlab 中使用 multisvm 函数。在一个小数据集上,一切都很好。增加我需要的大小,我得到以下错误:

使用 seqminopt 时出错>seqminoptImpl(第 198 行)未达到收敛 在最大迭代次数内。

seqminopt 中的错误(第 81 行)[alphas offset] = seqminoptImpl(data, 目标标签,...

svmtrain 中的错误(第 499 行) [alpha, 偏差] = seqminopt(training, groupIndex, ...

multisvm 中的错误(第 20 行) 模型(k) = svmtrain(TrainingSet,G1vAll);

我一直试图在网上寻找解决方案,结果发现:http://www.mathworks.com/matlabcentral/answers/66183

建议是“所以增加最大迭代次数”。问题是,这似乎并不容易做到。我有点新手,但我试图通过查看所有这些文件来自己解决这个问题,但没有成功。有谁知道如何增加迭代次数并解决这个问题?

【问题讨论】:

    标签: matlab svm


    【解决方案1】:

    Svmtrain 正在尝试在 e.g.两组。如果它没有找到正确的线,它会改变线函数中的一些参数,以找到一个正确的分割组的线,并对迭代参数进行迭代。默认情况下,它会尝试找到正确的行 15000 次。如果我们使用以下代码,svmtrain 将尝试 100000 次以找到正确的行。但是训练的时间自然会更长。

    options.MaxIter = 100000;
    my_svm_struct = svmtrain((Training, Group, 'Options', options); 
    

    【讨论】:

      【解决方案2】:

      您可以使用svmtrain 函数(MaxIter) 的可选'options' 参数来执行此操作。 documentation of svmtrain 包含有关此的更多信息。

      如果您使用的是 SMO(默认),则需要使用 statsetoptimset 如果您使用 QP 求解器来创建选项结构。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-10-29
        • 1970-01-01
        • 2019-06-19
        • 2015-08-01
        • 2019-03-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多