数值优化 —— L-BFGS算法介绍 (入门篇)
地址,见:
https://juejin.cn/post/6844903737505349640
这个文章转载起来太麻烦,于是就只记录链接地址,如有需要直接点击上面链接地址即可。
该文章在牛顿法和拟牛顿法的介绍上还是较好理解的,虽然贴图不是很清晰,但是再后面的BFGS的推理上就太过简单了,完全无法理解,所以这个文章除了牛顿法和拟牛顿法的介绍是可以看的,其他内容就不需要看了。
PS:
说下个人对牛顿法和拟牛顿法的一些理解。
个人认为牛顿法就是泰勒展开的一种推理,说直白了就是在泰勒级数展开的基础上进行了极值(最小值)的求解。
牛顿法的假设条件是和泰勒展开的假设条件是一致的,也就是在“邻域”内,也正是这个假设我们才有了\(f(x_k)\)的最小值为 \(f'(x)=0\) 所在的x值。而这个默认的假设其实也是限制了问题其实在x邻域内是个凸优化问题,即\(f(x)\)二阶导为对称正定矩阵,也是正因为这个限制导致牛顿法在很多问题上并不是很适用,甚至出现无法优化和发散的问题。
拟牛顿法在牛顿法的基础上进行了进一步的推导,同时也放松了假设条件,在牛顿法中我们假设的是极值是在\(x_k\)的领域内的,而拟牛顿法不要求极值点在当前点\(x_k\)的邻域内,而是假设在当前点\(x_k\)的邻域内存在更小的值即可,给出下面的解释说明图:
牛顿法的假设示意图:

拟牛顿法的假设示意图:

需要注意的是,拟牛顿法虽然在假设和推理上和牛顿法有所不同,但是其实最终的核心推导是一致的,拟牛顿法不同于牛顿法的假设和推理本质是对Hession矩阵的求解,求得到hession矩阵的逆矩阵后还是按照牛顿法的假设来计算出下一个数值,即\(x_{k+1}\) 。
posted on 2025-03-15 18:53 Angry_Panda 阅读(141) 评论(0) 收藏 举报
 
                    
                 
                
            
         
 浙公网安备 33010602011771号
浙公网安备 33010602011771号