在交叉验证方面需要一些关于 Vowpal Wabbit 的指示

Posted

技术标签:

【中文标题】在交叉验证方面需要一些关于 Vowpal Wabbit 的指示【英文标题】:Need some pointers on Vowpal Wabbit with respect to cross validation 【发布时间】:2013-09-21 08:21:07 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

我猜 LucaM 给出答案时该页面不存在,但以下链接有一些很好的说明:github.com/JohnLangford/vowpal_wabbit/wiki/Using-vw-hypersearch【参考方案2】:

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

交叉验证:大众汽车中没有相同的标志。原因 即使是交叉验证后,人们也会在未来进行测试 根据一些度量分割和评估模型的学习 来自混淆矩阵。

超参数搜索:vw-hypersearch 使用黄金比例搜索来搜索 当提供范围时,为给定参数的最佳值。金的 比率搜索适用于以下功能 单调递增或递减。搜索时 一堆参数函数不再是单调的 增减函数。这可以像你一样使用 曾指出

-- 网格搜索:非常消耗 CPU 和时间。(我们总是打架 随着时间的推移)

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

【讨论】:

以上是关于在交叉验证方面需要一些关于 Vowpal Wabbit 的指示的主要内容,如果未能解决你的问题,请参考以下文章

Vowpal Wabbit中逻辑回归的正确性?

如何在 Scikit-Learn 中绘制超过 10 倍交叉验证的 PR 曲线

如何在没有交叉验证的情况下运行网格搜索?

linux下ffmpeg库 ARM交叉编译

关于 k 折交叉验证的建议

交叉验证与网格搜索