- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经开始使用 Vowpal Wabbit 对于逻辑回归,但是我无法重现它给出的结果。也许它确实有一些未记录的“魔法”,但是有没有人能够复制/验证/检查逻辑回归的计算?
例如,使用下面的简单数据,我们的目标是建模 age
预测 label
.很明显,当年龄增加时,观察到 1 的概率增加,因此存在很强的相关性。
作为一个简单的单元测试,我使用了下面的 12 行数据:
age label
20 0
25 0
30 0
35 0
40 0
50 0
60 1
65 0
70 1
75 1
77 1
80 1
L = 0.2294*age - 14.08
的模型.因此,如果我替换年龄,并使用 logit 变换 prob=1/(1+EXP(-L)) 我可以获得范围从
0.0001
的预测概率对于第一行,到
0.9864
对于最后一行,正如合理预期的那样。
-1 'P1 |f age:20
-1 'P2 |f age:25
-1 'P3 |f age:30
-1 'P4 |f age:35
-1 'P5 |f age:40
-1 'P6 |f age:50
1 'P7 |f age:60
-1 'P8 |f age:65
1 'P9 |f age:70
1 'P10 |f age:75
1 'P11 |f age:77
1 'P12 |f age:80
vw -d data.txt -f demo_model.vw --loss_function logistic --invert_hash aaa
L= -0.00094*age - 0.03857
, 即
非常不一样。
-r
获得的预测值或
-p
进一步证实了这一点。结果概率几乎完全相同,例如
0.4857
年龄=20 和
0.4716
对于年龄= 80,这是非常关闭的。
最佳答案
这是对vovpal wabbit 的常见误解。
人们无法将批量学习与在线学习进行比较。
vwappal wabbit 不是批量学习器。这是一个在线学习者。在线学习者通过一次查看一个示例并在学习过程中稍微调整模型的权重来学习。
在线学习有优点也有缺点。缺点是最终模型的收敛速度缓慢/渐进。学习者在从每个例子中提取信息方面并没有做“完美”的工作,因为这个过程是迭代的。最终结果的收敛是故意限制/缓慢的。这会使在线学习者在上述微小数据集上显得很弱。
不过有几个好处:
vw
从他们的台式机和笔记本电脑上的数十亿个示例数据集中学习。 -1
先出现,然后是所有
1
),就像上面的例子一样。因此,要想从像 vobpal wabbit 这样的在线学习者那里获得更好的结果,首先要做的就是统一洗牌
1
s 和
-1
s(或简单地按时间排序,因为示例通常出现在现实生活中)。
1
和 -1
例子。 vw
给出没有逻辑函数转换(这是不幸的)。它们类似于中间点的标准偏差(在 [-50, 50] 处截断)。您需要通过
utl/logistic
管道预测(在源树中)获得有符号概率。请注意,这些有符号概率在 [-1, +1] 范围内,而不是 [0, 1]。您可以使用
logistic -0
而不是
logistic
将它们映射到 [0, 1] 范围。
# Train:
vw train.vw -c --passes 1000 -f model.vw --loss_function logistic --holdout_off
# Predict on train set (just as a sanity check) using the just generated model:
vw -t -i model.vw train.vw -p /dev/stdout | logistic | sort -tP -n -k 2
-0.95674145247658 P1
-0.930208359811439 P2
-0.888329575506748 P3
-0.823617739247262 P4
-0.726830630992614 P5
-0.405323815830325 P6
0.0618902961794472 P7
0.298575998150221 P8
0.503468453150847 P9
0.663996516371277 P10
0.715480084449868 P11
0.780212725426778 P12
1
,在年龄较小的情况下更接近
-1
)。您可能还对以下培训选项感兴趣:
--max_prediction <arg> sets the max prediction to <arg>
--min_prediction <arg> sets the min prediction to <arg>
-l <arg> set learning rate to <arg>
0.5
的学习率对于大量(例如
10
),您可以强制
vw
在小数据集上训练时收敛得更快,从而需要更少的通行证才能到达那里。
vw
不再需要外部
logistic
将预测映射回 [0,1] 范围的实用程序。全新
--link logistic
option 将预测映射到逻辑函数 [0, 1] 范围。同样
--link glf1
将预测映射到广义逻辑函数 [-1, 1] 范围。
关于logistic-regression - Vowpal Wabbit逻辑回归的正确性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24822288/
给定经过训练的上下文老虎机模型,如何检索测试样本的预测向量? 例如,假设我有一个名为“train.dat”的火车集,其中包含格式如下的行 1:-1:0.3 | a b c # 2:2:0.3 |
我是 vawpal wabbit 的新手,所以有一些关于它的问题。 我将数据集传递给 vw 并拟合模型并获得样本内预测,使用 -f 保存模型。到现在为止还挺好。我知道如何使用模型并对不同的数据集进行预
我有以下所有分类变量的数据: class education income social_standing 1 basic low g
最近我在使用 Vowpal Wabbit 进行分类,我得到了一个关于 readable_model 的问题。 这是我的命令:vw --quiet --save_resume --compressed
我想使用空模型对 vowpal wabbit 进行线性回归(仅截取 - 用于比较原因)。我应该为此使用哪个优化器?还是简单平均的最佳常量损失报告? 最佳答案 A1:对于线性回归,如果您关心平均值,您应
我一直在努力理解 vowpal wabbit 算法。有没有人可以帮助我了解 VW 以及如何实现它 最佳答案 Vowpal Wabbit专注于在线学习(虽然它也可以批处理 L-BFGS),它的主要算法是
我正在查看以下 2 个关于 VW 在使用 --adaptive 标志时所做的更新的演示。 似乎它们是不同的。 http://www.slideshare.net/jakehofman/technica
我编写了一个java代码来按以下方式执行Vowpal Wabbit: System.out.println("Executing command " + command); fina
我知道大众汽车可以处理非常原始的数据(例如原始文本),但例如,在将数据输入大众汽车之前是否应该考虑缩放数字特征?考虑以下行: 1 |n 年龄:80.0 高度:180.0 |c 伦敦男 |d the:1
我很好奇大众似乎通过 -q 参数创建交互项的方式。 为了这个插图的目的,我使用了这个玩具数据,它被称为cats.vm: 1 |a black |b small green |c numvar1:1.
我有几个关于大众汽车简单运行的输出的问题。我已经阅读了互联网和维基网站,但仍然不确定一些基本的事情。 我对波士顿住房数据进行了以下操作: vw -d housing.vm --progress 1 其
在这种情况下,输入之一是选择 ARM / Action 的概率,但我们如何找到该概率? 找到这个概率本身不是一项艰巨的任务吗? 最佳答案 提供概率意味着您正在假设您正在提供历史上采取的行动,例如从日志
我正在尝试使用隐藏的散列来保存vowpal wabbit模型。我有一个有效的模型,它包含以下内容: vw --oaa 2 -b 24 -d mydata.vw --readable_model mym
我的目标是在参数空间中对各种 VW 模型进行网格搜索(尝试不同的损失函数和正则化等)。由于模型可以使用多次传递,我想使用交叉验证。我想知道我是否应该实现我自己的交叉验证代码(也许作为一个 bash 脚
我正在使用 VW 7.4 进行一些二进制分类: cat train | vw -k --binary --cache_file cache -f model --compressed --passes
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 3年前关闭。 Improve this questi
我有一个数据集(有 6 个目标类)的多类分类问题。训练数据的类标签分布偏斜:下面是每个类标签(1 到 6)的分布 (array([174171, 12, 29, 8285, 9
抱歉,我确实觉得我忽略了一些非常明显的事情。 但是怎么会发生以下情况: $ cat myTrainFile.txt 1:1 |f 1:12 2:13 2:1 |f 3:23 4:234 3:1 |f
我对 Vowpal wabbit 比较陌生,想了解 -b 参数(特征表中的特征位)。 我的训练数据是这样的。总共约100万字。 1 | a = "word" b ="word131232" c="wo
对不起,我确实觉得我忽略了一些非常明显的事情。 但是怎么会发生下面的事情: $ cat myTrainFile.txt 1:1 |f 1:12 2:13 2:1 |f 3:23 4:234 3:1 |
我是一名优秀的程序员,十分优秀!