6

Vowpal Wabbit 是否会在每个 epoch/pass 后自动洗牌?我希望创建的缓存文件将包含在线算法所需的改组元数据,如大众汽车的默认在线 SGD 方法。例如

vw -d train.txt -c --passes 50 -f train.model

如果没有,我有一个备份脚本,可以在每次通过时手动洗牌数据

# Create the initial regressor file
vw -d train.txt -f train.model
# For the next 49 passes, shuffle and then update the regressor file
for i in {0..49}
do
    <some script: train.txt --> shuffled_data.txt>
    vw -d shuffled_data.txt -i train.model -f train.model
done

如果 VW 不自动洗牌,那么是否有更有效的方法来执行上述代码块?不幸的是,大众的维基对此并不清楚。谢谢。

4

1 回答 1

2

不,它不会随机播放。我敢打赌,也不值得对数据进行洗牌。洗牌是非常 I/O 密集型的。虽然以不同的洗牌顺序进行两次传球可能比不洗牌的两次传球更好,但就收敛性而言,它可能与不洗牌的 10 次传球一样昂贵。

于 2014-01-06T02:39:51.680 回答