L-BFGS剖析

L-BFGS是一种优化算法,起源于牛顿法,但解决了高维情况下Hessian矩阵求逆的问题。它通过近似Hessian矩阵并仅存储有限的历史信息来减少内存需求,从梯度下降逐渐过渡到牛顿法的效果。在机器学习中,L-BFGS广泛用于求解高维函数的极值问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    机器学习中经常利用梯度下降法求最优解问题,通过大量的迭代来得到最优解,但是对于维度较多的数据,除了占用大量的内存还会很耗时,L-BFGS算法是一种在牛顿法基础上提出的一种求解函数根的算法,下面由简入深尽量用简洁的语言剖析算法的本质。

一.牛顿法

    解决函数求根问题 f(x)函数在x1点的导数,是该函数在x1点的切线的斜率y/x,f(x1)=f(x1)/(x1-x2) ,x1-x3=f(x1)/f'(x1),得出x2=x1-f(x1)/f'(x1),当第k次迭代时:xk=xk-1-f(xk-1)/f'(xk-1)


牛顿法求根的流程:

1.已知函数f(x)的情况下随机产生x0

2.由已知的x0按照xk=xk-1-f(xk-1)/f'(xk-1)公式进行k次迭代

3.当迭代结果xk与上一次迭代结果xk-1相同或小于一定阈值时本次的结果即为函数f(x)的根

利用牛顿法求函数的驻点

当函数f(x)的一阶导数f'(x)=0时,点(x,f(x))为函数f(x)的驻点

求某函数的驻点即为求该函数的导函数的根,同样可以利用牛顿法进行求解

对于f(x)函数来说迭代公式为xk=xk-1-f'(xk-1)/f''(xk-1)

牛顿法求驻点的本质

任意函数在xk点附近的二阶泰勒展开公式为:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值