feature-engineering - Vowpal Wabbit:关于交互特征权重的问题
问题描述
在 VW 中,功能命名空间的格式如下所示:
标签 [Tag]|命名空间特征 |命名空间特征 ... |命名空间特征 其中:
命名空间=字符串[:值]
一个例子是:
1 1.0 |MetricFeatures:3.28 height:1.5 length:2.0 |说黑色带白色条纹|OtherFeatures NumberOfLegs:4.0 HasStripes
请注意,|MetricFeatures 命名空间的权重高于 1 (3.28)。基于上面的例子,如果我创建了一些特征交互,比如在 M 和 S 命名空间之间使用-q MS
,作为两个原始命名空间的叉积的新特征命名空间是否默认具有 1 的重要性权重?或者它会继承两个重要性值的乘积(在本例中为 1*3.28 = 3.28)?
有没有办法手动修改特征交互的权重?例如,说 MetricFeatures 的重要性权重为 1,我可以让 MetricFeatures X的二次交互生成的特征具有x的重要性权重吗?
解决方案
目前没有办法单独加权交互。
命名空间权重是在解析时处理的,因此在读取该命名空间的特征时,它们会乘以权重。
这可以通过使用来验证--audit
:
Num weight bits = 18
learning rate = 0.5
initial_t = 0
power_t = 0.5
using no cache
Reading datafile = data.txt
num sources = 1
average since example example current current current
loss last counter weight label predict features
0
MetricFeatures^height:146807:4.92:0@0 MetricFeatures^length:38580:6.56:0@0 Says^black:100768:1:0@0 Says^with:163314:1:0@0 Says^white:106708:1:0@0Says^stripes:112832:1:0@0 OtherFeatures^NumberOfLegs:146847:4:0@0 OtherFeatures^HasStripes:229154:1:0@0 Constant:116060:1:0@0
1.000000 1.000000 1 1.0 1.0000 0.0000 9
finished run
number of examples = 1
weighted example sum = 1.000000
weighted label sum = 1.000000
average loss = 1.000000
best constant = 1.000000
best constant's loss = 0.000000
total feature number = 9
MetricFeatures^height:146807:4.92:0@0
-> 3.28 * 1.5 = 4.92
推荐阅读
- typo3 - 常量编辑器还原按钮删除整个条目?
- git - 获取每个请求文件的最新 GIT 提交信息
- javascript - 试图理解异步/等待
- c++ - 单链表中的函数问题
- python - 使用 Boto3 将 S3 对象转换为 pyspark 数据帧:TypeError:路径只能是字符串、列表或 RDD
- azure - 看不到容器
- java - 允许在 android recyclerview 中一次从不同的 textview 项目中选择文本
- javascript - 模态reactjs关闭时间
- flutter - 如何在父类中动态生成和存储自定义有状态小部件的状态?
- html - 向左浮动后调整网页大小时的图像移位