上文我们介绍了线搜索及线搜索算法,而spark-breeze使用的正是强Wolfe条件搜索算法,具体是在包breeze.optimize的StrongWolfe.scala文件中。主要计算逻辑minimize函数中,默认搜索空间为[0,1],入参--导数函数返回loss和梯度向量,算法逻辑与前文介绍的搜索算法一致,zoom函数定义在93-137行,实现基本与算法描述一致,其中插值函数是interp,定义在25-45行,其计算方法即为前文介绍的三次插值步长选择算法。
spark(breeze)L-BFGS使用的线搜索实现
最新推荐文章于 2023-01-09 08:19:12 发布