机器学习笔记(三)牛顿法和梯度下降法

本文介绍了优化算法中的梯度下降法和牛顿法。梯度下降法是寻找函数局部极小值的一阶算法,通过沿着梯度反方向迭代更新参数。牛顿法则则是利用函数的二阶导数来逼近极值点。文章讨论了如何确定梯度下降的步长,并简要提及牛顿法的理论依据。

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

3 优化算法介绍

3.1 梯度下降法

梯度下降法:

[定义]梯度下降法(英语:Gradient descent)是一个一阶最优化算法,通常也称为最速下降法。 要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。如果相反地向梯度正方向迭代进行搜索,则会接近函数的局部极大值点;这个过程则被称为梯度上升法

(摘自维基)

对θ使用梯度下降法时的公式: θ=θμLθ (μ称为步长,也称之为学习率)

使用梯度下降法的步骤如下:

  1. 初始化所有θ的值都为0
  2. 求出损失函数的偏导数,然后对θ进行更新。
  3. 重复第二步,直到迭代次数达到预先设定的最大值。

目前常用的梯度下降法有两种,一种是随机梯度下降法,另一种是批量梯度下降法。

[问题] : 如何确定梯度下降的步长?

  1. 固定步长

  2. line search方法。 首先指定一个步长μ,然后根据这一步长进行更新,并判断更新后损失函数有没有下降,有下降就直接进行下一步,没有下降就按一定比例不断缩小步长μ,循环十次,直到可以让损失函数的值下降。

    (还有很多方法)

3.2 牛顿法

牛顿法

[定义]:In calculus, Newton’s method is an iterative method for finding the roots of a differentiable function f (i.e. solutions to the equation f(x)=0). In optimization, Newton’s method is applied to the derivative f ′ of a twice-differentiable function f to find the roots of the derivative (solutions to f ′(x)=0), also known as thestationary points of f. (摘自维基)

[翻译]:在微积分学中,牛顿法是一个迭代求可微函数的根的方法。在优化中,牛顿法被应用对二次可微函数f,求解其偏导数的根,也被看作f的驻点。

对θ应用牛顿法的公式: θ=θLθ(2L2θ)1

[理论依据]:

我们需要求f‘(x)=0,f’(x)的泰勒的二次展开式有:

f(x)=f(x0)+Δxf′′(x0)) (其中,Δx = x-x0)

我们知道,这个式子在Δx无限趋近于0时成立。我们需要求偏导数为0,则令f(x)为偏导数。则该式等价于:

0=f(x0)+Δxf′′(x0)
Δx=f(x0)f′′(x0)

还有拟牛顿法等,在此就不一一介绍了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值