【发布时间】:2018-01-05 06:29:58
【问题描述】:
我有一个大约 111 Mb 的大型特征数据集,用于分类,有 217000 个数据点,每个点有 1760000 个特征点。在 MATLAB 中使用 SVM 进行训练时,需要花费大量时间。
如何在 MATLAB 中处理这些数据。
【问题讨论】:
标签: matlab classification svm
我有一个大约 111 Mb 的大型特征数据集,用于分类,有 217000 个数据点,每个点有 1760000 个特征点。在 MATLAB 中使用 SVM 进行训练时,需要花费大量时间。
如何在 MATLAB 中处理这些数据。
【问题讨论】:
标签: matlab classification svm
这取决于您要构建的 SVM 类型。
根据经验,对于如此大的特征集,您需要查看线性分类器,例如没有线性核的 SVM,或具有各种正则化的逻辑回归等。
如果您使用高斯核训练 SVM,则训练算法具有 O(max(n,d) min (n,d)^2) 复杂度,其中 n 是示例数,d 特征的数量。在你的情况下,它最终是 O(dn^2) ,这是相当大的。
【讨论】: