matlab - 如何在 Matlab 中将 svmtrain() 与自定义内核一起使用?

标签 matlab machine-learning

svmtain() 是 MATLAB 中用于 SVM 学习的函数。帮助文档在这里:

http://www.mathworks.com/help/bioinfo/ref/svmtrain.html

如何将它与自定义内核一起使用?在帮助文档中,它说:

<小时/>

@kfun — Function handle to a kernel function. A kernel function must be of the form

 function K = kfun(U, V)

The returned value, K, is a matrix of size M-by-N, where U and V have M and N rows respectively.

<小时/>

它没有提及 U 和 V 是什么以及 M 和 N 的含义。我只是不知道如何以正确的格式使用它。 谁能告诉我U和V是什么,M和N是什么意思? 例如,训练数据是5维向量,核函数是向量的长度之和。如何编写核函数?

谢谢!

最佳答案

只是猜测:

根据:http://www.tech.dmu.ac.uk/~hseker/Statistics%20in%20Genetics/Statistical%20Learning%20and%20Visualization%20in%20MATLAB.doc 、U、V 应该只是功能处方 K 中的参数,例如如果您的内核是 tanh,那么:

function K = kfun(U,V,P1,P2)
K = tanh(U*V');

P1、P2 用于各自内核的一些附加功能。但正如我在评论中所写,您需要成为优秀的数学家才能获得比已定义的内核获得的更好的结果。

关于matlab - 如何在 Matlab 中将 svmtrain() 与自定义内核一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14004517/

相关文章:

machine-learning - LSTM 对子序列的预测失败

python - python 中的推荐引擎 - 合并自定义相似度指标

machine-learning - 如何计算集群的一致性/质量?

r - "valid deviance"对于 GBM 模型来说是 nan,这意味着什么以及如何摆脱它?

python - 循环次数可变的嵌套循环

matlab - 显示 3D 散点图/颜色取决于数据

oop - 在 Matlab 中设置对象的属性

python - 如何使用for循环在python3中使用不同的预处理函数?

matlab - 将多边形的一组点压缩成一组较短的点

string - 在编写值向量和换行符时避免多次调用 fprintf