第一章.统计学习方法概论.1.3梯度下降法

本课程来自深度之眼,部分截图来自课程视频以及李航老师的《统计学习方法》第二版。
公式输入请参考:在线Latex公式
梯度下降法是一种迭代算法。选取适当的初值 x 0 x^0 x0,不断迭代,更新 x x x的值,进行目标函数的极小化,直到收敛。这个方法应该大部分人都很熟悉,在NG和李宏毅的课程里面都有涉及,提几个点。
1.这个方法什么时候不适用
2.多个极值点的情况是否能保证一定会找到最优点:当目标函数是凸函数时,梯度下降法的解是全局最优解。一般情况下,其解不保证是全局最优解。梯度下降法的收敛速度也未必是很快的。
下面直接看例子

例子

在这里插入图片描述
上图是函数 f ( x ) = ( x − 1 ) 2 + 0.5 f(x)=(x-1)^2+0.5 f(x)=(x1)2+0.5,使用GD计算其最小值,步长 η = 0.2 \eta=0.2 η=0.2,初始点 x 0 = 5 x^0=5 x0=5

  1. 求导
    f ′ ( x ) = 2 ( x − 1 ) f'(x)=2(x-1) f(x)=2(x1)
  2. 计算初始位置 x 0 = 5 x_0=5 x0=5的梯度
    f ′ ( x 0 ) = 2 ( x 0 − 1 ) = 2 ( 5 − 1 ) = 8 f'(x^0)=2(x^0-1)=2(5-1)=8 f(x0)=2(x01)=2(51)=8
  3. 根据步长更新下一个位置 x 1 x^1 x1
    x 1 = x 0 − f ′ ( x 0 ) η = 5 − 8 × 0.2 = 3.4 x^1=x^0-f'(x^0)\eta=5-8\times0.2=3.4 x1=x0f(x0)η=58×0.2=3.4
  4. 计算当前位置 x 1 x_1 x1的梯度
    f ′ ( x 1 ) = 2 ( x 1 − 1 ) = 2 ( 3.4 − 1 ) = 4.8 f'(x^1)=2(x^1-1)=2(3.4-1)=4.8 f(x1)=2(x11)=2(3.41)=4.8
  5. 根据步长更新下一个位置 x 2 x_2 x2
    x 2 = x 1 − f ′ ( x 1 ) η = 3.4 − 4.8 × 2 = 2.44 x^2=x^1-f'(x^1)\eta=3.4-4.8\times2=2.44 x2=x1f(x1)η=3.44.8×2=2.44

不断重复,直到梯度 f ′ ( x ) f'(x) f(x)很小很小后停止
在这里插入图片描述

GD数学表示

输入:目标函数 f ( x ) f(x) f(x),梯度函数 g ( x ) = Δ f ( x ) g(x)=\Delta f(x) g(x)=Δf(x),计算精度 ϵ \epsilon ϵ,步长 η \eta η
输出: f ( x ) f(x) f(x)的极小值点 x ∗ x^* x
(1)取初始值 x 0 ∈ R n x^0\in R^n x0Rn,取 k = 0 k=0 k=0
(2)计算 f ( x k ) f(x^k) f(xk)
(3)计算梯度 g k = g ( x ( k ) ) g_k=g(x^{(k)}) gk=g(x(k)),当 ∣ ∣ g k ∣ ∣ < ϵ ||g_k||<\epsilon gk<ϵ时,停止迭代,否则, x k + 1 = x k − η ∗ g k x^{k+1}=x^k-\eta*g_k xk+1=xkηgk,重新转至步骤2

总结

1.梯度下降法在每一步时计算当前位置的梯度,由此明白该往什么方向走能够使函数值下降。
2.参数步长决定了每步走的幅度。太大最后接近极值后不容易收敛,太小接近极值要花很多时间。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oldmao_2000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值