kernel - 选择 c 和 gamma 值

标签 kernel machine-learning svm

您好,我正在使用 SMO 执行 SVM 分类,其中我的内核是 RBF,现在我想使用网格搜索和交叉验证来选择 csigma 值,我是内核函数的新手,请帮助,一步一步的过程

最佳答案

  1. 选择一些您认为有趣的 C 和 sigma 值。例如,C = {1, 10, 100, 1000} 和 sigma = {.01, .1, 1}(我只是编造的)。
  2. 将训练集分为 k(例如 10)个部分,最好是 stratified方式。
  3. 循环所有 C 值和 sigma 值对。
    1. 循环训练集的所有k部分。将第k部分拿出来。在所有其他组合部分上训练分类器,然后在保留的部分上进行测试。
    2. 跟踪一些分数(准确度、F1 或您想要优化的任何分数)。
  4. 根据您刚刚计算的分数返回 C、sigma 的最佳性能值对。

关于kernel - 选择 c 和 gamma 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9757495/

相关文章:

python - 内存错误: Unable to allocate array shape ({very large}), windows Python解决方案

machine-learning - 通用SVM实现

python - 尝试在 Pandas 中构建语料库时内核不断死亡

c - 为什么 memcpy 和 sprintf 不能在此内核代码中工作?

machine-learning - 使用 Huggingface 的蒸馏器模型生成文本

machine-learning - 从阳光解释结果模型

r - 为 CV 结果的 e1071 中的 svm 生成混淆矩阵

linux - 在 Linux 内核 2.6.11 中,sys_sigsuspend 怎么会是原子的呢?

c - QEMU 在加载内核时崩溃

python - 如何在 python 中的同一图形上以升序绘制压缩列表的前 5 和后 5?