ProbLineSearch.jl 是从 MATLAB 移植过来的用于随机优化的 概率线搜索 方法(参见 Mahsereci&Hennig,2017)。基本实现已完成,并且初步测试显示该代码与 MATLAB 版本直接等效。由于原始代码中的大多数操作是通过父级作用域更改执行的,转换过程并非完全无关紧要。然而,由于此版本避免了全局变量或“多作用域”变量,测试功能的性能通常快10到30倍。
用法:当前的接口可能显得有些笨拙。一个最小的工作示例如下:将测试功能包装在 PLS 包装器中。最终,代码将为不同的函数类型提供一致的接口,能够保留状态(如需要)和其他函数参数。例如,如果使用周期性小批量并需要存储当前批号,则需要这样做。此外,为了估计函数和梯度评估的方差,可能也需要这些功能。
目标:最终目标是为此提供一个用于自动微分的包装器(如等效功能),但实现这一目标通常并不容易。对于一次性使用的包装函数 PLSBespokeFunction,其中假设定制实现所选功能的其输出(包括 function value、gradient estimate 以及 variance estimate)。