当我们在 vw-hyperopt 中指定“--algorithms=sgd”时,它是否 运行 具有自适应、规范化和不变的更新?
When we specify "--algorithms=sgd" in vw-hyperopt, does it run with adaptive, normalised and invariant updates?
混淆是因为当我们在 vw 命令行中指定 --sgd 时,它 运行 是经典的 sgd,没有自适应、规范化和不变的更新。那么,当我们在 vw-hyperopt 中将算法指定为 sgd 时,它 运行 是经典的还是有特殊更新的?是否必须在 vw-hyperopt 中指定算法?哪个是默认算法?谢谢。
查看the source code确认这里--algorithm sgd
的含义只是保留默认值。
这与 vw --sgd
不同。它不会通过将 --sgd
传递给 vw
来禁用默认值。 IOW:是的,自适应、规范化和不变更新仍然有效。
此外:您可以通过查看 vw-hyperopt
在当前目录中创建的日志文件进一步验证这一点,并验证其中没有 --sgd
选项。此日志包括它为训练和测试执行的完整 vw
命令行,例如:
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
混淆是因为当我们在 vw 命令行中指定 --sgd 时,它 运行 是经典的 sgd,没有自适应、规范化和不变的更新。那么,当我们在 vw-hyperopt 中将算法指定为 sgd 时,它 运行 是经典的还是有特殊更新的?是否必须在 vw-hyperopt 中指定算法?哪个是默认算法?谢谢。
查看the source code确认这里--algorithm sgd
的含义只是保留默认值。
这与 vw --sgd
不同。它不会通过将 --sgd
传递给 vw
来禁用默认值。 IOW:是的,自适应、规范化和不变更新仍然有效。
此外:您可以通过查看 vw-hyperopt
在当前目录中创建的日志文件进一步验证这一点,并验证其中没有 --sgd
选项。此日志包括它为训练和测试执行的完整 vw
命令行,例如:
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