在“优化算法——拟牛顿法之BFGS算法”中,我们得到了BFGS算法的校正公式:
利用Sherman-Morrison公式可对上式进行变换,得到
令,则得到:
在BFGS算法中,每次都要存储近似Hesse矩阵,在高维数据时,存储浪费很多的存储空间,而在实际的运算过程中,我们需要的是搜索方向,因此出现了L-BFGS算法,是对BFGS算法的一种改进算法。在L-BFGS算法中,只保存最近的次迭代信息,以降低数据的存储空间。
令,,则BFGS算法中的可以表示为:
若在初始时,假定初始的矩阵,则我们可以得到:
若此时,只保留最近的步:
这样在L-BFGS算法中,不再保存完整的,而是存储向量序列和,需要矩阵时,使用向量序列和计算就可以得到,而向量序列和也不是所有都要保存,只要保存最新的步向量即可。
四、L-BFGS算法中的方向的计算方法
原文地址:http://blog.csdn.net/google19890102/article/details/46389869