【问题标题】:Can Vowpal Wabbit handle datasize ~ 90 GB?Vowpal Wabbit 可以处理大约 90 GB 的数据吗?
【发布时间】:2014-05-09 17:39:26
【问题描述】:

我们从搜索引擎查询日志数据中提取了特征,特征文件(根据 Vowpal Wabbit 的输入格式)达到 90.5 GB。这种巨大尺寸的原因是我们的特征构建中必要的冗余。 Vowpal Wabbit 声称能够在几个小时内处理 TB 的数据。除此之外,大众使用几乎不占用 RAM 的哈希函数。但是,当我们使用 VW 对我们的数据运行逻辑回归时,几分钟之内,它就会耗尽所有 RAM,然后停止。 这是我们使用的命令-

vw -d train_output --power_t 1  --cache_file train.cache -f data.model 
--compressed --loss_function logistic --adaptive --invariant 
--l2 0.8e-8 --invert_hash train.model

train_output 是我们要训练 VW 的输入文件,train.model 是训练后得到的预期模型

欢迎任何帮助!

【问题讨论】:

    标签: machine-learning scalability bigdata logistic-regression vowpalwabbit


    【解决方案1】:

    我发现了--invert_hash选项非常昂贵;尝试在没有该选项的情况下运行。您还可以尝试打开--l1正常化选项,以减少模型中的系数的数量。

    您的模型中有多少功能?每行有多少功能?

    【讨论】:

    • 我们已从命令中删除了--invert_hash选项,并且它正常工作。培训在半小时内完成。万分感谢!我们共有几百万个功能,每排大约有15个功能。这些特征已经表现出在思想中,我们数据的稀缺性质。 span>
    • @ satarupa guha很高兴听到那个工作!每行15(每百万总计)不应该摆出没问题。 span>
    • @ zach,我认为你的意思是@ 987654323而不是--l2。虽然两者都会降低模型复杂性(并且因此系数的数量),--l1效果对保存系数的数量要大得多。我刚尝试了一个小的例子,其中约320个功能和--l1 1减少了大约30倍的COEFFS,而--l2 1只会减少约0.3倍 - 两个数量级差异。 span>
    • @ arielf你是正确的。 @ 987654328是套索正常化,l2是岭正规化。我总是让他们混淆。 span>
    • @ smci最好的解决方案是用您想要映射到哈希的变量进行“虚拟记录”。然后预测--invert_hash的虚拟记录。由于它是一个记录,预测将非常快,您将获得对您关心的变量的变量映射。 span>
    猜你喜欢
    • 2017-11-22
    • 1970-01-01
    • 2018-01-20
    • 2013-12-15
    • 2020-04-22
    • 2019-06-30
    • 1970-01-01
    • 2014-09-10
    • 2015-01-06
    相关资源
    最近更新 更多