vowpal wabbit 中的零线性回归模型

Null linear regression model in vowpal wabbit

我想 运行 使用空模型对 vowpal wabbit 进行线性回归(仅截取 - 用于比较原因)。我应该为此使用哪个优化器?也是简单平均的最佳常数损失报告?

A1:对于线性回归,如果您关心平均值,则应使用 --loss_function squared(默认值)。如果您更关心中位数而不是平均值(例如,如果您有一些异常值可能会大大扰乱平均值),请使用 --loss_function quantile。顺便说一句:这些不是优化器,只是损失函数。我会保留优化器(增强型 SGD)(默认),因为它运行良好。

A2:best constant 是给出最低误差的常量预测,best constant loss 是始终预测 best constant 数字的平均误差。它是所有目标变量的加权平均值。这与线性回归公式 y = Ai*xi + B 中的截距 b 不同。 B 是自由项,与输入无关。 B 不一定是 y 的平均值。

A3:如果您想找到模型的截距,请在模型中查找名为 Constant 的权重。这需要两个简短的步骤:

# 1) Train your model from the dataset
#    and save the model in human-readable (aka "inverted hash") format
vw --invert_hash model.ih your_dataset

# 2) Search for the free/intercept term in the readable model 
grep '^Constant:' model.ih

grep 步骤的输出应该是这样的:

Constant:116060:-1.085126

其中 116060 是哈希槽(模型中的位置),-1.085126 是截距的值(假设没有哈希冲突,并且是输入的线性组合。)