我正在尝试在Vowpal Wabbit中实现网格搜索或更复杂的超参数搜索。为此目的,是否有相对简单的方法来获取在验证集(vw中的保持)上获得的损失函数值?大众汽车必须已经针对每个通过次数进行了计算,因为提前停止取决于它的值。
到目前为止,我通过创建带有验证数据集的单独文件,将不同模型的预测保存在该数据集上并在python中比较它们的性能来绕开它,从而导致不必要的数据浪费。但是也许有一种方法可以明确地使用大众保留分数?
总结一下评论,有几种方法可以使大众获得保持损失(可以组合使用):
--holdout_off
根据每个第十个示例(而非随机的1/10个示例)报告保持损失(除非指定)。使用--holdout_period
1可以指定与10不同的数字。--holdout_after=N
指定将使用输入数据的前N个示例进行训练,并将文件的其余部分用作保留集(而不是第10个示例)。-p predictions.txt
并计算大众以外的损失(通过predictions.txt
与带有金标的输入数据进行比较)。使用X传递时,predictions.txt
将包含X * number_of_input_data_examples。因此,建议对训练数据进行训练(可能需要多次通过),将模型保存到文件中,然后仅使用VW预测:vw -i trained.model -t -d test.input -p test.predictions
。--save_per_pass
或vw --daemon
和按需节能模式可能会有所帮助。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句