- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个数据集(有 6 个目标类)的多类分类问题。训练数据的类标签分布偏斜:下面是每个类标签(1 到 6)的分布
(array([174171, 12, 29, 8285, 9996, 11128]),
我正在使用 vowpal wabbit 的 oaa 方案进行分类,并为每个示例尝试了默认权重 1.0。然而,对于大多数模型,这只会导致模型对评估中所有示例的预测为 1.0(因为标签 1 在训练集中具有非常大的表示)。
我现在正在尝试使用不同的权重进行试验,我可以将这些权重应用于每个类的示例,以帮助提高分类器的性能。
关于决定每个示例权重的技术的任何指示或实用技巧都将非常有用。一种可能的技术是根据它们的频率以反比对示例进行权衡。不幸的是,这似乎导致分类器严重偏向标签 2 和 3,并预测评估中几乎所有内容都为 2 和 3。
模型选择会影响权重的确定吗?我正在试验神经网络以及逻辑和铰链损失函数。
最佳答案
可能有更好的方法,但我会像您一样,首先根据标签的稀有性对示例进行反向加权,如下所示:
标签计数总和 = 174171 + 12 + 29 + 8285 + 9996 + 11128 = 203621
所以
标签 1 出现 174171 次(占总数的 85.5%)将被加权:203621/174171 = 1.16909
出现 12 次(最少)的标签 2 将被加权:203621/12 = 16968.4
等等。
确保训练集中的示例被很好地打乱。这在在线学习中至关重要。将相同的标签示例混在一起会导致在线性能非常差。
如果你的 shuffle 做得很好,并且你在新的例子上表现不佳,你可以不那么积极地重新加权,例如采用 sqrt()
的逆权重,然后如果这仍然太激进,切换到反权重等的 log()
另一种方法是使用一种新的对成本敏感的多类选项,例如--csoaa
github 上的 VW wiki 有一些示例,详细说明了如何使用这些选项及其训练集格式。
选择的损失函数肯定有效果。但是请注意,一般来说,当在 vw
中使用多类或任何其他基于缩减的选项时,您应该单独保留 --loss_function
并让算法使用其内置的-在默认情况下。如果您尝试使用不同的损失函数并获得比减少内置损失函数更好的结果,vw
的开发人员可能会对这感兴趣,请将其报告为错误。
关于vowpalwabbit - 为 vowpal wabbit 中的示例设置权重的实用指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18964788/
我正在尝试使用 VW 使用上下文强盗框架执行排名,特别是使用 --cb_explore_adf --softmax --lambda X .选择 softmax 是因为,根据 VW 的文档:“这是一个
我目前正在探索 PU learning .这只是从正面和未标记的数据中学习。出版物之一[Zhang, 2009]断言可以通过修改具有概率输出(例如逻辑回归)的二元分类器算法的损失函数来学习。论文指出应
我试图确定随着输入集大小的增长,VowpalWabbit 的“状态”是如何维持的。在典型的机器学习环境中,如果我有 1000 个输入向量,我希望立即发送所有这些向量,等待模型构建阶段完成,然后使用该模
给定经过训练的上下文老虎机模型,如何检索测试样本的预测向量? 例如,假设我有一个名为“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
我发现在训练过程中,我的模型 vw 在日志中显示了非常大的特征数(比我的特征数多得多)。 我尝试使用一些小例子来重现它: 简单测试: -1 | 1 2 3 1 | 3 4 5 然后“vw simpl
我有几个关于大众汽车简单运行的输出的问题。我已经阅读了互联网和维基网站,但仍然不确定一些基本的事情。 我对波士顿住房数据进行了以下操作: 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
对不起,我确实觉得我忽略了一些非常明显的事情。 但是怎么会发生下面的事情: $ cat myTrainFile.txt 1:1 |f 1:12 2:13 2:1 |f 3:23 4:234 3:1 |
我是一名优秀的程序员,十分优秀!