【问题标题】:Creating synthetic dataset with known SVM parameters创建具有已知 SVM 参数的合成数据集
【发布时间】:2016-09-05 12:12:51
【问题描述】:

我想创建一个包含 2 个类和 3 个特征的合成数据集,用于测试具有 RBF 内核的 SVM 分类器的超参数优化技术。超参数是 gamma 和 C(成本)。

我创建了我当前的 3D 合成数据集,如下所示:

  1. 我通过从均值分别为 (1,0,0) 和 (0,1,0) 以及单位方差的多元正态分布中采样,为每个类创建了 10 个基点。

  2. 我通过随机选择一个基点,然后从平均值等于所选基点和方差 I/5 的正态分布中采样一个新点,为每个类添加了更多点。

如果我可以从数据集中(在运行 SVM 之前)确定最佳 C 和 gamma,那将是一件非常酷的事情,这样我就可以查看我的优化技术是否最终为我提供了最佳参数。

是否有可能从上述合成数据集中计算出最佳的 gamma 和 C 参数?

或者有没有办法在已知最佳 gamma 和 C 参数的情况下创建合成数据集?

【问题讨论】:

    标签: machine-learning dataset svm hyperparameters synthetic


    【解决方案1】:

    非常有趣的问题,但答案是否定的。它完全是数据特定的,即使确切地知道分布,除非你有一个无限的样本,否则在数学上不可能证明最好的 C/gamma,因为 SVM 最终是纯粹基于点的方法(而不是基于密度估计)。典型的比较是在不同的场景中完成的——你获取真实数据,并使用其他技术拟合超参数,如高斯过程(贝叶斯优化)等,这些技术生成基线(并且可能也会达到最佳 C 和 gamma,或者至少非常接近给他们)。最后,寻找最佳 C 和 gamma 不是复杂的问题,因此只需长时间运行良好的技术(如bayesopt),您就会得到最适合的比较。此外,请记住超参数优化的任务不是找到特定的 C 和 gamma,而是找到产生最佳结果的超参数,事实上,即使对于 SVM,可能有许多“最佳”C 和 gamma 集,尽管彼此相距甚远,但都产生相同的结果(就您的有限数据集而言)。

    【讨论】:

      猜你喜欢
      • 2012-10-05
      • 2015-05-04
      • 2022-06-15
      • 2016-03-05
      • 2013-03-22
      • 2014-01-09
      • 2022-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多