【发布时间】:2013-12-01 03:55:11
【问题描述】:
我正在研究一个机器学习问题,该问题需要我使用多个支持向量机。它工作得比较好;然而,问题在于每个 SVM 的支持向量机的数量往往很大(~2,000),输入特征的数量在 50,000 左右。我需要大约 100 个 SVM。
在我的笔记本电脑上运行它会很快耗尽所有可用内存;我认为这是因为svmtrain 创建了一个 SVM,它保存了所有支持向量(即有另一个副本)。由于我保留了原始训练数据,我想知道是否有一种方法可以指示它将索引保存到这些支持向量中,这样会使用更少的内存?或者另一种减少每个 SVM 所需内存量的方法?
【问题讨论】:
-
我不知道您的问题的确切解决方案,但可以提出替代方案。一旦你的 svm 被训练和使用并且不再需要你可以通过调用“clear”来释放它的内存。这种方式释放的内存可以分配给训练和存储 svm 的下一个实例。这样计算机就不会存储任何不必要的数据。
-
@MohitJain:是的,当然,但我需要保留 SVM(它们必须一起使用)
标签: matlab memory machine-learning svm