7

我的目标是在参数空间中对各种 VW 模型进行网格搜索(尝试不同的损失函数和正则化等)。由于模型可以使用多次传递,我想使用交叉验证。我想知道我是否应该实现自己的交叉验证代码(也许作为 bash 脚本),或者我是否应该重新发明轮子。任何关于这之前是否已经完成等或最佳方法的指示都是有用的。我正在考虑在 bash 脚本中实现交叉验证并使用 GNU 并行来并行化网格搜索

4

2 回答 2

6

您应该尝试 vw-hypersearch perl 脚本 ( https://github.com/JohnLangford/vowpal_wabbit/blob/HEAD/utl/vw-hypersearch ),该脚本也可以在 VW 的 utl 目录中找到。它可以帮助您调整 VW 参数,但至于交叉验证,您必须实现自己的代码,为算法提供您打算验证的数据折叠。

于 2013-10-12T22:07:24.993 回答
1

请允许我分两次回答这个问题,

  • 交叉验证:大众汽车中没有相同的标志。原因是即使在交叉验证后,人们也会根据从混淆矩阵得出的一些指标来测试未来的拆分并评估模型的学习。
  • 超参数搜索:vw-hypersearch 使用黄金比例搜索在提供范围时搜索给定参数的最佳值。黄金比例搜索适用于单调递增或递减的函数。当对一堆参数进行搜索时,该函数不再是单调递增或递减函数。正如您所指出的,这可以使用来处理

    -- 网格搜索:非常消耗 CPU 和时间。(我们总是与时间作斗争)

    -- 随机搜索:非常有效参考:[ http://dl.acm.org/citation.cfm?id=2188395][1]

于 2015-08-27T15:18:28.907 回答