首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vowpal Wabbit可读模型权重解释

Vowpal Wabbit可读模型权重解释
EN

Stack Overflow用户
提问于 2015-04-15 11:58:25
回答 1查看 612关注 0票数 3

最近我在使用Vowpal Wabbit进行分类,我得到了一个关于readable_model的问题。

下面是我的命令: vw --quiet --save_resume --压缩模型--loss_function=hinge -readable_model aeroplane.txt

可读的模型文件如下:

代码语言:javascript
复制
Version 7.7.0
Min label:-1.000000
Max label:1.000000
bits:18
0 pairs: 
0 triples: 
rank:0
lda:0
0 ngram: 
0 skip: 
options:
:1
initial_t 0.000000
norm normalizer 116869.664062
t 3984.000051
sum_loss 2400.032932
sum_loss_since_last_dump 2400.032932
dump_interval 1.000000
min_label -1.000000
max_label 1.000000
weighted_examples 3984.000051
weighted_labels 0.000051
weighted_unlabeled_examples 0.000000
example_number 2111
total_features 1917412
0:4.879771 0.004405 0.007933
1:5.268138 0.017729 0.020223
2:0.464031 0.001313 0.007443
3:3.158707 0.083495 0.029674
4:-22.006199 0.000721 0.004386
5:7.686290 0.018617 0.011562
......
1023:0.363004 0.022025 0.020973
116060:0.059659 2122.647461 1.000000

对于每个示例,我有1024个特性,并使用i-1作为i特性的特性名称。我的问题是:为什么每个特征都有3个权重?它不是应该只有1个重量吗?我是ML的新手,对此感到非常困惑。

EN

回答 1

Stack Overflow用户

发布于 2015-04-24 07:41:50

简单的SGD (随机梯度下降)对于每个特征只需要一个参数,即权重。但是,默认情况下,大众使用--adaptive --normalized --invariant更新。因此,除了权重之外,它还需要为每个特征存储另外两个参数:

用于--normalized.的

  • --adaptive梯度和(AdaGrad样式更新),
  • 逐特征正则化

只有在提供了--save_resume的情况下,这两个附加参数才会存储在模型中(可读或二进制)。

奇怪的是,如果您运行vw --sgd --save_resume,可读模型仍然包含每个功能的三个参数,尽管--sgd实际上意味着非自适应、非规范化和非不变。我认为这是--readable_model实现中的一个错误。

编辑:这最后一个奇怪的行为确实是一个bug,它是fixed now

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29641340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档