【发布时间】:2013-04-06 07:55:40
【问题描述】:
我有一组数据正在尝试使用 SVM 进行学习。就上下文而言,数据的维度为 35,包含大约 30,000 个数据点。
我之前用这个数据集在 Matlab 中训练过决策树,大约需要 20 秒。对错误率并不完全满意,我决定尝试 SVM。
我第一次尝试svmtrain(X,Y)。大约 5 秒后,我收到以下消息:
???在 453 处使用 ==> svmtrain 时出错 计算核函数时出错: 记不清。键入 HELP MEMORY 作为您的选项。
当我查看此错误时,有人建议我使用 SMO 方法:svmtrain(X, Y, 'method', 'SMO');。大约一分钟后,我得到了这个:
???在 236 处使用 ==> seqminopt>seqminoptImpl 时出错 在主循环通过的最大次数(15000)内没有达到收敛
==> seqminopt 中的错误为 100 [alphas offset] = seqminoptImpl(data, targetLabels, ...
==> svmtrain 中的错误在 437 [alpha 偏差] = seqminopt(training, groupIndex, ...
我尝试使用其他方法(LS 和 QP),但我再次得到第一个行为:然后延迟 5 秒
???在 453 处使用 ==> svmtrain 时出错 计算核函数时出错: 记不清。键入 HELP MEMORY 作为您的选项。
我开始认为我做错了什么,因为决策树使用起来非常轻松,在这里我陷入了看似非常简单的操作。
非常感谢您的帮助。
【问题讨论】:
-
如果您在较少数量的数据点上进行训练是否会出错,例如1000?
标签: matlab machine-learning out-of-memory svm convergence