混淆是因为当我们在vw命令行中指定--sgd时,它会运行经典的sgd,没有自适应的、标准化的和不变的更新。那么,当我们在vw-hyperopt中将algorithm指定为sgd时,它是作为经典运行还是带有特殊更新?是否必须在vw-hyperopt中指定算法?哪种算法是默认算法?谢谢。
发布于 2020-09-08 16:05:52
查看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 quantilehttps://stackoverflow.com/questions/63717843
复制相似问题