我需要预先计算直方图交集核矩阵,以便在MATLAB中使用LIBSVM.
假设x,y是两个向量.核函数是K(x,y)= sum(min(x,y)).为了提高效率,大多数情况下的最佳做法是对操作进行矢量化.
我想要做的就像计算核矩阵一样计算两个矩阵之间的欧氏距离,如pdist2(A,B,'euclidean').在定义函数'intKernel'之后,我可以通过调用pdist2(A,B,intKernel)来计算交集核.
我知道函数'pdist2'可能是一个选项.但我不知道如何编写自定义距离函数.虽然,我不知道如何在一个压缩表达式中对矢量(1-by-M)和矩阵(M-by-N)之间的交集核心进行编码.
'repmat'可能不可行,因为矩阵真的很大,比方说,20000乘360000.
任何帮助,将不胜感激.
问候,培云
大家,这是一个奇怪的现象,当我使用libSVM做一些预测时.
当我没有设置SVM参数时,我将在测试集上获得99.9%的性能.然而,如果我设置参数'-c 10 -g 5',我将在测试集上获得大约33%的精度.
顺便说一下,我使用的SVM工具包是LibSVM.
我想知道数据集是否有问题.我无法弄清楚哪个结果更有说服力.