混淆是因为当我们在 vw 命令行中指定 --sgd 时,它运行经典的 sgd,没有自适应、规范化和不变的更新。那么,当我们在 vw-hyperopt 中将算法指定为 sgd 时,它是作为经典运行还是带有特殊更新?是否必须在 vw-hyperopt 中指定算法?哪个是默认算法?谢谢你。
问问题
45 次
1 回答
1
Looking at the source code confirms that the meaning of --algorithm sgd
here simply leaves the default alone.
This is different than vw --sgd
. It doesn't disable the defaults by passing --sgd
to vw
. IOW: yes, the adaptive, normalized and invariant updates will still be in effect.
Also: you can verify this further by looking at the log file created by vw-hyperopt
in the current dir and verify it has no --sgd
option in it. This log includes the full vw
command line it executes for training and testing, e.g:
2020-09-08 00:58:45,053 INFO [root/vw-hyperopt:239]: executing the following command (training): vw -d mydata.train -f ./current.model --holdout_off -c ... --loss_function quantile
于 2020-09-08T08:05:51.783 回答