为什么 SVM 需要几个 MB?

Why does SVM take several MBs?

MATLAB Classification Learner App 创建一个 SVM,占用 4 MB 内存space。 为什么这么多?据我所知,SVM只需要学习超平面的几个系数。

Classification Learner App 有两个导出选项 - 导出模型和导出紧凑模型。

如果您选择导出模型,您将获得 class ClassificationSVM 的对象 - 这不仅包含模型本身,还包含用于训练的数据,稍后您需要这些数据想要创建各种诊断图或计算性能指标。这可能解释了您看到的尺寸。

如果您选择导出紧凑模型,您将获得 class CompactClassificationSVM 的对象,其中仅包含模型本身。这只能用于预测,不能用于前面描述的诊断图和测量。由于它是一个对象,它仍然会比一个简单的系数数组占用更多的内存 - 但它应该比 ClassificationSVM 小很多,因为它不存储训练数据。