Vowpal Wabbit reverse_hash 选项产生空输出,但为啥呢?

     2023-03-13     290

关键词:

【中文标题】Vowpal Wabbit reverse_hash 选项产生空输出,但为啥呢?【英文标题】:Vowpal Wabbit inverted_hash option produces empty output, but why?Vowpal Wabbit reverse_hash 选项产生空输出,但为什么呢? 【发布时间】:2014-08-17 16:44:43 【问题描述】:

我正在尝试使用倒置哈希保存一个 vowpal wabbit 模型。我有一个使用以下内容生成的有效模型:

vw --oaa 2 -b 24 -d mydata.vw --readable_model mymodel.readable

生成这样的模型文件:

Version 7.7.0
Min label:-1.000000
Max label:1.000000
bits:24
0 pairs: 
0 triples: 
rank:0
lda:0
0 ngram: 
0 skip: 
options: --oaa 2
:0
66:0.016244
67:-0.016241
80:0.026017
81:-0.026020
84:0.015005
85:-0.015007
104:-0.053924
105:0.053905
112:-0.015402
113:0.015412
122:-0.025704
123:0.025704
...

(等等成千上万的功能)。但是,为了更有用,我需要查看功能名称。看起来很明显的事情,但我做到了

vw --oaa 2 -b 24 -d mydata.vw --invert_hash mymodel.inverted

它产生了一个这样的模型文件(没有产生权重):

Version 7.7.0
Min label:-1.000000
Max label:1.000000
bits:24
0 pairs: 
0 triples: 
rank:0
lda:0
0 ngram: 
0 skip: 
options: --oaa 2
:0

感觉好像我显然做错了什么,但我认为我正在使用documented way中的选项:

--invert_hash 类似于--readable_model,但模型以更易于阅读的格式输出,特征名称后跟 权重,而不是哈希索引和权重。

有人知道为什么我的第二个命令没有产生任何输出吗?

【问题讨论】:

【参考方案1】:

这是由最近修复的大众汽车中的一个错误引起的(由于这个问题),请参阅https://github.com/JohnLangford/vowpal_wabbit/issues/337。

顺便说一句,使用--oaa 2 是没有意义的。如果您想要二元分类(也称为逻辑回归),请使用 --loss_function=logistic(并确保您的标签为 1 和 -1)。 OAA 仅对 N>2 个类有意义(建议使用 --loss_function=logistic--oaa)。

另请注意,使用 --invert_hash 进行学习要慢得多(当然,还需要更多内存)。推荐的方法是如何创建反向哈希模型,尤其是多次传递,是学习一个常用的二进制模型,然后使用 -t 对训练数据进行一次传递将其转换为反向哈希:

vw -d mytrain.data -c --passes 4 -oaa 3 -f model.binary
vw -d mytrain.data -t -i model.binary --invert_hash model.humanreadable

【讨论】:

有趣。实验上,我发现结果可能被解释为不同意你关于--oaa 的观点。只有-b 31,它报告的平均损失为 0.6。使用-b 31 --loss_function=logistic,它报告了0.48的损失(并且摆弄-l--l1--passes并没有真正改变它)。使用-b 31 --oaa 2 -c -k --passes 3 -l 0.25,大众只报告了 0.19 的损失。如果--oaa 2 没有意义,那么为什么它的性能会好很多?我不是要讨人厌;我只是想明白。 您不应该比较苹果(0/1 损失)和橙子(逻辑或平方损失)。对于 OAA,大众总是报告 0/1 损失。如果没有 OAA(或其他多类减少),大众会报告您要求的损失(方形、逻辑、铰链......)。 您可以强制大众使用--binary 报告二进制分类的 0/1 损失。 我承认 --oaa 2 有时会稍微提供更好的结果。见***.com/questions/24674880/… 嗯,好的。如果我同时使用--loss_function=logistic --binary,它产生的结果与--oaa 2 产生的结果非常相似。

Vowpal Wabbit 的梯度提升

】VowpalWabbit的梯度提升【英文标题】:GradientboostingonVowpalWabbit【发布时间】:2015-07-1214:11:02【问题描述】:有没有办法使用VowpalWabbit对回归使用梯度提升?我使用VowpalWabbit附带的各种有用的技术。我想尝试梯度提升,但我找不到... 查看详情

vowpal-wabbit:使用多次通过、保持和保持期来避免过度拟合?

】vowpal-wabbit:使用多次通过、保持和保持期来避免过度拟合?【英文标题】:vowpal-wabbit:useofmultiplepasses,holdout,&holdout-periodtoavoidoverfitting?【发布时间】:2017-08-2920:01:27【问题描述】:我想使用很棒的vowpalwabbittool使用以下命令... 查看详情

Vowpal Wabbit 多类线性分类

】VowpalWabbit多类线性分类【英文标题】:VowpalWabbitMulticlassLinearClassification【发布时间】:2016-09-2103:19:40【问题描述】:是否可以使用VowpalWabbit库训练多类(多项式)线性分类模型?我尝试将--oaa与--loss_function平方一起使用,但似... 查看详情

Vowpal Wabbit:不平衡的类

】VowpalWabbit:不平衡的类【英文标题】:VowpalWabbit:unbalancedclasses【发布时间】:2016-02-0812:36:24【问题描述】:我想使用VowpalWabbit执行逻辑回归。如何处理不平衡的类(例如1000/50000)?我知道我可以使用重要性加权,但我不确定... 查看详情

使用 Vowpal Wabbit 时计算 AUC

】使用VowpalWabbit时计算AUC【英文标题】:CalculatingAUCwhenusingVowpalWabbit【发布时间】:2014-08-0712:10:39【问题描述】:有没有在VowpalWabbit中计算AUC?我使用VowpalWabbit的原因之一是数据文件的大小。我可以使用VowpalWabbit的输出计算VowpalW... 查看详情

Vowpal Wabbit:低秩矩阵分解?

】VowpalWabbit:低秩矩阵分解?【英文标题】:VowpalWabbit:Low-rankmatrixfactorization?【发布时间】:2016-12-2617:08:05【问题描述】:我有一个非常基本的问题。我想做低秩矩阵分解,我正在查看有关该主题的VowpalWabbitdocumentation。我的问题... 查看详情

Vowpal Wabbit - 精确召回 f 测量

】VowpalWabbit-精确召回f测量【英文标题】:VowpalWabbit-precisionrecallf-measure【发布时间】:2015-08-1108:16:33【问题描述】:您通常如何从VowpalWabbit中针对分类问题创建的模型获得准确率、召回率和f-measure?是否有任何可用的脚本或程序... 查看详情

使用 Vowpal wabbit 的上下文强盗

】使用Vowpalwabbit的上下文强盗【英文标题】:ContextualBanditusingVowpalwabbit【发布时间】:2015-08-0620:42:25【问题描述】:在这种情况下,输入之一是选择手臂/动作的概率,但我们如何找到该概率?找到这个概率本身不是一项艰巨的... 查看详情

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

】VowpalWabbit中逻辑回归的正确性?【英文标题】:CorrectnessoflogisticregressioninVowpalWabbit?【发布时间】:2014-09-0910:21:17【问题描述】:我已经开始使用VowpalWabbit进行逻辑回归,但是我无法重现它给出的结果。也许它确实有一些未记... 查看详情

如何将 Vowpal Wabbit 逻辑预测转换为概率

】如何将VowpalWabbit逻辑预测转换为概率【英文标题】:HowtoconvertVowpalWabbitlogisticpredictionstoprobabilities【发布时间】:2015-09-2902:01:29【问题描述】:我给了vowpalwabbit一个带有两个标签的数据集,并用它进行了逻辑回归。问题是,它... 查看详情

在守护进程模式下从 Vowpal Wabbit 获取原始预测

】在守护进程模式下从VowpalWabbit获取原始预测【英文标题】:GetrawpredictionsfromVowpalWabbitindaemonmode【发布时间】:2014-10-0613:54:59【问题描述】:我正在使用以下命令以守护程序模式启动VowpalWabbit:vw--loss_functionhinge--ect250--quiet--passes... 查看详情

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

】在交叉验证方面需要一些关于VowpalWabbit的指示【英文标题】:NeedsomepointersonVowpalWabbitwithrespecttocrossvalidation【发布时间】:2013-09-2108:21:07【问题描述】:我的目标是在参数空间中对各种VW模型进行网格搜索(尝试不同的损失函数... 查看详情

使用 Vowpal Wabbit 获得未校准的概率输出,广告转化预测

】使用VowpalWabbit获得未校准的概率输出,广告转化预测【英文标题】:GettinguncalibratedprobabilityoutputswithVowpalWabbit,ad-conversionprediction【发布时间】:2016-10-0817:17:51【问题描述】:我正在尝试使用VowpalWabbit来预测广告展示的转化率,... 查看详情

由于 vowpal wabbit 对 boost 库的依赖而导致的错误

】由于vowpalwabbit对boost库的依赖而导致的错误【英文标题】:Errorsduetovowpalwabbit\'sdependenciesonboostlibrary【发布时间】:2012-07-1108:48:55【问题描述】:我正在努力安装vowpalwobbit,但当我运行make文件时它失败了,抛出:cdlibrary;make;cd..g... 查看详情

Vowpal Wabbit 不预测二进制值,可能是过度训练?

】VowpalWabbit不预测二进制值,可能是过度训练?【英文标题】:VowpalWabbitnotpredictingbinaryvalues,maybeovertraining?【发布时间】:2016-11-2903:50:00【问题描述】:我正在尝试使用VowpalWabbit进行二进制分类,即给定特征值vw会将其分类为1或0... 查看详情

Vowpal Wabbit 中的纠错锦标赛 (ect) 多类分类

】VowpalWabbit中的纠错锦标赛(ect)多类分类【英文标题】:ErrorCorrectingTournaments(ect)MultiClassClassificationinVowpalWabbit【发布时间】:2014-08-2718:05:29【问题描述】:我试图通过描述ECT算法的thispaper来了解它,但无法从中得到太多。我知道... 查看详情

Vowpal Wabbit reverse_hash 选项产生空输出,但为啥呢?

】VowpalWabbitreverse_hash选项产生空输出,但为啥呢?【英文标题】:VowpalWabbitinverted_hashoptionproducesemptyoutput,butwhy?VowpalWabbitreverse_hash选项产生空输出,但为什么呢?【发布时间】:2014-08-1716:44:43【问题描述】:我正在尝试使用倒置... 查看详情

Vowpal Wabbit 模型在使用像素 RGB 值对图像进行多类分类时效果不佳

】VowpalWabbit模型在使用像素RGB值对图像进行多类分类时效果不佳【英文标题】:VowpalWabbitmodelworksbadlyonmulticlassclassificationofimagesusingpixelRGBvalues【发布时间】:2015-07-1022:12:20【问题描述】:我正在使用VowpalWabbit对多类图像进行分类... 查看详情