machine-learning - LS-SVM训练: Out of memory

标签 machine-learning classification svm matlab

我尝试在具有以下大小的数据集上训练 LS-SVM 分类器:

训练数据集:TS = 48000x12(双)
组:G = 48000x1(双)

Matlab训练代码是:

class = svmtrain(TS,G,'method','LS',...
                 'kernel_function','rbf','boxconstraint',C,'rbf_sigma',sigma);

然后,我收到此错误消息:

使用 svmtrain 时出错(第 516 行)
计算内核函数“rbf_kernel”时出错。

原因:
使用repmat时出错
内存不足。输入 HELP MEMORY 作为您的选项。

请注意,物理内存的大小为 4Gb,当我减少数据集训练大小时它会起作用。那么是否有任何数据大小相同且不添加物理内存的解决方案。

最佳答案

看来,实现需要计算整个 Gram 矩阵,其大小为 N x N(其中 N - 样本数),在您的情况下它是 2,304,000,000,现在每个都是由 32 位 float 表示,这意味着它至少需要 4 个字节,即所需的 9,216,000,000 字节,对于 Gram(内核)矩阵而言,这大约是 9GB 的数据。

有两个选项:

关于machine-learning - LS-SVM训练: Out of memory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20949390/

相关文章:

twitter - 使用朴素贝叶斯分类来识别 Twitter 用户的性别

machine-learning - LIBSVM 分类准确率 100% - 可能出了什么问题?

java - classifier4j 类在 addMatch() 方法上未找到异常

r - SVM奇怪的分类

python - 在opencv中向SVM提供输入时出现错误

machine-learning - 如何表示神经网络的期望输出以便与实际输出进行比较?

machine-learning - 跳棋游戏神经网络的理想输入

machine-learning - 频繁上课如何应对?

machine-learning - 无法使用 pyspark 保存 pyspark iforest 模型

svm - 如何使用 SVM 和 KNN 对文本文档进行分类