求助libsvm的MATLAB版如何自定义核函数

发布网友 发布时间:2022-04-23 21:14

我来回答

1个回答

热心网友 时间:2023-08-30 05:45

对于自定义核函数,libsvm中称为:Precomputed Kernels。其中的例子如下:
  Assume the original training data has three four-feature instances and testing data has one instance:
    15 1:1 2:1 3:1 4:1
    45 2:3 4:3
    25 3:1
    15 1:1 3:1
  If the linear kernel is used, we have the following new training/testing sets:
    15 0:1 1:4 2:6 3:1
    45 0:2 1:6 2:18 3:0
    25 0:3 1:1 2:0 3:1

    15 0:? 1:2 2:0 3:1
  ? can be any value.
其中,15,45等是类别,而第二个则为自定义函数的矩阵。在使用线性核的状态下计算值如第二个矩阵所示。具体说明如下
    类别 0:索引(即该条数据为第几条)  1:与第一条数据的核函数值  2:与第二条数据核函数值  ……  n:与第n挑数据的值
在自定义核函数构造该矩阵之后,调用方式采用svm_train -t 4 [其他可选参数] kernel_file(核函数矩阵文件) Model_file(模型文件)。这样,我们就可以很容易地应用Java,C++版本的核函数矩阵了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com