gpt4 book ai didi

matlab - 在 MATLAB 中使用多变量数据训练 LIBSVM

转载 作者:行者123 更新时间:2023-11-30 09:13:25 25 4
gpt4 key购买 nike

LIBSVM 如何工作执行多元回归是我的普遍问题?详细来说,我有一定数量的链接的一些数据。 (示例 3 链接)。每个链接都有 3 个因变量,在模型中使用时会给出输出 Y。我在某个时间间隔内收集了这些链接上的数据。

LinkId | var1 |  var2  | var3 | var4(OUTPUT)
1 | 10 | 12.1 | 2.2 | 3
2 | 11 | 11.2 | 2.3 | 3.1
3 | 12 | 12.4 | 4.1 | 1
1 | 13 | 11.8 | 2.2 | 4
2 | 14 | 12.7 | 2.3 | 2
3 | 15 | 10.7 | 4.1 | 6
1 | 16 | 8.6 | 2.2 | 6.6
2 | 17 | 14.2 | 2.3 | 4
3 | 18 | 9.8 | 4.1 | 5

我需要执行预测来找到输出

(2,19,10.2,2.3). 

如何使用上述数据在 Matlab 中使用 LIBSVM 进行训练?我可以训练整个数据作为 svmtrain 的输入来创建模型,还是需要单独训练每个链接并使用创建的模型进行预测?有什么区别吗?注意:请注意,具有相同 ID 的每个链接都具有相同的值。

最佳答案

这并不是一个真正的 matlablibsvm 问题,而是一个通用的 svm 相关问题。

How LIBSVM works performs multivariate regression is my generalized question?

LibSVM 只是一个库,特别是为回归任务实现了支持向量回归模型。简而言之,在线性情况下,SVR 尝试找到一个超平面,将数据点放置在其周围的某个边缘处(这与经典 SVM 的双重方法相同,经典 SVM 试图以尽可能大的边缘来分离数据) 。

source:kernelsvm.tripod.com/

在非线性情况下,使用核技巧(与 SVM 中的方式相同),因此它仍在寻找超平面,但在由特定核引起的特征空间中,这导致非线性回归输入空间。

enter image description here

可以在这里找到关于 SVR 的非常好的介绍: http://alex.smola.org/papers/2003/SmoSch03b.pdf

How can I do that using above data for training in Matlab using LIBSVM? Can I train the whole data as input to the svmtrain to create a model or do I need to train each link separate and use the model create for prediction? Does it make any difference? NOTE : Notice each link with same ID has same value.

您可以使用整个数据训练SVR(因为这是一个回归问题),但是:

  • 似乎 var3LinkId 是相同的变量 (1->2.2, 2->2.3, 3->4.1),如果是这种情况,您应该删除 LinkId 列,
  • var1 的值是唯一的升序整数吗?如果是这样,这些也可能是无用的功能(因为它们似乎不携带任何信息,它们似乎是您的 id 号码),
  • 您应该在应用 SVM 之前对数据进行预处理,例如。每列都包含 [0,1] 区间内的值,否则某些特征可能会因为其规模而变得比其他特征更重要。

现在,如果您想为每个链接创建一个单独的模型,并遵循上述线索,您最终会得到 1 输入变量 (var2) 和 1输出变量var4,所以我不推荐这样的步骤。一般来说,您设置的功能似乎非常有限,收集更多信息丰富功能将很有值(value)。

关于matlab - 在 MATLAB 中使用多变量数据训练 LIBSVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18242784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com