我有一个非线性数据集,我使用支持向量机(RBF核)建立分类模型,但不确定如何在Matlab fitcsvm
中设置支持向量机、C和γ的最佳超参数。如果尝试和错误的方法设置任意的值,直到找到最佳的性能,这是否可以接受?
发布于 2019-03-26 11:22:29
嗯,有一堆文章试图解决这个问题,但基本上,为了保证一个好的解决方案,您需要执行网格搜索(关于它的学习教程)。
您可以为此使用各种技术,例如:
这可以帮助您快速找到一个普通的解决方案,但请记住,这是无担保的。
有关更多信息,请查看滑雪板链接。我研究内核方法,这总是有点烦人的事情来解决。
注意:如果你只想尝试径向基函数,我建议你使用\sigma作为一个与你的训练样本\pm 80\%规范相对应的值。您还可以将向量规范化为规范1,并将搜索限制为0.2为1.8。通常,太小的\sigma对噪声有很高的敏感性,而太大的接近直线(失去非线性功率)。
发布于 2019-03-26 11:24:39
遗憾的是,对于超参数的调优并没有简单的解决方案。基本上,你有两个选择:
这两种方法都被广泛使用,但是,如果你对支持向量机不太熟悉,我强烈建议手动调整。
当然,简单地设置一个网格搜索、获取一些吃的东西,然后选择性能最好的超参数组合,这是非常诱人的。但是最终,你将什么都学不到,你也不知道这些超参数对于你的问题是否是一个合理的选择。拓宽您的知识在未来将是有益的,因为它减少了未来手动调整的工作量,也因为将来您将能够缩小网格搜索的超参数空间,这将大大减少计算时间。
https://datascience.stackexchange.com/questions/48000
复制相似问题