0

我想在 vlfeat 中使用 chi2 内核而不是线性内核。

是使用 chi2 的示例。

"... % 使用内核映射参数创建结构
hom.kernel = 'KChi2';
hom.order = 2;
% 创建数据集结构
dataset = vl_svmdataset(X, 'homkermap', hom);
% 在线学习 SVM使用数据集结构的内核映射扩展
[wb info] = vl_svmtrain(dataset, y, lambda, 'MaxNumIterations', maxIter) ..."

这里到底发生了什么?hom.order 是做什么的?

vl_svmdataset 有什么作用?此外,还有一个名为 vl_homkermap() 的函数。它有什么作用?

假设我有一个矩阵 m 并且我想在其上使用 svm 和 chi2 内核。

我怎么做?

4

1 回答 1

0

大规模非线性支持向量机 (SVM) 可以使用合适的特征图由线性支持向量机近似。线性 SVM 的学习和评估(测试)通常比原始的非线性要快得多,您可以查阅本文了解详细信息。

数据集 = vl_svmdataset(X, 'homkermap', hom); 此行将您的数据 X 转换为“卡方”内核映射

[wb info] = vl_svmtrain(dataset, y, lambda, 'MaxNumIterations', maxIter) 这条线为转换后的数据训练一个线性 SVM 在这种情况下 lambda 是正则化参数更多细节可以在 这里找到

于 2016-04-26T07:23:41.460 回答