为啥在 matlab 中使用带有 libsvm 的预计算内核

Posted

技术标签:

【中文标题】为啥在 matlab 中使用带有 libsvm 的预计算内核【英文标题】:why using precomputed kernels with libsvm in matlab为什么在 matlab 中使用带有 libsvm 的预计算内核 【发布时间】:2014-04-11 02:21:15 【问题描述】:

我是 MATLAB 和 LIBSVM 的新手。我知道要使用预计算内核,您必须将样本序列号作为训练和测试数据的第一列。但重要的是我不明白的是:我为什么要使用预先计算的内核?我正在遵循 LIBSVM 中描述的脚本并获得了线性和 RBF 的结果,但不了解使用预计算内核的必要性。

【问题讨论】:

【参考方案1】:

您是否需要预先计算的内核取决于您的输入向量指标。有时您可能需要一个不同的相似度函数,而不是范数 2 欧几里得距离或给定特征与训练集中所有特征之间的径向基函数。

您也可能需要一个乘法内核(例如两个不同内核函数的乘积),而从 Libsvm 中选择一种内核类型是不可行的。那么编写一个预先计算好的内核是一个不错的选择。

【讨论】:

以上是关于为啥在 matlab 中使用带有 libsvm 的预计算内核的主要内容,如果未能解决你的问题,请参考以下文章

在带有 Excel 数据的 Matlab 中使用 lbsvm

libsvm:C++ 与 MATLAB:不同的精度有何不同?

如何在 Matlab 中使用 libsvm?

带有预计算内核的 libsvm:如何计算分类分数?

使用 LIBSVM 进行测试

如何在 MATLAB 中运行 libsvm?