【问题标题】:How to train large dataset for classification in MATLAB如何在 MATLAB 中训练用于分类的大型数据集
【发布时间】:2018-01-05 06:29:58
【问题描述】:

我有一个大约 111 Mb 的大型特征数据集,用于分类,有 217000 个数据点,每个点有 1760000 个特征点。在 MATLAB 中使用 SVM 进行训练时,需要花费大量时间。

如何在 MATLAB 中处理这些数据。

【问题讨论】:

    标签: matlab classification svm


    【解决方案1】:

    这取决于您要构建的 SVM 类型。

    根据经验,对于如此大的特征集,您需要查看线性分类器,例如没有线性核的 SVM,或具有各种正则化的逻辑回归等。

    如果您使用高斯核训练 SVM,则训练算法具有 O(max(n,d) min (n,d)^2) 复杂度,其中 n 是示例数,d 特征的数量。在你的情况下,它最终是 O(dn^2) ,这是相当大的。

    【讨论】:

    • 使用线性内核也不能解决速度问题。然而,它至少给出了结果,但速度仍然不能接受。
    • 嗯,它给了你一些结果,所以它比其他方法好一点。拥有近 200 万个功能,您 (1) 不能指望它那么 快,并且 (2) 不能使用二次函数我们无法真正帮助您处理少量的细节”但是,我提供了。 “很多时间”是什么意思?您使用的 SVM 的配置是什么?
    猜你喜欢
    • 2015-03-13
    • 2020-08-15
    • 2012-02-21
    • 1970-01-01
    • 2022-01-21
    • 2018-03-25
    • 1970-01-01
    • 2021-11-23
    • 2021-09-10
    相关资源
    最近更新 更多