LS-SVM培训:内存不足

时间:2014-01-06 11:47:41

标签: 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,当我减少数据集训练大小时,它会起作用。因此,如果有任何解决方案具有相同的数据大小,当然不需要添加物理内存。

1 个答案:

答案 0 :(得分:1)

看来,实现需要计算整个Gram矩阵,它是N x N(其中N - 样本数)的大小,在你的情况下是2,304,000,000,现在每个都由32位浮点数,意味着它需要至少4个字节,这需要9,216,000,000个字节,大约只有9GB个数据,仅用于Gram(内核)矩阵。

有两种选择: